Core: Modernize connections in ExternalToolManager

Change-Id: I1be66d132886da0b1bde4fe5578fc64bcd2f8e98
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2015-02-18 18:11:49 +01:00
parent 243a0e54be
commit 6c9ea34f9f
2 changed files with 9 additions and 23 deletions

View File

@@ -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<QAction *>(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<QString, QList<ExternalTool *> > ExternalToolManager::toolsByCategory()
{
return d->m_categoryMap;
@@ -246,9 +237,13 @@ void ExternalToolManager::setToolsByCategory(const QMap<QString, QList<ExternalT
command = ActionManager::command(externalToolsPrefix.withSuffix(toolId));
} else {
action = new QAction(tool->displayName(), 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);

View File

@@ -58,10 +58,6 @@ public:
signals:
void replaceSelectionRequested(const QString &text);
private slots:
void menuActivated();
void openPreferences();
};
} // namespace Core