diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2011-02-03 15:48:14 +0100 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2011-05-24 12:45:07 +0200 |
commit | 779fafcbfe6f92dd1288664fae512f69bc12418b (patch) | |
tree | 38a3b75cc3a18f386ab72102e97f06ffa24d4d29 /src/plugins/cpptools/cpptoolssettings.cpp | |
parent | f69eb52944a7fc8306cbb72b7325a610045dea7a (diff) | |
download | qt-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.cpp | 80 |
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; +} + + |