summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-11-11 18:54:52 +0100
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-11-16 14:18:30 +0000
commit439db76f6413ec5a57460552a568a7b2aabf522d (patch)
tree68d19a6bdb7104d756534a6a8e6b154ce2486c14 /src/plugins
parent48952084a67cf9f1a04b56f91400d9b3a74b7500 (diff)
downloadqt-creator-439db76f6413ec5a57460552a568a7b2aabf522d.tar.gz
CppTools: Clean up CppCodeModelSettingsWidget
Change-Id: Iee93d2d656a8a5c991b292d3e591cedd3e86f9e3 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/cpptools/cppcodemodelsettingspage.cpp37
-rw-r--r--src/plugins/cpptools/cppcodemodelsettingspage.h3
2 files changed, 29 insertions, 11 deletions
diff --git a/src/plugins/cpptools/cppcodemodelsettingspage.cpp b/src/plugins/cpptools/cppcodemodelsettingspage.cpp
index 1e64817b37..f32ce55ff9 100644
--- a/src/plugins/cpptools/cppcodemodelsettingspage.cpp
+++ b/src/plugins/cpptools/cppcodemodelsettingspage.cpp
@@ -64,23 +64,15 @@ void CppCodeModelSettingsWidget::setSettings(const QSharedPointer<CppCodeModelSe
m_settings = s;
setupClangCodeModelWidgets();
- m_ui->ignorePCHCheckBox->setChecked(s->pchUsage() == CppCodeModelSettings::PchUse_None);
+ setupPchCheckBox();
}
void CppCodeModelSettingsWidget::applyToSettings() const
{
bool changed = false;
- if (applyClangCodeModelWidgetsToSettings())
- changed = true;
-
- if (m_ui->ignorePCHCheckBox->isChecked() !=
- (m_settings->pchUsage() == CppCodeModelSettings::PchUse_None)) {
- m_settings->setPCHUsage(
- m_ui->ignorePCHCheckBox->isChecked() ? CppCodeModelSettings::PchUse_None
- : CppCodeModelSettings::PchUse_BuildSystem);
- changed = true;
- }
+ changed |= applyClangCodeModelWidgetsToSettings();
+ changed |= applyPchCheckBoxToSettings();
if (changed)
m_settings->toSettings(Core::ICore::settings());
@@ -101,6 +93,12 @@ void CppCodeModelSettingsWidget::setupClangCodeModelWidgets() const
m_ui->clangOptionsToAppendTextEdit->document()->setPlainText(extraClangOptions);
}
+void CppCodeModelSettingsWidget::setupPchCheckBox() const
+{
+ const bool ignorePch = m_settings->pchUsage() == CppCodeModelSettings::PchUse_None;
+ m_ui->ignorePCHCheckBox->setChecked(ignorePch);
+}
+
bool CppCodeModelSettingsWidget::applyClangCodeModelWidgetsToSettings() const
{
bool settingsChanged = false;
@@ -124,6 +122,23 @@ bool CppCodeModelSettingsWidget::applyClangCodeModelWidgetsToSettings() const
return settingsChanged;
}
+bool CppCodeModelSettingsWidget::applyPchCheckBoxToSettings() const
+{
+ const bool newIgnorePch = m_ui->ignorePCHCheckBox->isChecked();
+ const bool previousIgnorePch = m_settings->pchUsage() == CppCodeModelSettings::PchUse_None;
+
+ if (newIgnorePch != previousIgnorePch) {
+ const CppCodeModelSettings::PCHUsage pchUsage = m_ui->ignorePCHCheckBox->isChecked()
+ ? CppCodeModelSettings::PchUse_None
+ : CppCodeModelSettings::PchUse_BuildSystem;
+ m_settings->setPCHUsage(pchUsage);
+
+ return true;
+ }
+
+ return false;
+}
+
CppCodeModelSettingsPage::CppCodeModelSettingsPage(QSharedPointer<CppCodeModelSettings> &settings,
QObject *parent)
: Core::IOptionsPage(parent)
diff --git a/src/plugins/cpptools/cppcodemodelsettingspage.h b/src/plugins/cpptools/cppcodemodelsettingspage.h
index 1e40a8c6fa..dc14f2fc77 100644
--- a/src/plugins/cpptools/cppcodemodelsettingspage.h
+++ b/src/plugins/cpptools/cppcodemodelsettingspage.h
@@ -59,7 +59,10 @@ public:
private:
void setupClangCodeModelWidgets() const;
+ void setupPchCheckBox() const;
+
bool applyClangCodeModelWidgetsToSettings() const;
+ bool applyPchCheckBoxToSettings() const;
private:
Ui::CppCodeModelSettingsPage *m_ui;