From a25cc26852738c3e12a3ff75f4f6df51d14b6ce1 Mon Sep 17 00:00:00 2001 From: El Mehdi Fekari Date: Tue, 10 Dec 2013 11:08:02 +0100 Subject: [PATCH] Kit: Add AutoDetectionSource to Kits This allows plugins (e.g Andoird, BlackBerry...) to better control the kits that are auto generated from their SDK/Target sources. Change-Id: I250451a21364780d083ef99af232ae914f8756f4 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/kit.cpp | 16 ++++++++++++++++ src/plugins/projectexplorer/kit.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 7d16bc23a7e..1676d4a30e6 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -49,6 +49,7 @@ namespace { const char ID_KEY[] = "PE.Profile.Id"; const char DISPLAYNAME_KEY[] = "PE.Profile.Name"; const char AUTODETECTED_KEY[] = "PE.Profile.AutoDetected"; +const char AUTODETECTIONSOURCE_KEY[] = "PE.Profile.AutoDetectionSource"; const char SDK_PROVIDED_KEY[] = "PE.Profile.SDK"; const char DATA_KEY[] = "PE.Profile.Data"; const char ICON_KEY[] = "PE.Profile.Icon"; @@ -71,6 +72,7 @@ public: m_id(id), m_nestedBlockingLevel(0), m_autodetected(false), + m_autoDetectionSource(QString()), m_sdkProvided(false), m_isValid(true), m_hasWarning(false), @@ -89,6 +91,7 @@ public: Id m_id; int m_nestedBlockingLevel; bool m_autodetected; + QString m_autoDetectionSource; bool m_sdkProvided; bool m_isValid; bool m_hasWarning; @@ -124,6 +127,7 @@ Kit::Kit(const QVariantMap &data) : d->m_id = Id::fromSetting(data.value(QLatin1String(ID_KEY))); d->m_autodetected = data.value(QLatin1String(AUTODETECTED_KEY)).toBool(); + d->m_autoDetectionSource = data.value(QLatin1String(AUTODETECTIONSOURCE_KEY)).toString(); // if we don't have that setting assume that autodetected implies sdk QVariant value = data.value(QLatin1String(SDK_PROVIDED_KEY)); @@ -197,6 +201,7 @@ void Kit::copyFrom(const Kit *k) d->m_iconPath = k->d->m_iconPath; d->m_icon = k->d->m_icon; d->m_autodetected = k->d->m_autodetected; + d->m_autoDetectionSource = k->d->m_autoDetectionSource; d->m_displayName = k->d->m_displayName; d->m_mustNotify = true; d->m_mustNotifyAboutDisplayName = true; @@ -321,6 +326,11 @@ bool Kit::isAutoDetected() const return d->m_autodetected; } +QString Kit::autoDetectionSource() const +{ + return d->m_autoDetectionSource; +} + bool Kit::isSdkProvided() const { return d->m_sdkProvided; @@ -418,6 +428,7 @@ QVariantMap Kit::toMap() const data.insert(QLatin1String(ID_KEY), QString::fromLatin1(d->m_id.name())); data.insert(QLatin1String(DISPLAYNAME_KEY), d->m_displayName); data.insert(QLatin1String(AUTODETECTED_KEY), d->m_autodetected); + data.insert(QLatin1String(AUTODETECTIONSOURCE_KEY), d->m_autoDetectionSource); data.insert(QLatin1String(SDK_PROVIDED_KEY), d->m_sdkProvided); data.insert(QLatin1String(ICON_KEY), d->m_iconPath.toString()); @@ -496,6 +507,11 @@ void Kit::setAutoDetected(bool detected) d->m_autodetected = detected; } +void Kit::setAutoDetectionSource(const QString &autoDetectionSource) +{ + d->m_autoDetectionSource = autoDetectionSource; +} + void Kit::setSdkProvided(bool sdkProvided) { d->m_sdkProvided = sdkProvided; diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index 0bd64ccf7a2..14002ce025e 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -76,6 +76,7 @@ public: QString fileSystemFriendlyName() const; bool isAutoDetected() const; + QString autoDetectionSource() const; bool isSdkProvided() const; Core::Id id() const; @@ -102,6 +103,7 @@ public: // Note: Stickyness is *not* saved! void setAutoDetected(bool detected); + void setAutoDetectionSource(const QString &autoDetectionSource); void makeSticky(); void setSticky(Core::Id id, bool b); void makeUnSticky();