diff options
| author | Daniel Teske <daniel.teske@digia.com> | 2013-08-28 13:34:24 +0200 |
|---|---|---|
| committer | Daniel Teske <daniel.teske@digia.com> | 2013-09-02 11:37:05 +0200 |
| commit | 0aae98fb1379ef3a9a4f29db0d7cb61245e5633b (patch) | |
| tree | 80c443038f85eb2162e72d8ed6e1f59c5ddd59a7 /src/plugins/android/androidconfigurations.cpp | |
| parent | 7dd56b5b166f4e55728c413ba99a7d7d1c27e925 (diff) | |
| download | qt-creator-0aae98fb1379ef3a9a4f29db0d7cb61245e5633b.tar.gz | |
Android: Only create Kits for the newest toolchains
It's rare that users will want older toolchains.
In updateAutomaticKits distinguish between a Kit being removed since
the toolchain doesn't exist anymore. Which happens on e.g. changing
the ndk path. If the toolchain still exists, then it isn't the
newest anymore, so demote the Kit to a manual kit thus enabling the
user to remove it if he no longer needs it.
Change-Id: I59203abc9bed5f2c46a002cea68fd72a84283840
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/android/androidconfigurations.cpp')
| -rw-r--r-- | src/plugins/android/androidconfigurations.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index d1de89ba31..ac4bf5ead5 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -779,6 +779,8 @@ void AndroidConfigurations::updateAutomaticKitList() foreach (AndroidToolChain *tc, toolchains) { QList<QtSupport::BaseQtVersion *> qtVersions = qtVersionsForArch.value(tc->targetAbi().architecture()); foreach (QtSupport::BaseQtVersion *qt, qtVersions) { + if (tc->secondaryToolChain()) + continue; Kit *newKit = new Kit; newKit->setAutoDetected(true); newKit->setIconPath(Utils::FileName::fromString(QLatin1String(Constants::ANDROID_SETTINGS_CATEGORY_ICON))); @@ -809,8 +811,15 @@ void AndroidConfigurations::updateAutomaticKitList() } } - foreach (Kit *k, existingKits) - KitManager::deregisterKit(k); + foreach (Kit *k, existingKits) { + ProjectExplorer::ToolChain *tc = ToolChainKitInformation::toolChain(k); + if (tc && tc->type() == QLatin1String(Android::Constants::ANDROID_TOOLCHAIN_TYPE)) { + k->makeUnSticky(); + k->setAutoDetected(false); + } else { + KitManager::deregisterKit(k); + } + } foreach (Kit *kit, newKits) { AndroidToolChain *tc = static_cast<AndroidToolChain *>(ToolChainKitInformation::toolChain(kit)); |
