summaryrefslogtreecommitdiff
path: root/src/plugins/android/androidconfigurations.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2013-08-28 13:34:24 +0200
committerDaniel Teske <daniel.teske@digia.com>2013-09-02 11:37:05 +0200
commit0aae98fb1379ef3a9a4f29db0d7cb61245e5633b (patch)
tree80c443038f85eb2162e72d8ed6e1f59c5ddd59a7 /src/plugins/android/androidconfigurations.cpp
parent7dd56b5b166f4e55728c413ba99a7d7d1c27e925 (diff)
downloadqt-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.cpp13
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));