summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpptoolssettings.cpp
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2011-02-03 15:48:14 +0100
committerChristian Kamm <christian.d.kamm@nokia.com>2011-05-24 12:45:07 +0200
commit779fafcbfe6f92dd1288664fae512f69bc12418b (patch)
tree38a3b75cc3a18f386ab72102e97f06ffa24d4d29 /src/plugins/cpptools/cpptoolssettings.cpp
parentf69eb52944a7fc8306cbb72b7325a610045dea7a (diff)
downloadqt-creator-779fafcbfe6f92dd1288664fae512f69bc12418b.tar.gz
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 <leandro.melo@nokia.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com> Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/plugins/cpptools/cpptoolssettings.cpp')
-rw-r--r--src/plugins/cpptools/cpptoolssettings.cpp80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cpptoolssettings.cpp b/src/plugins/cpptools/cpptoolssettings.cpp
new file mode 100644
index 0000000000..439c15e538
--- /dev/null
+++ b/src/plugins/cpptools/cpptoolssettings.cpp
@@ -0,0 +1,80 @@
+#include "cpptoolssettings.h"
+#include "cpptoolsconstants.h"
+#include "cppcodestylepreferences.h"
+
+#include <texteditor/texteditorsettings.h>
+#include <texteditor/tabpreferences.h>
+
+#include <utils/qtcassert.h>
+#include <coreplugin/icore.h>
+#include <QtCore/QSettings>
+
+static const char *idKey = "CppGlobal";
+
+using namespace CppTools;
+
+namespace CppTools {
+namespace Internal {
+
+class CppToolsSettingsPrivate
+{
+public:
+ CppCodeStylePreferences *m_cppCodeStylePreferences;
+ TextEditor::TabPreferences *m_tabPreferences;
+};
+
+} // namespace Internal
+} // namespace CppTools
+
+CppToolsSettings *CppToolsSettings::m_instance = 0;
+
+CppToolsSettings::CppToolsSettings(QObject *parent)
+ : QObject(parent)
+ , m_d(new Internal::CppToolsSettingsPrivate)
+{
+ QTC_ASSERT(!m_instance, return);
+ m_instance = this;
+
+ if (const QSettings *s = Core::ICore::instance()->settings()) {
+ TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance();
+ m_d->m_tabPreferences
+ = new TextEditor::TabPreferences(QList<TextEditor::IFallbackPreferences *>()
+ << textEditorSettings->tabPreferences(), this);
+ m_d->m_tabPreferences->setCurrentFallback(textEditorSettings->tabPreferences());
+ m_d->m_tabPreferences->fromSettings(CppTools::Constants::CPP_SETTINGS_ID, s);
+ m_d->m_tabPreferences->setDisplayName(tr("global C++"));
+ m_d->m_tabPreferences->setId(idKey);
+ textEditorSettings->registerLanguageTabPreferences(CppTools::Constants::CPP_SETTINGS_ID, m_d->m_tabPreferences);
+
+ m_d->m_cppCodeStylePreferences
+ = new CppCodeStylePreferences(QList<TextEditor::IFallbackPreferences *>(), this);
+ m_d->m_cppCodeStylePreferences->fromSettings(CppTools::Constants::CPP_SETTINGS_ID, s);
+ m_d->m_cppCodeStylePreferences->setDisplayName(tr("global C++"));
+ m_d->m_cppCodeStylePreferences->setId(idKey);
+ textEditorSettings->registerLanguageCodeStylePreferences(CppTools::Constants::CPP_SETTINGS_ID, m_d->m_cppCodeStylePreferences);
+ }
+}
+
+CppToolsSettings::~CppToolsSettings()
+{
+ delete m_d;
+
+ m_instance = 0;
+}
+
+CppToolsSettings *CppToolsSettings::instance()
+{
+ return m_instance;
+}
+
+CppCodeStylePreferences *CppToolsSettings::cppCodeStylePreferences() const
+{
+ return m_d->m_cppCodeStylePreferences;
+}
+
+TextEditor::TabPreferences *CppToolsSettings::tabPreferences() const
+{
+ return m_d->m_tabPreferences;
+}
+
+