diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp index b243d874351..15b700f5fda 100644 --- a/src/plugins/projectexplorer/buildstepspage.cpp +++ b/src/plugins/projectexplorer/buildstepspage.cpp @@ -301,16 +301,21 @@ void BuildStepListWidget::updateAddBuildStepMenu() // Ask the user which one to add QMenu *menu = m_addButton->menu(); - m_addBuildStepHash.clear(); menu->clear(); if (!map.isEmpty()) { QMap >::const_iterator it, end; end = map.constEnd(); for (it = map.constBegin(); it != end; ++it) { QAction *action = menu->addAction(it.key()); - connect(action, SIGNAL(triggered()), - this, SLOT(triggerAddBuildStep())); - m_addBuildStepHash.insert(action, it.value()); + IBuildStepFactory *factory = it.value().second; + Core::Id id = it.value().first; + + connect(action, &QAction::triggered, [id, factory, this]() { + BuildStep *newStep = factory->create(m_buildStepList, id); + QTC_ASSERT(newStep, return); + int pos = m_buildStepList->count(); + m_buildStepList->insertStep(pos, newStep); + }); } } } @@ -341,17 +346,6 @@ void BuildStepListWidget::addBuildStepWidget(int pos, BuildStep *step) m_removeMapper, SLOT(map())); } -void BuildStepListWidget::triggerAddBuildStep() -{ - if (QAction *action = qobject_cast(sender())) { - QPair pair = m_addBuildStepHash.value(action); - BuildStep *newStep = pair.second->create(m_buildStepList, pair.first); - QTC_ASSERT(newStep, return); - int pos = m_buildStepList->count(); - m_buildStepList->insertStep(pos, newStep); - } -} - void BuildStepListWidget::addBuildStep(int pos) { BuildStep *newStep = m_buildStepList->at(pos); diff --git a/src/plugins/projectexplorer/buildstepspage.h b/src/plugins/projectexplorer/buildstepspage.h index c995f1eee4d..a92eedd1242 100644 --- a/src/plugins/projectexplorer/buildstepspage.h +++ b/src/plugins/projectexplorer/buildstepspage.h @@ -109,7 +109,6 @@ public: private slots: void updateAddBuildStepMenu(); - void triggerAddBuildStep(); void addBuildStep(int pos); void updateSummary(); void updateAdditionalSummary(); @@ -127,7 +126,6 @@ private: void addBuildStepWidget(int pos, BuildStep *step); BuildStepList *m_buildStepList; - QHash > m_addBuildStepHash; QList m_buildStepsData; diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 1d3831875f1..1535809d455 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -848,19 +848,19 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er // build without dependencies action d->m_buildProjectOnlyAction = new QAction(tr("Build Without Dependencies"), this); - cmd = ActionManager::registerAction(d->m_buildProjectOnlyAction, Constants::BUILDPROJECTONLY, globalcontext); + ActionManager::registerAction(d->m_buildProjectOnlyAction, Constants::BUILDPROJECTONLY, globalcontext); // rebuild without dependencies action d->m_rebuildProjectOnlyAction = new QAction(tr("Rebuild Without Dependencies"), this); - cmd = ActionManager::registerAction(d->m_rebuildProjectOnlyAction, Constants::REBUILDPROJECTONLY, globalcontext); + ActionManager::registerAction(d->m_rebuildProjectOnlyAction, Constants::REBUILDPROJECTONLY, globalcontext); // deploy without dependencies action d->m_deployProjectOnlyAction = new QAction(tr("Deploy Without Dependencies"), this); - cmd = ActionManager::registerAction(d->m_deployProjectOnlyAction, Constants::DEPLOYPROJECTONLY, globalcontext); + ActionManager::registerAction(d->m_deployProjectOnlyAction, Constants::DEPLOYPROJECTONLY, globalcontext); // clean without dependencies action d->m_cleanProjectOnlyAction = new QAction(tr("Clean Without Dependencies"), this); - cmd = ActionManager::registerAction(d->m_cleanProjectOnlyAction, Constants::CLEANPROJECTONLY, globalcontext); + ActionManager::registerAction(d->m_cleanProjectOnlyAction, Constants::CLEANPROJECTONLY, globalcontext); // deploy action (context menu) d->m_deployActionContextMenu = new QAction(tr("Deploy"), this); diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp index cfa30684181..d884fc26992 100644 --- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp @@ -250,14 +250,15 @@ void RunSettingsWidget::aboutToShowAddMenu() QList ids = factory->availableCreationIds(m_target); foreach (Core::Id id, ids) { QAction *action = new QAction(factory->displayNameForId(id), m_addRunMenu); - FactoryAndId fai; - fai.factory = factory; - fai.id = id; - QVariant v; - v.setValue(fai); - action->setData(v); - connect(action, SIGNAL(triggered()), - this, SLOT(addRunConfiguration())); + connect(action, &QAction::triggered, [factory, id, this]() { + RunConfiguration *newRC = factory->create(m_target, id); + if (!newRC) + return; + QTC_CHECK(newRC->id() == id); + m_target->addRunConfiguration(newRC); + m_target->setActiveRunConfiguration(newRC); + m_removeRunToolButton->setEnabled(m_target->runConfigurations().size() > 1); + }); menuActions.append(action); } } @@ -269,21 +270,6 @@ void RunSettingsWidget::aboutToShowAddMenu() m_addRunMenu->addAction(action); } -void RunSettingsWidget::addRunConfiguration() -{ - QAction *act = qobject_cast(sender()); - if (!act) - return; - FactoryAndId fai = act->data().value(); - RunConfiguration *newRC = fai.factory->create(m_target, fai.id); - if (!newRC) - return; - QTC_CHECK(newRC->id() == fai.id); - m_target->addRunConfiguration(newRC); - m_target->setActiveRunConfiguration(newRC); - m_removeRunToolButton->setEnabled(m_target->runConfigurations().size() > 1); -} - void RunSettingsWidget::cloneRunConfiguration() { RunConfiguration* activeRunConfiguration = m_target->activeRunConfiguration(); @@ -397,27 +383,21 @@ void RunSettingsWidget::aboutToShowDeployMenu() action->setData(QVariant::fromValue(data)); connect(action, SIGNAL(triggered()), this, SLOT(addDeployConfiguration())); + connect(action, &QAction::triggered, [factory, id, this]() { + if (!factory->canCreate(m_target, id)) + return; + DeployConfiguration *newDc = factory->create(m_target, id); + if (!newDc) + return; + QTC_CHECK(!newDc || newDc->id() == id); + m_target->addDeployConfiguration(newDc); + m_target->setActiveDeployConfiguration(newDc); + m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1); + }); } } } -void RunSettingsWidget::addDeployConfiguration() -{ - QAction *act = qobject_cast(sender()); - if (!act) - return; - DeployFactoryAndId data = act->data().value(); - if (!data.factory->canCreate(m_target, data.id)) - return; - DeployConfiguration *newDc = data.factory->create(m_target, data.id); - if (!newDc) - return; - QTC_CHECK(!newDc || newDc->id() == data.id); - m_target->addDeployConfiguration(newDc); - m_target->setActiveDeployConfiguration(newDc); - m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1); -} - void RunSettingsWidget::removeDeployConfiguration() { DeployConfiguration *dc = m_target->activeDeployConfiguration(); diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.h b/src/plugins/projectexplorer/runsettingspropertiespage.h index 3c33eb7cbef..1deb7d7976a 100644 --- a/src/plugins/projectexplorer/runsettingspropertiespage.h +++ b/src/plugins/projectexplorer/runsettingspropertiespage.h @@ -67,14 +67,12 @@ public: private slots: void currentRunConfigurationChanged(int index); void aboutToShowAddMenu(); - void addRunConfiguration(); void cloneRunConfiguration(); void removeRunConfiguration(); void activeRunConfigurationChanged(); void renameRunConfiguration(); void currentDeployConfigurationChanged(int index); void aboutToShowDeployMenu(); - void addDeployConfiguration(); void removeDeployConfiguration(); void activeDeployConfigurationChanged(); void renameDeployConfiguration(); diff --git a/src/plugins/qmakeprojectmanager/wizards/librarywizarddialog.cpp b/src/plugins/qmakeprojectmanager/wizards/librarywizarddialog.cpp index edb5c5c8038..9f842552e90 100644 --- a/src/plugins/qmakeprojectmanager/wizards/librarywizarddialog.cpp +++ b/src/plugins/qmakeprojectmanager/wizards/librarywizarddialog.cpp @@ -165,14 +165,16 @@ LibraryWizardDialog::LibraryWizardDialog(const QString &templateName, Utils::WizardProgressItem *filesItem = wizardProgress()->item(m_filesPageId); filesItem->setTitle(tr("Details")); - if (m_targetPageId != -1) { - targetItem->setNextItems(QList() - << modulesItem << filesItem); - targetItem->setNextShownItem(0); - } else { - introItem->setNextItems(QList() - << modulesItem << filesItem); - introItem->setNextShownItem(0); + if (targetItem) { + if (m_targetPageId != -1) { + targetItem->setNextItems(QList() + << modulesItem << filesItem); + targetItem->setNextShownItem(0); + } else { + introItem->setNextItems(QList() + << modulesItem << filesItem); + introItem->setNextShownItem(0); + } } connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(slotCurrentIdChanged(int))); diff --git a/src/plugins/qmldesigner/shortcutmanager.cpp b/src/plugins/qmldesigner/shortcutmanager.cpp index 3594d1c23dd..eedade62bcc 100644 --- a/src/plugins/qmldesigner/shortcutmanager.cpp +++ b/src/plugins/qmldesigner/shortcutmanager.cpp @@ -212,7 +212,7 @@ void ShortCutManager::updateActions(Core::IEditor* currentEditor) && document->isModified()); QString quotedName; - if (currentEditor) + if (currentEditor && document) quotedName = '"' + document->displayName() + '"'; m_saveAsAction.setText(tr("Save %1 As...").arg(quotedName));