CppEditor: Simplify access to FileSettingForProject

Change-Id: I382a6cce314eafaeb21ae4c9fa42015b79a0cb0e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2024-01-19 18:43:22 +01:00
parent 9aff30f7c7
commit d77f1b09c5
6 changed files with 38 additions and 42 deletions

View File

@@ -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;

View File

@@ -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();

View File

@@ -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>

View File

@@ -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

View File

@@ -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)

View File

@@ -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(