forked from qt-creator/qt-creator
Analyzer: Move isRunnable() decision to AnalyzerAction
Closer to where the information is. Change-Id: I3ff7e933a99baf8a18e6532213aef0539a364a76 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
@@ -153,7 +153,6 @@ public:
|
|||||||
void handleToolFinished();
|
void handleToolFinished();
|
||||||
void saveToolSettings(Id toolId);
|
void saveToolSettings(Id toolId);
|
||||||
void loadToolSettings(Id toolId);
|
void loadToolSettings(Id toolId);
|
||||||
bool isActionRunnable(AnalyzerAction *action) const;
|
|
||||||
void startTool();
|
void startTool();
|
||||||
void selectToolboxAction(int);
|
void selectToolboxAction(int);
|
||||||
void modeChanged(IMode *mode);
|
void modeChanged(IMode *mode);
|
||||||
@@ -419,16 +418,6 @@ bool AnalyzerManagerPrivate::showPromptDialog(const QString &title, const QStrin
|
|||||||
return messageBox.clickedStandardButton() == QDialogButtonBox::Yes;
|
return messageBox.clickedStandardButton() == QDialogButtonBox::Yes;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AnalyzerManagerPrivate::isActionRunnable(AnalyzerAction *action) const
|
|
||||||
{
|
|
||||||
if (!action || m_isRunning)
|
|
||||||
return false;
|
|
||||||
if (action->startMode() == StartRemote)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return ProjectExplorerPlugin::canRun(SessionManager::startupProject(), action->runMode(), 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AnalyzerManagerPrivate::startTool()
|
void AnalyzerManagerPrivate::startTool()
|
||||||
{
|
{
|
||||||
QTC_ASSERT(m_currentAction, return);
|
QTC_ASSERT(m_currentAction, return);
|
||||||
@@ -583,12 +572,12 @@ void AnalyzerManagerPrivate::updateRunActions()
|
|||||||
ProjectExplorerPlugin::canRun(SessionManager::startupProject(),
|
ProjectExplorerPlugin::canRun(SessionManager::startupProject(),
|
||||||
m_currentAction->runMode(), &disabledReason);
|
m_currentAction->runMode(), &disabledReason);
|
||||||
|
|
||||||
m_startAction->setEnabled(isActionRunnable(m_currentAction));
|
m_startAction->setEnabled(!m_isRunning && m_currentAction && m_currentAction->isRunnable());
|
||||||
m_startAction->setToolTip(disabledReason);
|
m_startAction->setToolTip(disabledReason);
|
||||||
m_toolBox->setEnabled(!m_isRunning);
|
m_toolBox->setEnabled(!m_isRunning);
|
||||||
m_stopAction->setEnabled(m_isRunning);
|
m_stopAction->setEnabled(m_isRunning);
|
||||||
foreach (AnalyzerAction *action, m_actions)
|
foreach (AnalyzerAction *action, m_actions)
|
||||||
action->setEnabled(isActionRunnable(action));
|
action->setEnabled(!m_isRunning && action->isRunnable());
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
@@ -62,6 +62,14 @@ AnalyzerAction::AnalyzerAction(QObject *parent)
|
|||||||
: QAction(parent)
|
: QAction(parent)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
bool AnalyzerAction::isRunnable() const
|
||||||
|
{
|
||||||
|
if (startMode() == StartRemote)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return ProjectExplorerPlugin::canRun(SessionManager::startupProject(), runMode(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
static bool buildTypeAccepted(ToolMode toolMode, BuildConfiguration::BuildType buildType)
|
static bool buildTypeAccepted(ToolMode toolMode, BuildConfiguration::BuildType buildType)
|
||||||
{
|
{
|
||||||
if (toolMode == AnyMode)
|
if (toolMode == AnyMode)
|
||||||
|
@@ -94,6 +94,8 @@ public:
|
|||||||
ProjectExplorer::RunMode runMode() const { return m_runMode; }
|
ProjectExplorer::RunMode runMode() const { return m_runMode; }
|
||||||
void setRunMode(ProjectExplorer::RunMode mode) { m_runMode = mode; }
|
void setRunMode(ProjectExplorer::RunMode mode) { m_runMode = mode; }
|
||||||
|
|
||||||
|
bool isRunnable() const;
|
||||||
|
|
||||||
/// Creates all widgets used by the tool.
|
/// Creates all widgets used by the tool.
|
||||||
/// Returns a control widget which will be shown in the status bar when
|
/// Returns a control widget which will be shown in the status bar when
|
||||||
/// this tool is selected.
|
/// this tool is selected.
|
||||||
|
Reference in New Issue
Block a user