Add sdkProvided flag to Kits

Change-Id: Ic413ed46abd4455b5bc3d282326e95b9dd372b49
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Daniel Teske
2013-02-21 13:00:18 +01:00
parent 942326ae9b
commit 2a4f73c7b9
4 changed files with 25 additions and 1 deletions

View File

@@ -51,6 +51,7 @@ namespace {
const char ID_KEY[] = "PE.Profile.Id"; const char ID_KEY[] = "PE.Profile.Id";
const char DISPLAYNAME_KEY[] = "PE.Profile.Name"; const char DISPLAYNAME_KEY[] = "PE.Profile.Name";
const char AUTODETECTED_KEY[] = "PE.Profile.AutoDetected"; const char AUTODETECTED_KEY[] = "PE.Profile.AutoDetected";
const char SDK_PROVIDED_KEY[] = "PE.Profile.SDK";
const char DATA_KEY[] = "PE.Profile.Data"; const char DATA_KEY[] = "PE.Profile.Data";
const char ICON_KEY[] = "PE.Profile.Icon"; const char ICON_KEY[] = "PE.Profile.Icon";
@@ -86,6 +87,7 @@ public:
KitPrivate(Id id) : KitPrivate(Id id) :
m_id(id), m_id(id),
m_autodetected(false), m_autodetected(false),
m_sdkProvided(false),
m_isValid(true), m_isValid(true),
m_hasWarning(false), m_hasWarning(false),
m_nestedBlockingLevel(0), m_nestedBlockingLevel(0),
@@ -98,6 +100,7 @@ public:
QString m_displayName; QString m_displayName;
Id m_id; Id m_id;
bool m_autodetected; bool m_autodetected;
bool m_sdkProvided;
bool m_isValid; bool m_isValid;
bool m_hasWarning; bool m_hasWarning;
QIcon m_icon; QIcon m_icon;
@@ -306,6 +309,11 @@ bool Kit::isAutoDetected() const
return d->m_autodetected; return d->m_autodetected;
} }
bool Kit::isSdkProvided() const
{
return d->m_sdkProvided;
}
Id Kit::id() const Id Kit::id() const
{ {
return d->m_id; return d->m_id;
@@ -379,6 +387,7 @@ QVariantMap Kit::toMap() const
data.insert(QLatin1String(ID_KEY), QString::fromLatin1(d->m_id.name())); data.insert(QLatin1String(ID_KEY), QString::fromLatin1(d->m_id.name()));
data.insert(QLatin1String(DISPLAYNAME_KEY), d->m_displayName); data.insert(QLatin1String(DISPLAYNAME_KEY), d->m_displayName);
data.insert(QLatin1String(AUTODETECTED_KEY), d->m_autodetected); data.insert(QLatin1String(AUTODETECTED_KEY), d->m_autodetected);
data.insert(QLatin1String(SDK_PROVIDED_KEY), d->m_sdkProvided);
data.insert(QLatin1String(ICON_KEY), d->m_iconPath); data.insert(QLatin1String(ICON_KEY), d->m_iconPath);
QVariantMap extra; QVariantMap extra;
@@ -457,6 +466,12 @@ bool Kit::fromMap(const QVariantMap &data)
return false; return false;
d->m_id = id; d->m_id = id;
d->m_autodetected = data.value(QLatin1String(AUTODETECTED_KEY)).toBool(); d->m_autodetected = data.value(QLatin1String(AUTODETECTED_KEY)).toBool();
// if we don't have that setting assume that autodetected implies sdk
QVariant value = data.value(QLatin1String(SDK_PROVIDED_KEY));
if (value.isValid())
d->m_sdkProvided = value.toBool();
else
d->m_sdkProvided = d->m_autodetected;
setDisplayName(data.value(QLatin1String(DISPLAYNAME_KEY)).toString()); setDisplayName(data.value(QLatin1String(DISPLAYNAME_KEY)).toString());
setIconPath(data.value(QLatin1String(ICON_KEY)).toString()); setIconPath(data.value(QLatin1String(ICON_KEY)).toString());
@@ -472,6 +487,11 @@ void Kit::setAutoDetected(bool detected)
d->m_autodetected = detected; d->m_autodetected = detected;
} }
void Kit::setSdkProvided(bool sdkProvided)
{
d->m_sdkProvided = sdkProvided;
}
void Kit::kitUpdated() void Kit::kitUpdated()
{ {
if (d->m_nestedBlockingLevel > 0) { if (d->m_nestedBlockingLevel > 0) {

View File

@@ -97,6 +97,7 @@ public:
void copyFrom(const Kit *k); void copyFrom(const Kit *k);
private: private:
void setSdkProvided(bool sdkProvided);
~Kit(); ~Kit();
// Unimplemented. // Unimplemented.

View File

@@ -150,6 +150,7 @@ void KitManager::restoreKits()
// make sure we mark these as autodetected and run additional setup logic // make sure we mark these as autodetected and run additional setup logic
foreach (Kit *k, system.kits) { foreach (Kit *k, system.kits) {
k->setAutoDetected(true); k->setAutoDetected(true);
k->setSdkProvided(true);
k->setup(); k->setup();
} }
@@ -161,7 +162,7 @@ void KitManager::restoreKits()
// read all kits from user file // read all kits from user file
KitList userKits = restoreKits(settingsFileName()); KitList userKits = restoreKits(settingsFileName());
foreach (Kit *k, userKits.kits) { foreach (Kit *k, userKits.kits) {
if (k->isAutoDetected()) if (k->isSdkProvided())
kitsToCheck.append(k); kitsToCheck.append(k);
else else
kitsToRegister.append(k); kitsToRegister.append(k);
@@ -202,6 +203,7 @@ void KitManager::restoreKits()
if (kits().isEmpty()) { if (kits().isEmpty()) {
Kit *defaultKit = new Kit; // One kit using default values Kit *defaultKit = new Kit; // One kit using default values
defaultKit->setDisplayName(tr("Desktop")); defaultKit->setDisplayName(tr("Desktop"));
defaultKit->setSdkProvided(false);
defaultKit->setAutoDetected(false); defaultKit->setAutoDetected(false);
defaultKit->setIconPath(QLatin1String(":///DESKTOP///")); defaultKit->setIconPath(QLatin1String(":///DESKTOP///"));

View File

@@ -332,6 +332,7 @@ Kit *KitModel::markForAddition(Kit *baseKit)
if (baseKit) { if (baseKit) {
k->copyFrom(baseKit); k->copyFrom(baseKit);
k->setAutoDetected(false); // Make sure we have a manual kit! k->setAutoDetected(false); // Make sure we have a manual kit!
k->setSdkProvided(false);
k->setDisplayName(tr("Clone of %1").arg(k->displayName())); k->setDisplayName(tr("Clone of %1").arg(k->displayName()));
} else { } else {
k->setup(); k->setup();