From 779fafcbfe6f92dd1288664fae512f69bc12418b Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Thu, 3 Feb 2011 15:48:14 +0100 Subject: 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 Reviewed-by: Jarek Kobus Reviewed-by: Roberto Raggi --- src/plugins/cpptools/cppcodestylesettings.h | 67 +++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/plugins/cpptools/cppcodestylesettings.h (limited to 'src/plugins/cpptools/cppcodestylesettings.h') diff --git a/src/plugins/cpptools/cppcodestylesettings.h b/src/plugins/cpptools/cppcodestylesettings.h new file mode 100644 index 0000000000..20651ed11c --- /dev/null +++ b/src/plugins/cpptools/cppcodestylesettings.h @@ -0,0 +1,67 @@ +#ifndef CPPCODESTYLESETTINGS_H +#define CPPCODESTYLESETTINGS_H + +#include "cpptools_global.h" + +#include +#include + +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 -- cgit v1.2.1