MiniProjectTargetSelector: Update Kit area on Kit changes

Simplify the code a bit, and make it work while at it:-)

Change-Id: I4eb613ce526e148c18588443e5153d6e0118fa01
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2015-04-21 16:28:07 +02:00
parent 4f383f77b4
commit acc35ab402

View File

@@ -549,6 +549,7 @@ KitAreaWidget::KitAreaWidget(QWidget *parent) : QWidget(parent),
m_layout(new QGridLayout(this)), m_kit(0) m_layout(new QGridLayout(this)), m_kit(0)
{ {
m_layout->setMargin(3); m_layout->setMargin(3);
connect(KitManager::instance(), &KitManager::kitUpdated, this, &KitAreaWidget::updateKit);
} }
KitAreaWidget::~KitAreaWidget() KitAreaWidget::~KitAreaWidget()
@@ -558,21 +559,17 @@ KitAreaWidget::~KitAreaWidget()
void KitAreaWidget::setKit(Kit *k) void KitAreaWidget::setKit(Kit *k)
{ {
if (k == m_kit)
return;
foreach (KitConfigWidget *w, m_widgets) foreach (KitConfigWidget *w, m_widgets)
delete(w); delete(w);
m_widgets.clear(); m_widgets.clear();
if (!k)
return;
foreach (QLabel *l, m_labels) foreach (QLabel *l, m_labels)
l->deleteLater(); l->deleteLater();
m_labels.clear(); m_labels.clear();
if (m_kit) {
disconnect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)),
this, SLOT(updateKit(ProjectExplorer::Kit*)));
}
int row = 0; int row = 0;
foreach (KitInformation *ki, KitManager::kitInformation()) { foreach (KitInformation *ki, KitManager::kitInformation()) {
if (k && k->isMutable(ki->id())) { if (k && k->isMutable(ki->id())) {
@@ -588,11 +585,6 @@ void KitAreaWidget::setKit(Kit *k)
} }
m_kit = k; m_kit = k;
if (m_kit) {
connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)),
this, SLOT(updateKit(ProjectExplorer::Kit*)));
}
setHidden(m_widgets.isEmpty()); setHidden(m_widgets.isEmpty());
} }