ProjectExplorer: Make it configurable whether to clear the issues pane

... on a new build.

Fixes: QTCREATORBUG-22478
Change-Id: If9d88d54397e03414088112f8c19363d9e153244
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2019-05-27 16:36:24 +02:00
parent d0cf9be452
commit 0be5fe5383
5 changed files with 23 additions and 4 deletions

View File

@@ -446,10 +446,12 @@ bool BuildManager::buildQueueAppend(const QList<BuildStep *> &steps, QStringList
{
if (!d->m_running) {
d->m_outputWindow->clearContents();
TaskHub::clearTasks(Constants::TASK_CATEGORY_COMPILE);
TaskHub::clearTasks(Constants::TASK_CATEGORY_BUILDSYSTEM);
TaskHub::clearTasks(Constants::TASK_CATEGORY_DEPLOYMENT);
TaskHub::clearTasks(Constants::TASK_CATEGORY_AUTOTEST);
if (ProjectExplorerPlugin::projectExplorerSettings().clearIssuesOnRebuild) {
TaskHub::clearTasks(Constants::TASK_CATEGORY_COMPILE);
TaskHub::clearTasks(Constants::TASK_CATEGORY_BUILDSYSTEM);
TaskHub::clearTasks(Constants::TASK_CATEGORY_DEPLOYMENT);
TaskHub::clearTasks(Constants::TASK_CATEGORY_AUTOTEST);
}
foreach (const QString &str, preambleMessage)
addToOutputWindow(str, BuildStep::OutputFormat::NormalMessage, BuildStep::DontAppendNewline);

View File

@@ -251,6 +251,7 @@ const char DEFAULT_BUILD_DIRECTORY_TEMPLATE_KEY[] = "Directories/BuildDirectory.
const char TERMINAL_MODE_SETTINGS_KEY[] = "ProjectExplorer/Settings/TerminalMode";
const char CLOSE_FILES_WITH_PROJECT_SETTINGS_KEY[]
= "ProjectExplorer/Settings/CloseFilesWithProject";
const char CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY[] = "ProjectExplorer/Settings/ClearIssuesOnRebuild";
} // namespace Constants
@@ -1361,6 +1362,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
Constants::TERMINAL_MODE_SETTINGS_KEY, int(TerminalMode::Smart)).toInt());
dd->m_projectExplorerSettings.closeSourceFilesWithProject
= s->value(Constants::CLOSE_FILES_WITH_PROJECT_SETTINGS_KEY, true).toBool();
dd->m_projectExplorerSettings.clearIssuesOnRebuild
= s->value(Constants::CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY, true).toBool();
dd->m_projectExplorerSettings.buildDirectoryTemplate
= s->value(Constants::DEFAULT_BUILD_DIRECTORY_TEMPLATE_KEY).toString();
if (dd->m_projectExplorerSettings.buildDirectoryTemplate.isEmpty())
@@ -1952,6 +1955,8 @@ void ProjectExplorerPluginPrivate::savePersistentSettings()
int(dd->m_projectExplorerSettings.terminalMode));
s->setValue(Constants::CLOSE_FILES_WITH_PROJECT_SETTINGS_KEY,
dd->m_projectExplorerSettings.closeSourceFilesWithProject);
s->setValue(Constants::CLEAR_ISSUES_ON_REBUILD_SETTINGS_KEY,
dd->m_projectExplorerSettings.clearIssuesOnRebuild);
s->setValue(QLatin1String("ProjectExplorer/Settings/AutomaticallyCreateRunConfigurations"),
dd->m_projectExplorerSettings.automaticallyCreateRunConfigurations);
s->setValue(QLatin1String("ProjectExplorer/Settings/EnvironmentId"), dd->m_projectExplorerSettings.environmentId.toByteArray());

View File

@@ -49,6 +49,7 @@ public:
bool automaticallyCreateRunConfigurations = true;
bool addLibraryPathsToRunEnv = true;
bool closeSourceFilesWithProject = true;
bool clearIssuesOnRebuild = true;
StopBeforeBuild stopBeforeBuild = StopBeforeBuild::StopNone;
TerminalMode terminalMode = TerminalMode::Smart;
QString buildDirectoryTemplate;
@@ -73,6 +74,7 @@ inline bool operator==(const ProjectExplorerSettings &p1, const ProjectExplorerS
&& p1.stopBeforeBuild == p2.stopBeforeBuild
&& p1.terminalMode == p2.terminalMode
&& p1.closeSourceFilesWithProject == p2.closeSourceFilesWithProject
&& p1.clearIssuesOnRebuild == p2.clearIssuesOnRebuild
&& p1.buildDirectoryTemplate == p2.buildDirectoryTemplate;
}

View File

@@ -107,6 +107,7 @@ ProjectExplorerSettings ProjectExplorerSettingsWidget::settings() const
m_settings.stopBeforeBuild = static_cast<ProjectExplorerSettings::StopBeforeBuild>(m_ui.stopBeforeBuildComboBox->currentIndex());
m_settings.terminalMode = static_cast<TerminalMode>(m_ui.terminalModeComboBox->currentIndex());
m_settings.closeSourceFilesWithProject = m_ui.closeSourceFilesCheckBox->isChecked();
m_settings.clearIssuesOnRebuild = m_ui.clearIssuesCheckBox->isChecked();
m_settings.buildDirectoryTemplate = buildDirectoryTemplate();
return m_settings;
}
@@ -124,6 +125,7 @@ void ProjectExplorerSettingsWidget::setSettings(const ProjectExplorerSettings &
m_ui.stopBeforeBuildComboBox->setCurrentIndex(static_cast<int>(m_settings.stopBeforeBuild));
m_ui.terminalModeComboBox->setCurrentIndex(static_cast<int>(m_settings.terminalMode));
m_ui.closeSourceFilesCheckBox->setChecked(m_settings.closeSourceFilesWithProject);
m_ui.clearIssuesCheckBox->setChecked(m_settings.clearIssuesOnRebuild);
setBuildDirectoryTemplate(pes.buildDirectoryTemplate);
}

View File

@@ -134,6 +134,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="clearIssuesCheckBox">
<property name="text">
<string>Clear issues list on new build</string>
</property>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
@@ -294,6 +301,7 @@
<zorder>deployProjectBeforeRunCheckBox</zorder>
<zorder>promptToStopRunControlCheckBox</zorder>
<zorder>addLibraryPathsToRunEnvCheckBox</zorder>
<zorder>clearIssuesCheckBox</zorder>
</widget>
</item>
<item>