Editor: add margin displaying to project settings.

This patch also moves the showMargin and marginColumn settings into a
new settings class.

Change-Id: I676447be751c13ee438edc1e31e5998b999c6771
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Erik Verbruggen
2014-01-09 14:44:25 +01:00
parent 28180a415a
commit 02314e24f0
16 changed files with 342 additions and 29 deletions

View File

@@ -29,6 +29,7 @@
#include "displaysettingspage.h"
#include "displaysettings.h"
#include "marginsettings.h"
#include "ui_displaysettingspage.h"
#include <coreplugin/icore.h>
@@ -46,6 +47,7 @@ struct DisplaySettingsPage::DisplaySettingsPagePrivate
QPointer<QWidget> m_widget;
Internal::Ui::DisplaySettingsPage *m_page;
DisplaySettings m_displaySettings;
MarginSettings m_marginSettings;
};
DisplaySettingsPage::DisplaySettingsPagePrivate::DisplaySettingsPagePrivate
@@ -53,6 +55,7 @@ DisplaySettingsPage::DisplaySettingsPagePrivate::DisplaySettingsPagePrivate
: m_parameters(p), m_page(0)
{
m_displaySettings.fromSettings(m_parameters.settingsPrefix, Core::ICore::settings());
m_marginSettings.fromSettings(m_parameters.settingsPrefix, Core::ICore::settings());
}
DisplaySettingsPage::DisplaySettingsPage(const DisplaySettingsPageParameters &p,
@@ -85,9 +88,10 @@ void DisplaySettingsPage::apply()
if (!d->m_page) // page was never shown
return;
DisplaySettings newDisplaySettings;
MarginSettings newMarginSettings;
settingsFromUI(newDisplaySettings);
setDisplaySettings(newDisplaySettings);
settingsFromUI(newDisplaySettings, newMarginSettings);
setDisplaySettings(newDisplaySettings, newMarginSettings);
}
void DisplaySettingsPage::finish()
@@ -99,12 +103,13 @@ void DisplaySettingsPage::finish()
d->m_page = 0;
}
void DisplaySettingsPage::settingsFromUI(DisplaySettings &displaySettings) const
void DisplaySettingsPage::settingsFromUI(DisplaySettings &displaySettings,
MarginSettings &marginSettings) const
{
displaySettings.m_displayLineNumbers = d->m_page->displayLineNumbers->isChecked();
displaySettings.m_textWrapping = d->m_page->enableTextWrapping->isChecked();
displaySettings.m_showWrapColumn = d->m_page->showWrapColumn->isChecked();
displaySettings.m_wrapColumn = d->m_page->wrapColumn->value();
marginSettings.m_showMargin = d->m_page->showWrapColumn->isChecked();
marginSettings.m_marginColumn = d->m_page->wrapColumn->value();
displaySettings.m_visualizeWhitespace = d->m_page->visualizeWhitespace->isChecked();
displaySettings.m_displayFoldingMarkers = d->m_page->displayFoldingMarkers->isChecked();
displaySettings.m_highlightCurrentLine = d->m_page->highlightCurrentLine->isChecked();
@@ -121,10 +126,11 @@ void DisplaySettingsPage::settingsFromUI(DisplaySettings &displaySettings) const
void DisplaySettingsPage::settingsToUI()
{
const DisplaySettings &displaySettings = d->m_displaySettings;
const MarginSettings &marginSettings = d->m_marginSettings;
d->m_page->displayLineNumbers->setChecked(displaySettings.m_displayLineNumbers);
d->m_page->enableTextWrapping->setChecked(displaySettings.m_textWrapping);
d->m_page->showWrapColumn->setChecked(displaySettings.m_showWrapColumn);
d->m_page->wrapColumn->setValue(displaySettings.m_wrapColumn);
d->m_page->showWrapColumn->setChecked(marginSettings.m_showMargin);
d->m_page->wrapColumn->setValue(marginSettings.m_marginColumn);
d->m_page->visualizeWhitespace->setChecked(displaySettings.m_visualizeWhitespace);
d->m_page->displayFoldingMarkers->setChecked(displaySettings.m_displayFoldingMarkers);
d->m_page->highlightCurrentLine->setChecked(displaySettings.m_highlightCurrentLine);
@@ -143,7 +149,13 @@ const DisplaySettings &DisplaySettingsPage::displaySettings() const
return d->m_displaySettings;
}
void DisplaySettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySettings)
const MarginSettings &DisplaySettingsPage::marginSettings() const
{
return d->m_marginSettings;
}
void DisplaySettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySettings,
const MarginSettings &newMarginSettings)
{
if (newDisplaySettings != d->m_displaySettings) {
d->m_displaySettings = newDisplaySettings;
@@ -151,4 +163,11 @@ void DisplaySettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySe
emit displaySettingsChanged(newDisplaySettings);
}
if (newMarginSettings != d->m_marginSettings) {
d->m_marginSettings = newMarginSettings;
d->m_marginSettings.toSettings(d->m_parameters.settingsPrefix, Core::ICore::settings());
emit marginSettingsChanged(newMarginSettings);
}
}