From 16233c51cd31c94248ddaa78ba515451d12e2298 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 16 Aug 2023 09:08:45 +0200 Subject: [PATCH] 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 --- src/plugins/projectexplorer/kitmanager.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 27e25e615c7..25987985edc 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -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 &init, Utils::Id id) @@ -645,6 +643,7 @@ Kit *KitManager::registerKit(const std::function &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)