diff options
-rw-r--r-- | src/plugins/clangformat/clangformatutils.cpp | 6 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppquickfixes.cpp | 5 | ||||
-rw-r--r-- | src/plugins/cpptools/cppcodestylesettings.cpp | 15 | ||||
-rw-r--r-- | src/plugins/cpptools/cppcodestylesettings.h | 4 |
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(); |