forked from qt-creator/qt-creator
Small refactor
Change-Id: I2988ce1c2a73798abccf690a3ed5d4e3a92c91a2 Reviewed-on: http://codereview.qt.nokia.com/517 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
This commit is contained in:
@@ -91,9 +91,10 @@ struct EditorConfigurationPrivate
|
|||||||
|
|
||||||
EditorConfiguration::EditorConfiguration() : m_d(new EditorConfigurationPrivate)
|
EditorConfiguration::EditorConfiguration() : m_d(new EditorConfigurationPrivate)
|
||||||
{
|
{
|
||||||
QList<IFallbackPreferences *> fallbacks;
|
TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance();
|
||||||
fallbacks << TextEditorSettings::instance()->tabPreferences();
|
QList<TabPreferences *> tabFallbacks;
|
||||||
m_d->m_tabPreferences = new TabPreferences(fallbacks, this);
|
tabFallbacks << textEditorSettings->tabPreferences();
|
||||||
|
m_d->m_tabPreferences = new TabPreferences(tabFallbacks, this);
|
||||||
m_d->m_tabPreferences->setDisplayName(tr("Project", "Settings"));
|
m_d->m_tabPreferences->setDisplayName(tr("Project", "Settings"));
|
||||||
m_d->m_tabPreferences->setId(kId);
|
m_d->m_tabPreferences->setId(kId);
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#include "extraencodingsettings.h"
|
#include "extraencodingsettings.h"
|
||||||
#include "ui_behaviorsettingspage.h"
|
#include "ui_behaviorsettingspage.h"
|
||||||
#include "tabpreferences.h"
|
#include "tabpreferences.h"
|
||||||
|
#include "texteditorconstants.h"
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
#include <coreplugin/coreconstants.h>
|
#include <coreplugin/coreconstants.h>
|
||||||
@@ -46,8 +47,6 @@
|
|||||||
#include <QtCore/QSettings>
|
#include <QtCore/QSettings>
|
||||||
#include <QtCore/QTextCodec>
|
#include <QtCore/QTextCodec>
|
||||||
|
|
||||||
static const char *idKey = "Global";
|
|
||||||
|
|
||||||
using namespace TextEditor;
|
using namespace TextEditor;
|
||||||
|
|
||||||
struct BehaviorSettingsPage::BehaviorSettingsPagePrivate
|
struct BehaviorSettingsPage::BehaviorSettingsPagePrivate
|
||||||
@@ -77,9 +76,7 @@ BehaviorSettingsPage::BehaviorSettingsPagePrivate::BehaviorSettingsPagePrivate
|
|||||||
void BehaviorSettingsPage::BehaviorSettingsPagePrivate::init()
|
void BehaviorSettingsPage::BehaviorSettingsPagePrivate::init()
|
||||||
{
|
{
|
||||||
if (const QSettings *s = Core::ICore::instance()->settings()) {
|
if (const QSettings *s = Core::ICore::instance()->settings()) {
|
||||||
TabSettings ts;
|
m_tabPreferences->fromSettings(m_parameters.settingsPrefix, s);
|
||||||
ts.fromSettings(m_parameters.settingsPrefix, s);
|
|
||||||
m_tabPreferences->setSettings(ts);
|
|
||||||
m_storageSettings.fromSettings(m_parameters.settingsPrefix, s);
|
m_storageSettings.fromSettings(m_parameters.settingsPrefix, s);
|
||||||
m_behaviorSettings.fromSettings(m_parameters.settingsPrefix, s);
|
m_behaviorSettings.fromSettings(m_parameters.settingsPrefix, s);
|
||||||
m_extraEncodingSettings.fromSettings(m_parameters.settingsPrefix, s);
|
m_extraEncodingSettings.fromSettings(m_parameters.settingsPrefix, s);
|
||||||
@@ -93,7 +90,7 @@ BehaviorSettingsPage::BehaviorSettingsPage(const BehaviorSettingsPageParameters
|
|||||||
{
|
{
|
||||||
m_d->m_tabPreferences = new TabPreferences(QList<IFallbackPreferences *>(), this);
|
m_d->m_tabPreferences = new TabPreferences(QList<IFallbackPreferences *>(), this);
|
||||||
m_d->m_tabPreferences->setDisplayName(tr("Global", "Settings"));
|
m_d->m_tabPreferences->setDisplayName(tr("Global", "Settings"));
|
||||||
m_d->m_tabPreferences->setId(idKey);
|
m_d->m_tabPreferences->setId(Constants::GLOBAL_SETTINGS_ID);
|
||||||
m_d->init();
|
m_d->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,7 +114,9 @@ QWidget *BehaviorSettingsPage::createPage(QWidget *parent)
|
|||||||
QWidget *w = new QWidget(parent);
|
QWidget *w = new QWidget(parent);
|
||||||
m_d->m_page = new Ui::BehaviorSettingsPage;
|
m_d->m_page = new Ui::BehaviorSettingsPage;
|
||||||
m_d->m_page->setupUi(w);
|
m_d->m_page->setupUi(w);
|
||||||
m_d->m_pageTabPreferences = new TabPreferences(QList<IFallbackPreferences *>(), w);
|
m_d->m_pageTabPreferences = new TabPreferences(m_d->m_tabPreferences->fallbacks(), w);
|
||||||
|
m_d->m_pageTabPreferences->setSettings(m_d->m_tabPreferences->settings());
|
||||||
|
m_d->m_pageTabPreferences->setCurrentFallback(m_d->m_tabPreferences->currentFallback());
|
||||||
m_d->m_page->behaviorWidget->setTabPreferences(m_d->m_pageTabPreferences);
|
m_d->m_page->behaviorWidget->setTabPreferences(m_d->m_pageTabPreferences);
|
||||||
|
|
||||||
settingsToUI();
|
settingsToUI();
|
||||||
@@ -133,20 +132,25 @@ void BehaviorSettingsPage::apply()
|
|||||||
if (!m_d->m_page) // page was never shown
|
if (!m_d->m_page) // page was never shown
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TabSettings newTabSettings;
|
|
||||||
StorageSettings newStorageSettings;
|
StorageSettings newStorageSettings;
|
||||||
BehaviorSettings newBehaviorSettings;
|
BehaviorSettings newBehaviorSettings;
|
||||||
ExtraEncodingSettings newExtraEncodingSettings;
|
ExtraEncodingSettings newExtraEncodingSettings;
|
||||||
|
|
||||||
settingsFromUI(&newTabSettings, &newStorageSettings, &newBehaviorSettings,
|
settingsFromUI(&newStorageSettings, &newBehaviorSettings,
|
||||||
&newExtraEncodingSettings);
|
&newExtraEncodingSettings);
|
||||||
|
|
||||||
QSettings *s = Core::ICore::instance()->settings();
|
QSettings *s = Core::ICore::instance()->settings();
|
||||||
|
|
||||||
if (newTabSettings != m_d->m_tabPreferences->settings()) {
|
if (m_d->m_tabPreferences->settings() != m_d->m_pageTabPreferences->settings()) {
|
||||||
m_d->m_tabPreferences->setSettings(newTabSettings);
|
m_d->m_tabPreferences->setSettings(m_d->m_pageTabPreferences->settings());
|
||||||
if (s)
|
if (s)
|
||||||
m_d->m_tabPreferences->settings().toSettings(m_d->m_parameters.settingsPrefix, s);
|
m_d->m_tabPreferences->toSettings(m_d->m_parameters.settingsPrefix, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_d->m_tabPreferences->currentFallback() != m_d->m_pageTabPreferences->currentFallback()) {
|
||||||
|
m_d->m_tabPreferences->setCurrentFallback(m_d->m_pageTabPreferences->currentFallback());
|
||||||
|
if (s)
|
||||||
|
m_d->m_tabPreferences->toSettings(m_d->m_parameters.settingsPrefix, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newStorageSettings != m_d->m_storageSettings) {
|
if (newStorageSettings != m_d->m_storageSettings) {
|
||||||
@@ -179,12 +183,10 @@ void BehaviorSettingsPage::apply()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BehaviorSettingsPage::settingsFromUI(TabSettings *tabSettings,
|
void BehaviorSettingsPage::settingsFromUI(StorageSettings *storageSettings,
|
||||||
StorageSettings *storageSettings,
|
|
||||||
BehaviorSettings *behaviorSettings,
|
BehaviorSettings *behaviorSettings,
|
||||||
ExtraEncodingSettings *extraEncodingSettings) const
|
ExtraEncodingSettings *extraEncodingSettings) const
|
||||||
{
|
{
|
||||||
*tabSettings = m_d->m_pageTabPreferences->settings();
|
|
||||||
m_d->m_page->behaviorWidget->assignedStorageSettings(storageSettings);
|
m_d->m_page->behaviorWidget->assignedStorageSettings(storageSettings);
|
||||||
m_d->m_page->behaviorWidget->assignedBehaviorSettings(behaviorSettings);
|
m_d->m_page->behaviorWidget->assignedBehaviorSettings(behaviorSettings);
|
||||||
m_d->m_page->behaviorWidget->assignedExtraEncodingSettings(extraEncodingSettings);
|
m_d->m_page->behaviorWidget->assignedExtraEncodingSettings(extraEncodingSettings);
|
||||||
@@ -192,7 +194,6 @@ void BehaviorSettingsPage::settingsFromUI(TabSettings *tabSettings,
|
|||||||
|
|
||||||
void BehaviorSettingsPage::settingsToUI()
|
void BehaviorSettingsPage::settingsToUI()
|
||||||
{
|
{
|
||||||
m_d->m_pageTabPreferences->setSettings(m_d->m_tabPreferences->settings());
|
|
||||||
m_d->m_page->behaviorWidget->setAssignedStorageSettings(m_d->m_storageSettings);
|
m_d->m_page->behaviorWidget->setAssignedStorageSettings(m_d->m_storageSettings);
|
||||||
m_d->m_page->behaviorWidget->setAssignedBehaviorSettings(m_d->m_behaviorSettings);
|
m_d->m_page->behaviorWidget->setAssignedBehaviorSettings(m_d->m_behaviorSettings);
|
||||||
m_d->m_page->behaviorWidget->setAssignedExtraEncodingSettings(m_d->m_extraEncodingSettings);
|
m_d->m_page->behaviorWidget->setAssignedExtraEncodingSettings(m_d->m_extraEncodingSettings);
|
||||||
|
|||||||
@@ -83,8 +83,7 @@ signals:
|
|||||||
void extraEncodingSettingsChanged(const TextEditor::ExtraEncodingSettings &);
|
void extraEncodingSettingsChanged(const TextEditor::ExtraEncodingSettings &);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void settingsFromUI(TabSettings *tabSettings,
|
void settingsFromUI(StorageSettings *storageSettings,
|
||||||
StorageSettings *storageSettings,
|
|
||||||
BehaviorSettings *behaviorSettings,
|
BehaviorSettings *behaviorSettings,
|
||||||
ExtraEncodingSettings *extraEncodingSettings) const;
|
ExtraEncodingSettings *extraEncodingSettings) const;
|
||||||
void settingsToUI();
|
void settingsToUI();
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class TEXTEDITOR_EXPORT FallbackSelectorWidget : public QWidget
|
|||||||
public:
|
public:
|
||||||
explicit FallbackSelectorWidget(QWidget *parent = 0);
|
explicit FallbackSelectorWidget(QWidget *parent = 0);
|
||||||
|
|
||||||
void setFallbackPreferences(TextEditor::IFallbackPreferences *tabPreferences);
|
void setFallbackPreferences(TextEditor::IFallbackPreferences *fallbackPreferences);
|
||||||
QString searchKeywords() const;
|
QString searchKeywords() const;
|
||||||
|
|
||||||
void setFallbacksVisible(bool on);
|
void setFallbacksVisible(bool on);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "tabpreferences.h"
|
#include "tabpreferences.h"
|
||||||
#include "tabsettings.h"
|
#include "tabsettings.h"
|
||||||
|
#include "texteditorconstants.h"
|
||||||
|
|
||||||
using namespace TextEditor;
|
using namespace TextEditor;
|
||||||
|
|
||||||
@@ -7,6 +8,15 @@ static const char *settingsSuffixKey = "TabPreferences";
|
|||||||
|
|
||||||
static const char *currentFallbackKey = "CurrentFallback";
|
static const char *currentFallbackKey = "CurrentFallback";
|
||||||
|
|
||||||
|
static QList<IFallbackPreferences *> toFallbackList(
|
||||||
|
const QList<TabPreferences *> &fallbacks)
|
||||||
|
{
|
||||||
|
QList<IFallbackPreferences *> fallbackList;
|
||||||
|
for (int i = 0; i < fallbacks.count(); i++)
|
||||||
|
fallbackList << fallbacks.at(i);
|
||||||
|
return fallbackList;
|
||||||
|
}
|
||||||
|
|
||||||
TabPreferences::TabPreferences(
|
TabPreferences::TabPreferences(
|
||||||
const QList<IFallbackPreferences *> &fallbacks, QObject *parent)
|
const QList<IFallbackPreferences *> &fallbacks, QObject *parent)
|
||||||
: IFallbackPreferences(fallbacks, parent)
|
: IFallbackPreferences(fallbacks, parent)
|
||||||
@@ -15,6 +25,14 @@ TabPreferences::TabPreferences(
|
|||||||
this, SLOT(slotCurrentValueChanged(QVariant)));
|
this, SLOT(slotCurrentValueChanged(QVariant)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TabPreferences::TabPreferences(
|
||||||
|
const QList<TabPreferences *> &fallbacks, QObject *parent)
|
||||||
|
: IFallbackPreferences(toFallbackList(fallbacks), parent)
|
||||||
|
{
|
||||||
|
connect(this, SIGNAL(currentValueChanged(QVariant)),
|
||||||
|
this, SLOT(slotCurrentValueChanged(QVariant)));
|
||||||
|
}
|
||||||
|
|
||||||
QVariant TabPreferences::value() const
|
QVariant TabPreferences::value() const
|
||||||
{
|
{
|
||||||
QVariant v;
|
QVariant v;
|
||||||
@@ -83,6 +101,6 @@ void TabPreferences::toMap(const QString &prefix, QVariantMap *map) const
|
|||||||
void TabPreferences::fromMap(const QString &prefix, const QVariantMap &map)
|
void TabPreferences::fromMap(const QString &prefix, const QVariantMap &map)
|
||||||
{
|
{
|
||||||
m_data.fromMap(prefix, map);
|
m_data.fromMap(prefix, map);
|
||||||
setCurrentFallback(map.value(prefix + QLatin1String(currentFallbackKey), QLatin1String("Global")).toString());
|
setCurrentFallback(map.value(prefix + QLatin1String(currentFallbackKey), Constants::GLOBAL_SETTINGS_ID).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,12 +14,16 @@ public:
|
|||||||
const QList<IFallbackPreferences *> &fallbacks,
|
const QList<IFallbackPreferences *> &fallbacks,
|
||||||
QObject *parentObject = 0);
|
QObject *parentObject = 0);
|
||||||
|
|
||||||
|
explicit TabPreferences(
|
||||||
|
const QList<TabPreferences *> &fallbacks,
|
||||||
|
QObject *parentObject = 0);
|
||||||
|
|
||||||
virtual QVariant value() const;
|
virtual QVariant value() const;
|
||||||
virtual void setValue(const QVariant &);
|
virtual void setValue(const QVariant &);
|
||||||
|
|
||||||
TabSettings settings() const;
|
TabSettings settings() const;
|
||||||
|
|
||||||
// tracks parent hierarchy until currentParentSettings is null
|
// tracks parent fallbacks until null and extracts settings from it
|
||||||
TabSettings currentSettings() const;
|
TabSettings currentSettings() const;
|
||||||
|
|
||||||
virtual void toMap(const QString &prefix, QVariantMap *map) const;
|
virtual void toMap(const QString &prefix, QVariantMap *map) const;
|
||||||
|
|||||||
@@ -27,12 +27,13 @@ void TabPreferencesWidget::setTabPreferences(TabPreferences *tabPreferences)
|
|||||||
|
|
||||||
// cleanup old
|
// cleanup old
|
||||||
if (m_tabPreferences) {
|
if (m_tabPreferences) {
|
||||||
disconnect(m_tabPreferences, SIGNAL(settingsChanged(TabSettings)),
|
disconnect(m_tabPreferences, SIGNAL(currentSettingsChanged(TextEditor::TabSettings)),
|
||||||
m_ui->tabSettingsWidget, SLOT(setSettings(TabSettings)));
|
m_ui->tabSettingsWidget, SLOT(setSettings(TextEditor::TabSettings)));
|
||||||
disconnect(m_tabPreferences, SIGNAL(currentFallbackChanged(IFallbackPreferences*)),
|
disconnect(m_tabPreferences, SIGNAL(currentFallbackChanged(TextEditor::IFallbackPreferences*)),
|
||||||
this, SLOT(slotCurrentFallbackChanged(IFallbackPreferences*)));
|
this, SLOT(slotCurrentFallbackChanged(TextEditor::IFallbackPreferences*)));
|
||||||
disconnect(m_ui->tabSettingsWidget, SIGNAL(settingsChanged(TabSettings)),
|
disconnect(m_ui->tabSettingsWidget, SIGNAL(settingsChanged(TextEditor::TabSettings)),
|
||||||
m_tabPreferences, SLOT(setSettings(TabSettings)));
|
m_tabPreferences, SLOT(setSettings(TextEditor::TabSettings)));
|
||||||
|
|
||||||
m_ui->tabSettingsWidget->setEnabled(true);
|
m_ui->tabSettingsWidget->setEnabled(true);
|
||||||
}
|
}
|
||||||
m_tabPreferences = tabPreferences;
|
m_tabPreferences = tabPreferences;
|
||||||
@@ -41,14 +42,14 @@ void TabPreferencesWidget::setTabPreferences(TabPreferences *tabPreferences)
|
|||||||
if (m_tabPreferences) {
|
if (m_tabPreferences) {
|
||||||
slotCurrentFallbackChanged(m_tabPreferences->currentFallback());
|
slotCurrentFallbackChanged(m_tabPreferences->currentFallback());
|
||||||
|
|
||||||
connect(m_tabPreferences, SIGNAL(settingsChanged(TextEditor::TabSettings)),
|
connect(m_tabPreferences, SIGNAL(currentSettingsChanged(TextEditor::TabSettings)),
|
||||||
m_ui->tabSettingsWidget, SLOT(setSettings(TextEditor::TabSettings)));
|
m_ui->tabSettingsWidget, SLOT(setSettings(TextEditor::TabSettings)));
|
||||||
connect(m_tabPreferences, SIGNAL(currentFallbackChanged(TextEditor::IFallbackPreferences*)),
|
connect(m_tabPreferences, SIGNAL(currentFallbackChanged(TextEditor::IFallbackPreferences*)),
|
||||||
this, SLOT(slotCurrentFallbackChanged(TextEditor::IFallbackPreferences*)));
|
this, SLOT(slotCurrentFallbackChanged(TextEditor::IFallbackPreferences*)));
|
||||||
connect(m_ui->tabSettingsWidget, SIGNAL(settingsChanged(TextEditor::TabSettings)),
|
connect(m_ui->tabSettingsWidget, SIGNAL(settingsChanged(TextEditor::TabSettings)),
|
||||||
m_tabPreferences, SLOT(setSettings(TextEditor::TabSettings)));
|
m_tabPreferences, SLOT(setSettings(TextEditor::TabSettings)));
|
||||||
|
|
||||||
m_ui->tabSettingsWidget->setSettings(m_tabPreferences->settings());
|
m_ui->tabSettingsWidget->setSettings(m_tabPreferences->currentSettings());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -148,6 +148,8 @@ const char * const TEXT_EDITOR_SNIPPETS_SETTINGS = "F.SnippetsSettings";
|
|||||||
const char * const SNIPPET_EDITOR_ID = "TextEditor.SnippetEditor";
|
const char * const SNIPPET_EDITOR_ID = "TextEditor.SnippetEditor";
|
||||||
const char * const TEXT_SNIPPET_GROUP_ID = "Text";
|
const char * const TEXT_SNIPPET_GROUP_ID = "Text";
|
||||||
|
|
||||||
|
const char * const GLOBAL_SETTINGS_ID = "Global";
|
||||||
|
|
||||||
} // namespace Constants
|
} // namespace Constants
|
||||||
} // namespace TextEditor
|
} // namespace TextEditor
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user