From aedc4d6e3d579b515dac9ac2ca250f25ab548fea Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 17 Oct 2012 17:27:17 +0200 Subject: Kit: emit kitUpdated signals on changes to devices/toolchains/qt That is even if the id did not change, but the actual objects for those ids changed. Change-Id: Ib176f18cf66b11436d046bf08a81db27fce458f9 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/kitinformation.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/plugins/projectexplorer/kitinformation.cpp') diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index 50c721c2e6..6d0b3a6406 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -130,6 +130,8 @@ ToolChainKitInformation::ToolChainKitInformation() this, SIGNAL(validationNeeded())); connect(ToolChainManager::instance(), SIGNAL(toolChainUpdated(ProjectExplorer::ToolChain*)), this, SIGNAL(validationNeeded())); + connect(ToolChainManager::instance(), SIGNAL(toolChainUpdated(ProjectExplorer::ToolChain*)), + this, SLOT(toolChainUpdated(ProjectExplorer::ToolChain*))); } Core::Id ToolChainKitInformation::dataId() const @@ -235,6 +237,13 @@ QString ToolChainKitInformation::msgNoToolChainInTarget() return tr("No compiler set in kit."); } +void ToolChainKitInformation::toolChainUpdated(ToolChain *tc) +{ + foreach (Kit *k, KitManager::instance()->kits()) + if (toolChain(k) == tc) + notifyAboutUpdate(k); +} + // -------------------------------------------------------------------------- // DeviceTypeInformation: // -------------------------------------------------------------------------- @@ -317,6 +326,8 @@ DeviceKitInformation::DeviceKitInformation() this, SIGNAL(validationNeeded())); connect(DeviceManager::instance(), SIGNAL(deviceUpdated(Core::Id)), this, SIGNAL(validationNeeded())); + connect(DeviceManager::instance(), SIGNAL(deviceUpdated(Core::Id)), + this, SLOT(deviceUpdated(Core::Id))); } Core::Id DeviceKitInformation::dataId() const @@ -403,4 +414,11 @@ void DeviceKitInformation::setDeviceId(Kit *k, const Core::Id id) k->setValue(Core::Id(DEVICE_INFORMATION), id.toString()); } +void DeviceKitInformation::deviceUpdated(const Core::Id &id) +{ + foreach (Kit *k, KitManager::instance()->kits()) + if (deviceId(k) == id) + notifyAboutUpdate(k); +} + } // namespace ProjectExplorer -- cgit v1.2.1