Text editor settings cleanup to avoid some copying

This commit is contained in:
Thorbjørn Lindeijer
2010-01-20 11:27:08 +01:00
parent ed5a0fb0b2
commit 545c9b9190
6 changed files with 23 additions and 32 deletions

View File

@@ -195,17 +195,17 @@ void BehaviorSettingsPage::settingsToUI()
m_d->m_page.scrollWheelZooming->setChecked(behaviorSettings.m_scrollWheelZooming); m_d->m_page.scrollWheelZooming->setChecked(behaviorSettings.m_scrollWheelZooming);
} }
TabSettings BehaviorSettingsPage::tabSettings() const const TabSettings &BehaviorSettingsPage::tabSettings() const
{ {
return m_d->m_tabSettings; return m_d->m_tabSettings;
} }
StorageSettings BehaviorSettingsPage::storageSettings() const const StorageSettings &BehaviorSettingsPage::storageSettings() const
{ {
return m_d->m_storageSettings; return m_d->m_storageSettings;
} }
BehaviorSettings BehaviorSettingsPage::behaviorSettings() const const BehaviorSettings &BehaviorSettingsPage::behaviorSettings() const
{ {
return m_d->m_behaviorSettings; return m_d->m_behaviorSettings;
} }

View File

@@ -69,9 +69,9 @@ public:
void apply(); void apply();
void finish() { } void finish() { }
TabSettings tabSettings() const; const TabSettings &tabSettings() const;
StorageSettings storageSettings() const; const StorageSettings &storageSettings() const;
BehaviorSettings behaviorSettings() const; const BehaviorSettings &behaviorSettings() const;
virtual bool matches(const QString &s) const; virtual bool matches(const QString &s) const;

View File

@@ -113,17 +113,7 @@ void DisplaySettingsPage::apply()
DisplaySettings newDisplaySettings; DisplaySettings newDisplaySettings;
settingsFromUI(newDisplaySettings); settingsFromUI(newDisplaySettings);
setDisplaySettings(newDisplaySettings);
Core::ICore *core = Core::ICore::instance();
QSettings *s = core->settings();
if (newDisplaySettings != m_d->m_displaySettings) {
m_d->m_displaySettings = newDisplaySettings;
if (s)
m_d->m_displaySettings.toSettings(m_d->m_parameters.settingsPrefix, s);
emit displaySettingsChanged(newDisplaySettings);
}
} }
void DisplaySettingsPage::settingsFromUI(DisplaySettings &displaySettings) const void DisplaySettingsPage::settingsFromUI(DisplaySettings &displaySettings) const
@@ -157,7 +147,7 @@ void DisplaySettingsPage::settingsToUI()
m_d->m_page.autoFoldFirstComment->setChecked(displaySettings.m_autoFoldFirstComment); m_d->m_page.autoFoldFirstComment->setChecked(displaySettings.m_autoFoldFirstComment);
} }
DisplaySettings DisplaySettingsPage::displaySettings() const const DisplaySettings &DisplaySettingsPage::displaySettings() const
{ {
return m_d->m_displaySettings; return m_d->m_displaySettings;
} }

View File

@@ -68,8 +68,7 @@ public:
void finish() { } void finish() { }
virtual bool matches(const QString &s) const; virtual bool matches(const QString &s) const;
DisplaySettings displaySettings() const; const DisplaySettings &displaySettings() const;
void setDisplaySettings(const DisplaySettings &);
signals: signals:
void displaySettingsChanged(const TextEditor::DisplaySettings &); void displaySettingsChanged(const TextEditor::DisplaySettings &);
@@ -77,6 +76,8 @@ signals:
private: private:
void settingsFromUI(DisplaySettings &displaySettings) const; void settingsFromUI(DisplaySettings &displaySettings) const;
void settingsToUI(); void settingsToUI();
void setDisplaySettings(const DisplaySettings &);
struct DisplaySettingsPagePrivate; struct DisplaySettingsPagePrivate;
DisplaySettingsPagePrivate *m_d; DisplaySettingsPagePrivate *m_d;
}; };

View File

@@ -190,39 +190,39 @@ void TextEditorSettings::initializeEditor(BaseTextEditor *editor)
void TextEditorSettings::fontZoomRequested(int zoom) void TextEditorSettings::fontZoomRequested(int zoom)
{ {
FontSettings &fs = const_cast<FontSettings&>(m_fontSettingsPage->fontSettings()); FontSettings &fs = const_cast<FontSettings&>(fontSettings());
fs.setFontZoom(qMax(10, fs.fontZoom() + zoom)); fs.setFontZoom(qMax(10, fs.fontZoom() + zoom));
m_fontSettingsPage->saveSettings(); m_fontSettingsPage->saveSettings();
} }
void TextEditorSettings::zoomResetRequested() void TextEditorSettings::zoomResetRequested()
{ {
FontSettings &fs = const_cast<FontSettings&>(m_fontSettingsPage->fontSettings()); FontSettings &fs = const_cast<FontSettings&>(fontSettings());
fs.setFontZoom(100); fs.setFontZoom(100);
m_fontSettingsPage->saveSettings(); m_fontSettingsPage->saveSettings();
} }
FontSettings TextEditorSettings::fontSettings() const const FontSettings &TextEditorSettings::fontSettings() const
{ {
return m_fontSettingsPage->fontSettings(); return m_fontSettingsPage->fontSettings();
} }
TabSettings TextEditorSettings::tabSettings() const const TabSettings &TextEditorSettings::tabSettings() const
{ {
return m_behaviorSettingsPage->tabSettings(); return m_behaviorSettingsPage->tabSettings();
} }
StorageSettings TextEditorSettings::storageSettings() const const StorageSettings &TextEditorSettings::storageSettings() const
{ {
return m_behaviorSettingsPage->storageSettings(); return m_behaviorSettingsPage->storageSettings();
} }
BehaviorSettings TextEditorSettings::behaviorSettings() const const BehaviorSettings &TextEditorSettings::behaviorSettings() const
{ {
return m_behaviorSettingsPage->behaviorSettings(); return m_behaviorSettingsPage->behaviorSettings();
} }
DisplaySettings TextEditorSettings::displaySettings() const const DisplaySettings &TextEditorSettings::displaySettings() const
{ {
return m_displaySettingsPage->displaySettings(); return m_displaySettingsPage->displaySettings();
} }

View File

@@ -63,11 +63,11 @@ public:
void initializeEditor(BaseTextEditor *editor); void initializeEditor(BaseTextEditor *editor);
FontSettings fontSettings() const; const FontSettings &fontSettings() const;
TabSettings tabSettings() const; const TabSettings &tabSettings() const;
StorageSettings storageSettings() const; const StorageSettings &storageSettings() const;
BehaviorSettings behaviorSettings() const; const BehaviorSettings &behaviorSettings() const;
DisplaySettings displaySettings() const; const DisplaySettings &displaySettings() const;
signals: signals:
void fontSettingsChanged(const TextEditor::FontSettings &); void fontSettingsChanged(const TextEditor::FontSettings &);