summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodestylesettings.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppcodestylesettings.h')
-rw-r--r--src/plugins/cpptools/cppcodestylesettings.h67
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 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 <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