forked from qt-creator/qt-creator
ProjectExplorer: Don't internally chain KitManager signal emission
Rather, emit directly in sequence. Saves a few cycles in the signal/slot machinery simplifies reasoning on the user side which signals to expect. Change-Id: Ib75f47a73e9731b506b9df3c713684a9cf59aa67 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -141,10 +141,6 @@ KitManager *KitManager::instance()
|
||||
KitManager::KitManager()
|
||||
{
|
||||
d = new KitManagerPrivate;
|
||||
|
||||
connect(this, &KitManager::kitAdded, this, &KitManager::kitsChanged);
|
||||
connect(this, &KitManager::kitRemoved, this, &KitManager::kitsChanged);
|
||||
connect(this, &KitManager::kitUpdated, this, &KitManager::kitsChanged);
|
||||
}
|
||||
|
||||
void KitManager::destroy()
|
||||
@@ -619,10 +615,12 @@ void KitManager::notifyAboutUpdate(Kit *k)
|
||||
if (!k || !isLoaded())
|
||||
return;
|
||||
|
||||
if (Utils::contains(d->m_kitList, k))
|
||||
if (Utils::contains(d->m_kitList, k)) {
|
||||
emit instance()->kitUpdated(k);
|
||||
else
|
||||
emit instance()->kitsChanged();
|
||||
} else {
|
||||
emit instance()->unmanagedKitUpdated(k);
|
||||
}
|
||||
}
|
||||
|
||||
Kit *KitManager::registerKit(const std::function<void (Kit *)> &init, Utils::Id id)
|
||||
@@ -645,6 +643,7 @@ Kit *KitManager::registerKit(const std::function<void (Kit *)> &init, Utils::Id
|
||||
setDefaultKit(kptr);
|
||||
|
||||
emit instance()->kitAdded(kptr);
|
||||
emit instance()->kitsChanged();
|
||||
return kptr;
|
||||
}
|
||||
|
||||
@@ -660,6 +659,7 @@ void KitManager::deregisterKit(Kit *k)
|
||||
setDefaultKit(newDefault);
|
||||
}
|
||||
emit instance()->kitRemoved(k);
|
||||
emit instance()->kitsChanged();
|
||||
}
|
||||
|
||||
void KitManager::setDefaultKit(Kit *k)
|
||||
|
||||
Reference in New Issue
Block a user