diff options
author | Christian Kamm <[email protected]> | 2011-02-03 15:48:14 +0100 |
---|---|---|
committer | Christian Kamm <[email protected]> | 2011-05-24 12:45:07 +0200 |
commit | 779fafcbfe6f92dd1288664fae512f69bc12418b (patch) | |
tree | 38a3b75cc3a18f386ab72102e97f06ffa24d4d29 /src/plugins/cpptools/cppcodestylesettings.h | |
parent | f69eb52944a7fc8306cbb72b7325a610045dea7a (diff) |
Make C++ code style configurable.
Change-Id: Iaf08edb2361146e6b5e1cbafdb716a23c938875b
Done-with: Jarek Kobus
Task-number: QTCREATORBUG-2670
Task-number: QTCREATORBUG-4310
Task-number: QTCREATORBUG-2763
Task-number: QTCREATORBUG-3623
Task-number: QTCREATORBUG-567
Reviewed-on: http://codereview.qt.nokia.com/74
Reviewed-by: Leandro T. C. Melo <[email protected]>
Reviewed-by: Jarek Kobus <[email protected]>
Reviewed-by: Roberto Raggi <[email protected]>
Diffstat (limited to 'src/plugins/cpptools/cppcodestylesettings.h')
-rw-r--r-- | src/plugins/cpptools/cppcodestylesettings.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppcodestylesettings.h b/src/plugins/cpptools/cppcodestylesettings.h new file mode 100644 index 00000000000..20651ed11c0 --- /dev/null +++ b/src/plugins/cpptools/cppcodestylesettings.h @@ -0,0 +1,67 @@ +#ifndef CPPCODESTYLESETTINGS_H +#define CPPCODESTYLESETTINGS_H + +#include "cpptools_global.h" + +#include <QtCore/QMetaType> +#include <QtCore/QVariant> + +QT_BEGIN_NAMESPACE +class QSettings; +QT_END_NAMESPACE + +namespace CppTools { + +struct CPPTOOLS_EXPORT CppCodeStyleSettings +{ + CppCodeStyleSettings(); + + bool indentBlockBraces; + bool indentBlockBody; + bool indentClassBraces; + bool indentEnumBraces; + bool indentNamespaceBraces; + bool indentNamespaceBody; + bool indentAccessSpecifiers; + bool indentDeclarationsRelativeToAccessSpecifiers; + bool indentFunctionBody; + bool indentFunctionBraces; + bool indentSwitchLabels; + bool indentStatementsRelativeToSwitchLabels; + bool indentBlocksRelativeToSwitchLabels; + bool indentControlFlowRelativeToSwitchLabels; + + // false: if (a && + // b) + // c; + // true: if (a && + // b) + // c; + // but always: while (a && + // b) + // foo; + bool extraPaddingForConditionsIfConfusingAlign; + + // false: a = a + + // b; + // true: a = a + + // b + bool alignAssignments; + + void toSettings(const QString &category, QSettings *s) const; + void fromSettings(const QString &category, const QSettings *s); + + void toMap(const QString &prefix, QVariantMap *map) const; + void fromMap(const QString &prefix, const QVariantMap &map); + + bool equals(const CppCodeStyleSettings &rhs) const; +}; + +inline bool operator==(const CppCodeStyleSettings &s1, const CppCodeStyleSettings &s2) { return s1.equals(s2); } +inline bool operator!=(const CppCodeStyleSettings &s1, const CppCodeStyleSettings &s2) { return !s1.equals(s2); } + +} // namespace CppTools + +Q_DECLARE_METATYPE(CppTools::CppCodeStyleSettings) + +#endif // CPPCODESTYLESETTINGS_H |