From 8e75381fce29504cd3f278f90cfcda22b9e47b4d Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 31 May 2023 14:29:03 +0200 Subject: CppEditor: Give C++ file name settings a per-project variant Fixes: QTCREATORBUG-22033 Change-Id: If37517bb091438e70c5af5102bf833ed46d0c951 Reviewed-by: Reviewed-by: David Schulz --- src/plugins/cppeditor/cpptoolsjsextension.cpp | 32 +++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'src/plugins/cppeditor/cpptoolsjsextension.cpp') diff --git a/src/plugins/cppeditor/cpptoolsjsextension.cpp b/src/plugins/cppeditor/cpptoolsjsextension.cpp index 73a846593c..0818af0acb 100644 --- a/src/plugins/cppeditor/cpptoolsjsextension.cpp +++ b/src/plugins/cppeditor/cpptoolsjsextension.cpp @@ -3,6 +3,7 @@ #include "cpptoolsjsextension.h" +#include "cppeditorplugin.h" #include "cppfilesettingspage.h" #include "cpplocatordata.h" #include "cppworkingcopy.h" @@ -12,6 +13,7 @@ #include #include #include +#include #include #include @@ -27,6 +29,13 @@ namespace CppEditor::Internal { +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()); +} + static QString fileName(const QString &path, const QString &extension) { return Utils::FilePath::fromStringWithExtension(path, extension).toString(); @@ -37,6 +46,16 @@ QString CppToolsJsExtension::headerGuard(const QString &in) const return Utils::headerGuard(in); } +QString CppToolsJsExtension::licenseTemplate() const +{ + return fileSettings().licenseTemplate(); +} + +bool CppToolsJsExtension::usePragmaOnce() const +{ + return fileSettings().headerPragmaOnce; +} + static QStringList parts(const QString &klass) { return klass.split(QStringLiteral("::")); @@ -63,8 +82,7 @@ QString CppToolsJsExtension::className(const QString &klass) const QString CppToolsJsExtension::classToFileName(const QString &klass, const QString &extension) const { const QString raw = fileName(className(klass), extension); - CppFileSettings settings; - settings.fromSettings(Core::ICore::settings()); + const CppFileSettings &settings = fileSettings(); if (!settings.lowerCaseFiles) return raw; @@ -249,4 +267,14 @@ QString CppToolsJsExtension::includeStatement( return {}; } +QString CppToolsJsExtension::cxxHeaderSuffix() const +{ + return fileSettings().headerSuffix; +} + +QString CppToolsJsExtension::cxxSourceSuffix() const +{ + return fileSettings().sourceSuffix; +} + } // namespace CppEditor::Internal -- cgit v1.2.3