diff options
author | hjk <hjk@qt.io> | 2024-01-19 18:43:22 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2024-01-24 08:02:04 +0000 |
commit | d77f1b09c57ba7a9dc1d34d318aa632852411cdd (patch) | |
tree | 796484e7a600b2ab87ba9a0101b13ef4b9199d8a | |
parent | 9aff30f7c7d4fa9b1dd728b35d2ca7e6884b9b2f (diff) |
CppEditor: Simplify access to FileSettingForProject
Change-Id: I382a6cce314eafaeb21ae4c9fa42015b79a0cb0e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | src/plugins/cppeditor/cppeditorplugin.cpp | 15 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppeditorplugin.h | 3 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppfilesettingspage.cpp | 32 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppfilesettingspage.h | 21 | ||||
-rw-r--r-- | src/plugins/cppeditor/cpptoolsjsextension.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cppeditor/cpptoolsreuse.cpp | 7 |
6 files changed, 38 insertions, 42 deletions
diff --git a/src/plugins/cppeditor/cppeditorplugin.cpp b/src/plugins/cppeditor/cppeditorplugin.cpp index 4b3c1baba2..80b25fef8c 100644 --- a/src/plugins/cppeditor/cppeditorplugin.cpp +++ b/src/plugins/cppeditor/cppeditorplugin.cpp @@ -601,24 +601,17 @@ void CppEditorPlugin::clearHeaderSourceCache() FilePath CppEditorPlugin::licenseTemplatePath(Project *project) { - return FilePath::fromString(fileSettings(project).licenseTemplatePath); + return FilePath::fromString(cppFileSettingsForProject(project).licenseTemplatePath); } QString CppEditorPlugin::licenseTemplate(Project *project) { - return fileSettings(project).licenseTemplate(); + return cppFileSettingsForProject(project).licenseTemplate(); } bool CppEditorPlugin::usePragmaOnce(Project *project) { - return fileSettings(project).headerPragmaOnce; -} - -CppFileSettings CppEditorPlugin::fileSettings(Project *project) -{ - if (!project) - return globalCppFileSettings(); - return CppFileSettingsForProject(project).settings(); + return cppFileSettingsForProject(project).headerPragmaOnce; } static FilePaths findFilesInProject(const QStringList &names, const Project *project, @@ -770,7 +763,7 @@ FilePath correspondingHeaderOrSource(const FilePath &filePath, bool *wasHeader, } Project * const projectForFile = ProjectManager::projectForFile(filePath); - const CppFileSettings settings = CppEditorPlugin::fileSettings(projectForFile); + const CppFileSettings settings = cppFileSettingsForProject(projectForFile); if (debug) qDebug() << Q_FUNC_INFO << filePath.fileName() << kind; diff --git a/src/plugins/cppeditor/cppeditorplugin.h b/src/plugins/cppeditor/cppeditorplugin.h index c29a875614..297a73ae24 100644 --- a/src/plugins/cppeditor/cppeditorplugin.h +++ b/src/plugins/cppeditor/cppeditorplugin.h @@ -11,7 +11,6 @@ namespace Utils { class FilePath; } namespace CppEditor::Internal { class CppEditorPluginPrivate; -class CppFileSettings; class CppEditorPlugin : public ExtensionSystem::IPlugin { @@ -36,8 +35,6 @@ public: void renameSymbolUnderCursor(); void switchDeclarationDefinition(); - static CppFileSettings fileSettings(ProjectExplorer::Project *project); - signals: void typeHierarchyRequested(); void includeHierarchyRequested(); diff --git a/src/plugins/cppeditor/cppfilesettingspage.cpp b/src/plugins/cppeditor/cppfilesettingspage.cpp index 55a81cd804..6eb72dda03 100644 --- a/src/plugins/cppeditor/cppfilesettingspage.cpp +++ b/src/plugins/cppeditor/cppfilesettingspage.cpp @@ -464,11 +464,30 @@ public: } }; -CppFileSettingsForProject::CppFileSettingsForProject(ProjectExplorer::Project *project) - : m_project(project) +// CppFileSettingsForProject + +class CppFileSettingsForProject final { - loadSettings(); -} +public: + CppFileSettingsForProject(Project *project) + : m_project(project) + { + loadSettings(); + } + + CppFileSettings settings() const; + void setSettings(const CppFileSettings &settings); + bool useGlobalSettings() const { return m_useGlobalSettings; } + void setUseGlobalSettings(bool useGlobal); + +private: + void loadSettings(); + void saveSettings(); + + Project * const m_project; + CppFileSettings m_customSettings; + bool m_useGlobalSettings = true; +}; CppFileSettings CppFileSettingsForProject::settings() const { @@ -623,6 +642,11 @@ CppFileSettings &globalCppFileSettings() return theGlobalCppFileSettings; } +CppFileSettings cppFileSettingsForProject(ProjectExplorer::Project *project) +{ + return CppFileSettingsForProject(project).settings(); +} + } // namespace CppEditor::Internal #include <cppfilesettingspage.moc> diff --git a/src/plugins/cppeditor/cppfilesettingspage.h b/src/plugins/cppeditor/cppfilesettingspage.h index 4603728248..064941e44e 100644 --- a/src/plugins/cppeditor/cppfilesettingspage.h +++ b/src/plugins/cppeditor/cppfilesettingspage.h @@ -48,27 +48,10 @@ public: bool operator!=(const CppFileSettings &s) const { return !equals(s); } }; -class CppFileSettingsForProject -{ -public: - CppFileSettingsForProject(ProjectExplorer::Project *project); - - CppFileSettings settings() const; - void setSettings(const CppFileSettings &settings); - bool useGlobalSettings() const { return m_useGlobalSettings; } - void setUseGlobalSettings(bool useGlobal); - -private: - void loadSettings(); - void saveSettings(); - - ProjectExplorer::Project * const m_project; - CppFileSettings m_customSettings; - bool m_useGlobalSettings = true; -}; - CppFileSettings &globalCppFileSettings(); +CppFileSettings cppFileSettingsForProject(ProjectExplorer::Project *project); + void setupCppFileSettings(); } // namespace CppEditor::Internal diff --git a/src/plugins/cppeditor/cpptoolsjsextension.cpp b/src/plugins/cppeditor/cpptoolsjsextension.cpp index 6e3c1f1a7d..e5b3499a96 100644 --- a/src/plugins/cppeditor/cpptoolsjsextension.cpp +++ b/src/plugins/cppeditor/cpptoolsjsextension.cpp @@ -33,7 +33,7 @@ static CppFileSettings fileSettings() { // Note that the user can set a different project in the wizard *after* the file names // have been determined. There's nothing we can do about that here. - return CppEditorPlugin::fileSettings(ProjectExplorer::ProjectTree::currentProject()); + return cppFileSettingsForProject(ProjectExplorer::ProjectTree::currentProject()); } static QString fileName(const QString &path, const QString &extension) diff --git a/src/plugins/cppeditor/cpptoolsreuse.cpp b/src/plugins/cppeditor/cpptoolsreuse.cpp index 38606f5b3a..48fe23244b 100644 --- a/src/plugins/cppeditor/cpptoolsreuse.cpp +++ b/src/plugins/cppeditor/cpptoolsreuse.cpp @@ -9,7 +9,6 @@ #include "cppcodemodelsettings.h" #include "cppcompletionassist.h" #include "cppeditorconstants.h" -#include "cppeditorplugin.h" #include "cppeditorwidget.h" #include "cppeditortr.h" #include "cppfilesettingspage.h" @@ -627,17 +626,17 @@ void openEditor(const Utils::FilePath &filePath, bool inNextSplit, Utils::Id edi bool preferLowerCaseFileNames(ProjectExplorer::Project *project) { - return Internal::CppEditorPlugin::fileSettings(project).lowerCaseFiles; + return Internal::cppFileSettingsForProject(project).lowerCaseFiles; } QString preferredCxxHeaderSuffix(ProjectExplorer::Project *project) { - return Internal::CppEditorPlugin::fileSettings(project).headerSuffix; + return Internal::cppFileSettingsForProject(project).headerSuffix; } QString preferredCxxSourceSuffix(ProjectExplorer::Project *project) { - return Internal::CppEditorPlugin::fileSettings(project).sourceSuffix; + return Internal::cppFileSettingsForProject(project).sourceSuffix; } SearchResultItems symbolOccurrencesInDeclarationComments( |