forked from qt-creator/qt-creator
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>
This commit is contained in:
86
src/plugins/cpptools/cppcodestylepreferences.cpp
Normal file
86
src/plugins/cpptools/cppcodestylepreferences.cpp
Normal file
@@ -0,0 +1,86 @@
|
||||
#include "cppcodestylepreferences.h"
|
||||
|
||||
using namespace CppTools;
|
||||
|
||||
static const char *settingsSuffixKey = "CodeStyleSettings";
|
||||
|
||||
static const char *currentFallbackKey = "CurrentFallback";
|
||||
|
||||
CppCodeStylePreferences::CppCodeStylePreferences(const QList<TextEditor::IFallbackPreferences *> &fallbacks, QObject *parent) :
|
||||
IFallbackPreferences(fallbacks, parent)
|
||||
{
|
||||
connect(this, SIGNAL(currentValueChanged(QVariant)),
|
||||
this, SLOT(slotCurrentValueChanged(QVariant)));
|
||||
}
|
||||
|
||||
QVariant CppCodeStylePreferences::value() const
|
||||
{
|
||||
QVariant v;
|
||||
v.setValue(settings());
|
||||
return v;
|
||||
}
|
||||
|
||||
void CppCodeStylePreferences::setValue(const QVariant &data)
|
||||
{
|
||||
if (!data.canConvert<CppCodeStyleSettings>())
|
||||
return;
|
||||
|
||||
setSettings(data.value<CppCodeStyleSettings>());
|
||||
}
|
||||
|
||||
CppCodeStyleSettings CppCodeStylePreferences::settings() const
|
||||
{
|
||||
return m_data;
|
||||
}
|
||||
|
||||
void CppCodeStylePreferences::setSettings(const CppCodeStyleSettings &data)
|
||||
{
|
||||
if (m_data == data)
|
||||
return;
|
||||
|
||||
m_data = data;
|
||||
|
||||
QVariant v;
|
||||
v.setValue(data);
|
||||
emit valueChanged(v);
|
||||
emit settingsChanged(m_data);
|
||||
if (!currentFallback()) {
|
||||
emit currentValueChanged(v);
|
||||
}
|
||||
}
|
||||
|
||||
CppCodeStyleSettings CppCodeStylePreferences::currentSettings() const
|
||||
{
|
||||
QVariant v = currentValue();
|
||||
if (!v.canConvert<CppCodeStyleSettings>()) {
|
||||
// warning
|
||||
return CppCodeStyleSettings();
|
||||
}
|
||||
return v.value<CppCodeStyleSettings>();
|
||||
}
|
||||
|
||||
void CppCodeStylePreferences::slotCurrentValueChanged(const QVariant &value)
|
||||
{
|
||||
if (!value.canConvert<CppCodeStyleSettings>())
|
||||
return;
|
||||
|
||||
emit currentSettingsChanged(value.value<CppCodeStyleSettings>());
|
||||
}
|
||||
|
||||
QString CppCodeStylePreferences::settingsSuffix() const
|
||||
{
|
||||
return settingsSuffixKey;
|
||||
}
|
||||
|
||||
void CppCodeStylePreferences::toMap(const QString &prefix, QVariantMap *map) const
|
||||
{
|
||||
m_data.toMap(prefix, map);
|
||||
map->insert(prefix + QLatin1String(currentFallbackKey), currentFallbackId());
|
||||
}
|
||||
|
||||
void CppCodeStylePreferences::fromMap(const QString &prefix, const QVariantMap &map)
|
||||
{
|
||||
m_data.fromMap(prefix, map);
|
||||
setCurrentFallback(map.value(prefix + QLatin1String(currentFallbackKey), QLatin1String("Global")).toString());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user