diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 4d2ba8384eb..16e910c181b 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -155,8 +155,16 @@ QList Kit::validate() { QList result; QList infoList = KitManager::instance()->kitInformation(); - foreach (KitInformation *i, infoList) - result.append(i->validate(this)); + d->m_isValid = true; + foreach (KitInformation *i, infoList) { + QList tmp = i->validate(this); + foreach (const Task &t, tmp) { + if (t.type == Task::Error) + d->m_isValid = false; + } + result.append(tmp); + } + qSort(result); return result; } @@ -387,13 +395,9 @@ void Kit::setAutoDetected(bool detected) d->m_autodetected = detected; } -void Kit::setValid(bool valid) -{ - d->m_isValid = valid; -} - void Kit::kitUpdated() { + validate(); KitManager::instance()->notifyAboutUpdate(this); } diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index 19ecee3af81..2d8549e7ad8 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -93,7 +93,6 @@ private: void operator=(const Kit &other); void setAutoDetected(bool detected); - void setValid(bool valid); void kitUpdated(); @@ -103,7 +102,6 @@ private: Internal::KitPrivate *d; friend class KitManager; - friend class Internal::KitManagerPrivate; }; } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index ec12df52c67..6feba86e04e 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -80,7 +80,6 @@ class KitManagerPrivate public: KitManagerPrivate(); ~KitManagerPrivate(); - QList validateKit(Kit *k) const; Kit *m_defaultKit; bool m_initialized; @@ -101,22 +100,6 @@ KitManagerPrivate::~KitManagerPrivate() delete m_writer; } -QList KitManagerPrivate::validateKit(Kit *k) const -{ - Q_ASSERT(k); - QList result; - bool hasError = false; - foreach (KitInformation *ki, m_informationList) { - QList tmp = ki->validate(k); - foreach (const Task &t, tmp) - if (t.type == Task::Error) - hasError = true; - result << tmp; - } - k->setValid(!hasError); - return result; -} - } // namespace Internal // -------------------------------------------------------------------------- @@ -388,7 +371,6 @@ void KitManager::notifyAboutUpdate(ProjectExplorer::Kit *k) { if (!k || !kits().contains(k)) return; - d->validateKit(k); emit kitUpdated(k); } @@ -432,13 +414,6 @@ void KitManager::deregisterKit(Kit *k) delete k; } -QList KitManager::validateKit(Kit *k) -{ - QList result = d->validateKit(k); - qSort(result); - return result; -} - void KitManager::setDefaultKit(Kit *k) { if (d->m_defaultKit == k) @@ -452,7 +427,7 @@ void KitManager::setDefaultKit(Kit *k) void KitManager::validateKits() { foreach (Kit *k, kits()) - d->validateKit(k); + k->validate(); } void KitManager::addKit(Kit *k) @@ -460,7 +435,6 @@ void KitManager::addKit(Kit *k) if (!k) return; k->setDisplayName(k->displayName()); // make name unique - d->validateKit(k); d->m_kitList.append(k); if (!d->m_defaultKit || (!d->m_defaultKit->isValid() && k->isValid())) diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h index b417759e5b7..6035bef796e 100644 --- a/src/plugins/projectexplorer/kitmanager.h +++ b/src/plugins/projectexplorer/kitmanager.h @@ -115,7 +115,6 @@ public: public slots: bool registerKit(ProjectExplorer::Kit *k); void deregisterKit(ProjectExplorer::Kit *k); - QList validateKit(ProjectExplorer::Kit *k); void setDefaultKit(ProjectExplorer::Kit *k); void saveKits();