summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/clangformat/clangformatutils.cpp6
-rw-r--r--src/plugins/cppeditor/cppquickfixes.cpp5
-rw-r--r--src/plugins/cpptools/cppcodestylesettings.cpp15
-rw-r--r--src/plugins/cpptools/cppcodestylesettings.h4
4 files changed, 19 insertions, 11 deletions
diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp
index 4e901ab563..6bb153b3b3 100644
--- a/src/plugins/clangformat/clangformatutils.cpp
+++ b/src/plugins/clangformat/clangformatutils.cpp
@@ -118,7 +118,8 @@ static clang::format::FormatStyle constructStyle(bool isGlobal)
FormatStyle style = getLLVMStyle();
const CppCodeStyleSettings codeStyleSettings = isGlobal
? CppCodeStyleSettings::currentGlobalCodeStyle()
- : CppCodeStyleSettings::currentProjectCodeStyle();
+ : CppCodeStyleSettings::currentProjectCodeStyle()
+ .value_or(CppCodeStyleSettings::currentGlobalCodeStyle());
const TabSettings tabSettings = isGlobal
? CppCodeStyleSettings::currentGlobalTabSettings()
: CppCodeStyleSettings::currentProjectTabSettings();
@@ -171,8 +172,7 @@ clang::format::FormatStyle currentGlobalStyle()
clang::format::FormatStyle currentStyle()
{
- const bool isGlobal = (CppCodeStyleSettings::currentProjectCodeStyle()
- == CppCodeStyleSettings::currentGlobalCodeStyle());
+ const bool isGlobal = !CppCodeStyleSettings::currentProjectCodeStyle().has_value();
return currentStyle(isGlobal);
}
diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp
index afc777be1a..a785d9565e 100644
--- a/src/plugins/cppeditor/cppquickfixes.cpp
+++ b/src/plugins/cppeditor/cppquickfixes.cpp
@@ -2988,7 +2988,10 @@ public:
m_baseName = QLatin1String("value");
// Getter Name
- const CppCodeStyleSettings settings = CppCodeStyleSettings::currentProjectCodeStyle();
+ const Utils::optional<CppCodeStyleSettings> codeStyleSettings
+ = CppCodeStyleSettings::currentProjectCodeStyle();
+ const CppCodeStyleSettings settings
+ = codeStyleSettings.value_or(CppCodeStyleSettings::currentGlobalCodeStyle());
const bool hasValidBaseName = m_baseName != m_variableString;
const bool getPrefixIsAlreadyUsed = hasClassMemberWithGetPrefix(m_classSpecifier->symbol);
if (settings.preferGetterNameWithoutGetPrefix && hasValidBaseName && !getPrefixIsAlreadyUsed) {
diff --git a/src/plugins/cpptools/cppcodestylesettings.cpp b/src/plugins/cpptools/cppcodestylesettings.cpp
index 723ae2c222..379c32d0b3 100644
--- a/src/plugins/cpptools/cppcodestylesettings.cpp
+++ b/src/plugins/cpptools/cppcodestylesettings.cpp
@@ -200,22 +200,23 @@ bool CppCodeStyleSettings::equals(const CppCodeStyleSettings &rhs) const
;
}
-CppCodeStyleSettings CppCodeStyleSettings::currentProjectCodeStyle()
+Utils::optional<CppCodeStyleSettings> CppCodeStyleSettings::currentProjectCodeStyle()
{
ProjectExplorer::Project *project = ProjectExplorer::ProjectTree::currentProject();
if (!project)
- return currentGlobalCodeStyle();
+ return Utils::optional<CppCodeStyleSettings>();
ProjectExplorer::EditorConfiguration *editorConfiguration = project->editorConfiguration();
- QTC_ASSERT(editorConfiguration, return currentGlobalCodeStyle());
+ QTC_ASSERT(editorConfiguration, return Utils::optional<CppCodeStyleSettings>());
TextEditor::ICodeStylePreferences *codeStylePreferences
= editorConfiguration->codeStyle(Constants::CPP_SETTINGS_ID);
- QTC_ASSERT(codeStylePreferences, return currentGlobalCodeStyle());
+ QTC_ASSERT(codeStylePreferences, return Utils::optional<CppCodeStyleSettings>());
CppCodeStylePreferences *cppCodeStylePreferences
= dynamic_cast<CppCodeStylePreferences *>(codeStylePreferences);
- QTC_ASSERT(cppCodeStylePreferences, return currentGlobalCodeStyle());
+ if (!cppCodeStylePreferences)
+ return Utils::optional<CppCodeStyleSettings>();
return cppCodeStylePreferences->currentCodeStyleSettings();
}
@@ -270,7 +271,9 @@ static void configureOverviewWithCodeStyleSettings(CPlusPlus::Overview &overview
CPlusPlus::Overview CppCodeStyleSettings::currentProjectCodeStyleOverview()
{
CPlusPlus::Overview overview;
- configureOverviewWithCodeStyleSettings(overview, currentProjectCodeStyle());
+ const Utils::optional<CppCodeStyleSettings> codeStyleSettings = currentProjectCodeStyle();
+ configureOverviewWithCodeStyleSettings(overview,
+ codeStyleSettings.value_or(currentGlobalCodeStyle()));
return overview;
}
diff --git a/src/plugins/cpptools/cppcodestylesettings.h b/src/plugins/cpptools/cppcodestylesettings.h
index 4af18fbdbc..4e39e05afc 100644
--- a/src/plugins/cpptools/cppcodestylesettings.h
+++ b/src/plugins/cpptools/cppcodestylesettings.h
@@ -27,6 +27,8 @@
#include "cpptools_global.h"
+#include <utils/optional.h>
+
#include <QVariantMap>
QT_BEGIN_NAMESPACE
@@ -93,7 +95,7 @@ public:
bool operator==(const CppCodeStyleSettings &s) const { return equals(s); }
bool operator!=(const CppCodeStyleSettings &s) const { return !equals(s); }
- static CppCodeStyleSettings currentProjectCodeStyle();
+ static Utils::optional<CppCodeStyleSettings> currentProjectCodeStyle();
static CppCodeStyleSettings currentGlobalCodeStyle();
static TextEditor::TabSettings currentProjectTabSettings();
static TextEditor::TabSettings currentGlobalTabSettings();