diff --git a/src/plugins/coreplugin/externaltoolmanager.cpp b/src/plugins/coreplugin/externaltoolmanager.cpp index 8221accc9ba..bbeca191a57 100644 --- a/src/plugins/coreplugin/externaltoolmanager.cpp +++ b/src/plugins/coreplugin/externaltoolmanager.cpp @@ -80,7 +80,9 @@ ExternalToolManager::ExternalToolManager() d->m_configureSeparator = new QAction(this); d->m_configureSeparator->setSeparator(true); d->m_configureAction = new QAction(ICore::msgShowOptionsDialog(), this); - connect(d->m_configureAction, SIGNAL(triggered()), this, SLOT(openPreferences())); + connect(d->m_configureAction, &QAction::triggered, [this] { + ICore::showOptionsDialog(Constants::SETTINGS_CATEGORY_CORE, Constants::SETTINGS_ID_TOOLS); + }); // add the external tools menu ActionContainer *mexternaltools = ActionManager::createMenu(Id(Constants::M_TOOLS_EXTERNAL)); @@ -159,17 +161,6 @@ static void parseDirectory(const QString &directory, } } -void ExternalToolManager::menuActivated() -{ - QAction *action = qobject_cast(sender()); - QTC_ASSERT(action, return); - ExternalTool *tool = d->m_tools.value(action->data().toString()); - QTC_ASSERT(tool, return); - ExternalToolRunner *runner = new ExternalToolRunner(tool); - if (runner->hasError()) - MessageManager::write(runner->errorString()); -} - QMap > ExternalToolManager::toolsByCategory() { return d->m_categoryMap; @@ -246,9 +237,13 @@ void ExternalToolManager::setToolsByCategory(const QMapdisplayName(), m_instance); - action->setData(toolId); d->m_actions.insert(toolId, action); - connect(action, SIGNAL(triggered()), m_instance, SLOT(menuActivated())); + connect(action, &QAction::triggered, [tool] { + ExternalToolRunner *runner = new ExternalToolRunner(tool); + if (runner->hasError()) + MessageManager::write(runner->errorString()); + }); + command = ActionManager::registerAction(action, externalToolsPrefix.withSuffix(toolId), Context(Constants::C_GLOBAL)); command->setAttribute(Command::CA_UpdateText); } @@ -330,11 +325,6 @@ static void writeSettings() settings->endGroup(); } -void ExternalToolManager::openPreferences() -{ - ICore::showOptionsDialog(Constants::SETTINGS_CATEGORY_CORE, Constants::SETTINGS_ID_TOOLS); -} - void ExternalToolManager::emitReplaceSelectionRequested(const QString &output) { emit m_instance->replaceSelectionRequested(output); diff --git a/src/plugins/coreplugin/externaltoolmanager.h b/src/plugins/coreplugin/externaltoolmanager.h index bc69106007c..62fcdc833c3 100644 --- a/src/plugins/coreplugin/externaltoolmanager.h +++ b/src/plugins/coreplugin/externaltoolmanager.h @@ -58,10 +58,6 @@ public: signals: void replaceSelectionRequested(const QString &text); - -private slots: - void menuActivated(); - void openPreferences(); }; } // namespace Core