aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/designer
diff options
context:
space:
mode:
authorFilip Bucek <fbucek@atlas.cz>2019-01-03 10:56:36 +0100
committerFilip Bucek <fbucek@atlas.cz>2019-01-23 09:10:42 +0000
commitaaa8beab88dddd7218f6d3c30fb29c04679e2098 (patch)
treeb6416714fee6923386c87b0b29f72a6bccecf90e /src/plugins/designer
parent2781c2a9004f1404580c287364e10add20bcb180 (diff)
Wizards: Support using #pragma once instead of include guards
Allow users to choose #pragma once instead of #ifndef include guards in generated header files. Fixes: QTCREATORBUG-12166 Change-Id: I3ba41c7570beb9c5958e174b5581fcc25855050f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Filip Bucek <fbucek@atlas.cz>
Diffstat (limited to 'src/plugins/designer')
-rw-r--r--src/plugins/designer/cpp/formclasswizarddialog.cpp2
-rw-r--r--src/plugins/designer/cpp/formclasswizardparameters.h1
-rw-r--r--src/plugins/designer/qtdesignerformclasscodegenerator.cpp12
3 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/designer/cpp/formclasswizarddialog.cpp b/src/plugins/designer/cpp/formclasswizarddialog.cpp
index 95b099b4c4..66956b99a7 100644
--- a/src/plugins/designer/cpp/formclasswizarddialog.cpp
+++ b/src/plugins/designer/cpp/formclasswizarddialog.cpp
@@ -26,6 +26,7 @@
#include "formclasswizarddialog.h"
#include "formclasswizardpage.h"
#include "formclasswizardparameters.h"
+#include <cpptools/abstracteditorsupport.h>
#include <designer/formtemplatewizardpage.h>
#include <qtsupport/codegenerator.h>
@@ -88,6 +89,7 @@ FormClassWizardParameters FormClassWizardDialog::parameters() const
m_classPage->getParameters(&rc);
// Name the ui class in the Ui namespace after the class specified
rc.uiTemplate = QtSupport::CodeGenerator::changeUiClassName(m_rawFormTemplate, rc.className);
+ rc.usePragmaOnce = CppTools::AbstractEditorSupport::usePragmaOnce();
return rc;
}
diff --git a/src/plugins/designer/cpp/formclasswizardparameters.h b/src/plugins/designer/cpp/formclasswizardparameters.h
index 7aa25f5cb3..1396c9052c 100644
--- a/src/plugins/designer/cpp/formclasswizardparameters.h
+++ b/src/plugins/designer/cpp/formclasswizardparameters.h
@@ -43,6 +43,7 @@ public:
QString sourceFile;
QString headerFile;
QString uiFile;
+ bool usePragmaOnce = false;
};
} // namespace Designer
diff --git a/src/plugins/designer/qtdesignerformclasscodegenerator.cpp b/src/plugins/designer/qtdesignerformclasscodegenerator.cpp
index 7ad455e159..2584ff7de1 100644
--- a/src/plugins/designer/qtdesignerformclasscodegenerator.cpp
+++ b/src/plugins/designer/qtdesignerformclasscodegenerator.cpp
@@ -104,8 +104,12 @@ bool QtDesignerFormClassCodeGenerator::generateCpp(const FormClassWizardParamete
// 1) Header file
QTextStream headerStr(header);
- headerStr << headerLicense << "#ifndef " << guard
- << "\n#define " << guard << '\n' << '\n';
+ headerStr << headerLicense;
+
+ if (parameters.usePragmaOnce)
+ headerStr << "#pragma once\n\n";
+ else
+ headerStr << "#ifndef " << guard << "\n#define " << guard << "\n\n";
// Include 'ui_'
if (generationParameters.embedding != QtSupport::CodeGenSettings::PointerAggregatedUiClass) {
@@ -165,7 +169,9 @@ bool QtDesignerFormClassCodeGenerator::generateCpp(const FormClassWizardParamete
}
headerStr << namespaceIndent << "};\n\n";
Utils::writeClosingNameSpaces(namespaceList, QString(), headerStr);
- headerStr << "#endif // "<< guard << '\n';
+
+ if (!parameters.usePragmaOnce)
+ headerStr << "#endif // " << guard << '\n';
// 2) Source file
QTextStream sourceStr(source);