diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-11-11 18:54:52 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-11-16 14:18:30 +0000 |
commit | 439db76f6413ec5a57460552a568a7b2aabf522d (patch) | |
tree | 68d19a6bdb7104d756534a6a8e6b154ce2486c14 /src/plugins | |
parent | 48952084a67cf9f1a04b56f91400d9b3a74b7500 (diff) | |
download | qt-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.cpp | 37 | ||||
-rw-r--r-- | src/plugins/cpptools/cppcodemodelsettingspage.h | 3 |
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; |