forked from qt-creator/qt-creator
ProjectExplorer: Split IRunConfigurationAspect
... into items that can be used generically in project configurations (ProjectConfigurationAspect) and items that have a choice between global and project settings (GlobalOrProjectAspect) Change-Id: I94831237bdbb18c339eb76eba131bf7f928933d6 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -766,12 +766,11 @@ void CallgrindTool::setupRunner(CallgrindToolRunner *toolRunner)
|
||||
QTC_ASSERT(m_visualization, return);
|
||||
|
||||
// apply project settings
|
||||
if (IRunConfigurationAspect *analyzerAspect = runControl->runConfiguration()->extraAspect(ANALYZER_VALGRIND_SETTINGS)) {
|
||||
if (const ValgrindBaseSettings *settings = qobject_cast<ValgrindBaseSettings *>(analyzerAspect->currentSettings())) {
|
||||
m_visualization->setMinimumInclusiveCostRatio(settings->visualisationMinimumInclusiveCostRatio() / 100.0);
|
||||
m_proxyModel.setMinimumInclusiveCostRatio(settings->minimumInclusiveCostRatio() / 100.0);
|
||||
m_dataModel.setVerboseToolTipsEnabled(settings->enableEventToolTips());
|
||||
}
|
||||
if (auto settings = runControl->runConfiguration()
|
||||
->currentSettings<ValgrindBaseSettings>(ANALYZER_VALGRIND_SETTINGS)) {
|
||||
m_visualization->setMinimumInclusiveCostRatio(settings->visualisationMinimumInclusiveCostRatio() / 100.0);
|
||||
m_proxyModel.setMinimumInclusiveCostRatio(settings->minimumInclusiveCostRatio() / 100.0);
|
||||
m_dataModel.setVerboseToolTipsEnabled(settings->enableEventToolTips());
|
||||
}
|
||||
|
||||
m_toolBusy = true;
|
||||
|
||||
@@ -914,8 +914,7 @@ void MemcheckTool::maybeActiveRunConfigurationChanged()
|
||||
if (Project *project = SessionManager::startupProject())
|
||||
if (Target *target = project->activeTarget())
|
||||
if (RunConfiguration *rc = target->activeRunConfiguration())
|
||||
if (IRunConfigurationAspect *aspect = rc->extraAspect(ANALYZER_VALGRIND_SETTINGS))
|
||||
settings = qobject_cast<ValgrindBaseSettings *>(aspect->currentSettings());
|
||||
settings = rc->currentSettings<ValgrindBaseSettings>(ANALYZER_VALGRIND_SETTINGS);
|
||||
|
||||
if (!settings) // fallback to global settings
|
||||
settings = ValgrindPlugin::globalSettings();
|
||||
|
||||
@@ -58,8 +58,8 @@ ValgrindToolRunner::ValgrindToolRunner(RunControl *runControl)
|
||||
runControl->setIcon(ProjectExplorer::Icons::ANALYZER_START_SMALL_TOOLBAR);
|
||||
setSupportsReRunning(false);
|
||||
|
||||
if (IRunConfigurationAspect *aspect = runControl->runConfiguration()->extraAspect(ANALYZER_VALGRIND_SETTINGS))
|
||||
m_settings = qobject_cast<ValgrindBaseSettings *>(aspect->currentSettings());
|
||||
m_settings = runControl->runConfiguration()
|
||||
->currentSettings<ValgrindBaseSettings>(ANALYZER_VALGRIND_SETTINGS);
|
||||
|
||||
if (!m_settings)
|
||||
m_settings = ValgrindPlugin::globalSettings();
|
||||
|
||||
@@ -89,7 +89,7 @@ private:
|
||||
QPointer<QWidget> m_widget;
|
||||
};
|
||||
|
||||
class ValgrindRunConfigurationAspect : public IRunConfigurationAspect
|
||||
class ValgrindRunConfigurationAspect : public GlobalOrProjectAspect
|
||||
{
|
||||
public:
|
||||
ValgrindRunConfigurationAspect(Target *)
|
||||
|
||||
Reference in New Issue
Block a user