Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
0c60770f
Commit
0c60770f
authored
Jan 18, 2011
by
Jarek Kobus
Browse files
Include namespaces inside header guard
Task: QTCREATORBUG-2724 RevBy: Friedemann Kleint <qtc-committer@nokia.com>
parent
11c6ca71
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/libs/utils/codegeneration.cpp
View file @
0c60770f
...
...
@@ -58,10 +58,18 @@ QTCREATOR_UTILS_EXPORT QString fileNameToCppIdentifier(const QString &s)
QTCREATOR_UTILS_EXPORT
QString
headerGuard
(
const
QString
&
file
)
{
return
headerGuard
(
file
,
QStringList
());
}
QTCREATOR_UTILS_EXPORT
QString
headerGuard
(
const
QString
&
file
,
const
QStringList
&
namespaceList
)
{
const
QChar
underscore
=
QLatin1Char
(
'_'
);
QString
rc
;
for
(
int
i
=
0
;
i
<
namespaceList
.
count
();
i
++
)
rc
+=
namespaceList
.
at
(
i
).
toUpper
()
+
underscore
;
const
QFileInfo
fi
(
file
);
QString
rc
=
fileNameToCppIdentifier
(
fi
.
completeBaseName
()).
toUpper
();
rc
+=
QLatin1Char
(
'_'
);
rc
+=
fileNameToCppIdentifier
(
fi
.
suffix
()).
toUpper
();
rc
+=
fileNameToCppIdentifier
(
fi
.
fileName
()).
toUpper
();
return
rc
;
}
...
...
src/libs/utils/codegeneration.h
View file @
0c60770f
...
...
@@ -49,6 +49,7 @@ namespace Utils {
QTCREATOR_UTILS_EXPORT
QString
fileNameToCppIdentifier
(
const
QString
&
s
);
QTCREATOR_UTILS_EXPORT
QString
headerGuard
(
const
QString
&
file
);
QTCREATOR_UTILS_EXPORT
QString
headerGuard
(
const
QString
&
file
,
const
QStringList
&
namespaceList
);
QTCREATOR_UTILS_EXPORT
void
writeIncludeFileDirective
(
const
QString
&
file
,
...
...
src/plugins/cppeditor/cppclasswizard.cpp
View file @
0c60770f
...
...
@@ -225,7 +225,7 @@ bool CppClassWizard::generateHeaderAndSource(const CppClassWizardParameters &par
params
.
className
);
const
QString
unqualifiedClassName
=
namespaceList
.
takeLast
();
const
QString
guard
=
Utils
::
headerGuard
(
params
.
headerFile
);
const
QString
guard
=
Utils
::
headerGuard
(
params
.
headerFile
,
namespaceList
);
// == Header file ==
QTextStream
headerStr
(
header
);
...
...
src/plugins/designer/qtdesignerformclasscodegenerator.cpp
View file @
0c60770f
...
...
@@ -149,7 +149,7 @@ bool QtDesignerFormClassCodeGenerator::generateCpp(const FormClassWizardParamete
const
QString
sourceLicense
=
CppTools
::
AbstractEditorSupport
::
licenseTemplate
(
parameters
.
sourceFile
,
parameters
.
className
);
// Include guards
const
QString
guard
=
Utils
::
headerGuard
(
parameters
.
headerFile
);
const
QString
guard
=
Utils
::
headerGuard
(
parameters
.
headerFile
,
namespaceList
);
QString
uiInclude
=
QLatin1String
(
"ui_"
);
uiInclude
+=
QFileInfo
(
parameters
.
uiFile
).
completeBaseName
();
...
...
src/plugins/qt4projectmanager/wizards/libraryparameters.cpp
View file @
0c60770f
...
...
@@ -74,8 +74,15 @@ void LibraryParameters::generateCode(QtProjectParameters:: Type t,
const
QString
indent
=
QString
(
indentation
,
QLatin1Char
(
' '
));
// Do we have namespaces?
QStringList
namespaceList
=
className
.
split
(
QLatin1String
(
"::"
));
if
(
namespaceList
.
empty
())
// Paranoia!
return
;
const
QString
unqualifiedClassName
=
namespaceList
.
takeLast
();
// 1) Header
const
QString
guard
=
Utils
::
headerGuard
(
headerFileName
);
const
QString
guard
=
Utils
::
headerGuard
(
headerFileName
,
namespaceList
);
headerStr
<<
"#ifndef "
<<
guard
<<
"
\n
#define "
<<
guard
<<
'\n'
<<
'\n'
;
...
...
@@ -94,14 +101,6 @@ void LibraryParameters::generateCode(QtProjectParameters:: Type t,
headerStr
<<
'\n'
;
}
// Do we have namespaces?
QStringList
namespaceList
=
className
.
split
(
QLatin1String
(
"::"
));
if
(
namespaceList
.
empty
())
// Paranoia!
return
;
const
QString
unqualifiedClassName
=
namespaceList
.
back
();
namespaceList
.
pop_back
();
const
QString
namespaceIndent
=
Utils
::
writeOpeningNameSpaces
(
namespaceList
,
indent
,
headerStr
);
// Class declaraction
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment