forked from qt-creator/qt-creator
Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
This commit is contained in:
Binary file not shown.
Before Width: | Height: | Size: 294 B After Width: | Height: | Size: 436 B |
@@ -15,33 +15,42 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="caseSensitive">
|
<widget class="QGroupBox" name="groupBox">
|
||||||
<property name="text">
|
<property name="title">
|
||||||
<string>&Case-sensitive completion</string>
|
<string>Completion Settings</string>
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="autoInsertBraces">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Automatically insert braces</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="partiallyComplete">
|
|
||||||
<property name="text">
|
|
||||||
<string>Autocomplete common &prefix</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="caseSensitive">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Case-sensitive completion</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="autoInsertBraces">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Automatically insert braces</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="partiallyComplete">
|
||||||
|
<property name="text">
|
||||||
|
<string>Autocomplete common &prefix</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@@ -74,13 +74,6 @@ public:
|
|||||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
setUniformRowHeights(true);
|
setUniformRowHeights(true);
|
||||||
setTextElideMode(Qt::ElideNone);
|
setTextElideMode(Qt::ElideNone);
|
||||||
setAlternatingRowColors(true);
|
|
||||||
QPalette pal = palette();
|
|
||||||
if (pal.base().color() == Qt::white) { // Leave dark themes as they are
|
|
||||||
pal.setBrush(QPalette::AlternateBase, QColor(239, 239, 239));
|
|
||||||
setPalette(pal);
|
|
||||||
}
|
|
||||||
setProperty("AlternateEmpty", true); // Let Manhattan to override style default
|
|
||||||
// setExpandsOnDoubleClick(false);
|
// setExpandsOnDoubleClick(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
187
src/plugins/texteditor/behaviorsettingspage.cpp
Normal file
187
src/plugins/texteditor/behaviorsettingspage.cpp
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "behaviorsettingspage.h"
|
||||||
|
#include "interactionsettings.h"
|
||||||
|
#include "storagesettings.h"
|
||||||
|
#include "tabsettings.h"
|
||||||
|
#include "ui_behaviorsettingspage.h"
|
||||||
|
|
||||||
|
#include <coreplugin/icore.h>
|
||||||
|
|
||||||
|
#include <QtCore/QSettings>
|
||||||
|
|
||||||
|
using namespace TextEditor;
|
||||||
|
|
||||||
|
struct BehaviorSettingsPage::BehaviorSettingsPagePrivate
|
||||||
|
{
|
||||||
|
explicit BehaviorSettingsPagePrivate(const BehaviorSettingsPageParameters &p);
|
||||||
|
|
||||||
|
const BehaviorSettingsPageParameters m_parameters;
|
||||||
|
Ui::BehaviorSettingsPage m_page;
|
||||||
|
TabSettings m_tabSettings;
|
||||||
|
StorageSettings m_storageSettings;
|
||||||
|
InteractionSettings m_interactionSettings;
|
||||||
|
};
|
||||||
|
|
||||||
|
BehaviorSettingsPage::BehaviorSettingsPagePrivate::BehaviorSettingsPagePrivate
|
||||||
|
(const BehaviorSettingsPageParameters &p)
|
||||||
|
: m_parameters(p)
|
||||||
|
{
|
||||||
|
if (const QSettings *s = Core::ICore::instance()->settings()) {
|
||||||
|
m_tabSettings.fromSettings(m_parameters.settingsPrefix, s);
|
||||||
|
m_storageSettings.fromSettings(m_parameters.settingsPrefix, s);
|
||||||
|
m_interactionSettings.fromSettings(m_parameters.settingsPrefix, s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
BehaviorSettingsPage::BehaviorSettingsPage(const BehaviorSettingsPageParameters &p,
|
||||||
|
QObject *parent)
|
||||||
|
: Core::IOptionsPage(parent),
|
||||||
|
m_d(new BehaviorSettingsPagePrivate(p))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BehaviorSettingsPage::~BehaviorSettingsPage()
|
||||||
|
{
|
||||||
|
delete m_d;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BehaviorSettingsPage::name() const
|
||||||
|
{
|
||||||
|
return m_d->m_parameters.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BehaviorSettingsPage::category() const
|
||||||
|
{
|
||||||
|
return m_d->m_parameters.category;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BehaviorSettingsPage::trCategory() const
|
||||||
|
{
|
||||||
|
return m_d->m_parameters.trCategory;
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget *BehaviorSettingsPage::createPage(QWidget *parent)
|
||||||
|
{
|
||||||
|
QWidget *w = new QWidget(parent);
|
||||||
|
m_d->m_page.setupUi(w);
|
||||||
|
settingsToUI();
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BehaviorSettingsPage::apply()
|
||||||
|
{
|
||||||
|
TabSettings newTabSettings;
|
||||||
|
StorageSettings newStorageSettings;
|
||||||
|
InteractionSettings newInteractionSettings;
|
||||||
|
|
||||||
|
settingsFromUI(newTabSettings, newStorageSettings, newInteractionSettings);
|
||||||
|
|
||||||
|
Core::ICore *core = Core::ICore::instance();
|
||||||
|
QSettings *s = core->settings();
|
||||||
|
|
||||||
|
if (newTabSettings != m_d->m_tabSettings) {
|
||||||
|
m_d->m_tabSettings = newTabSettings;
|
||||||
|
if (s)
|
||||||
|
m_d->m_tabSettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
||||||
|
|
||||||
|
emit tabSettingsChanged(newTabSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newStorageSettings != m_d->m_storageSettings) {
|
||||||
|
m_d->m_storageSettings = newStorageSettings;
|
||||||
|
if (s)
|
||||||
|
m_d->m_storageSettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
||||||
|
|
||||||
|
emit storageSettingsChanged(newStorageSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newInteractionSettings != m_d->m_interactionSettings) {
|
||||||
|
m_d->m_interactionSettings = newInteractionSettings;
|
||||||
|
if (s)
|
||||||
|
m_d->m_interactionSettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void BehaviorSettingsPage::settingsFromUI(TabSettings &tabSettings,
|
||||||
|
StorageSettings &storageSettings,
|
||||||
|
InteractionSettings &interactionSettings) const
|
||||||
|
{
|
||||||
|
tabSettings.m_spacesForTabs = m_d->m_page.insertSpaces->isChecked();
|
||||||
|
tabSettings.m_autoIndent = m_d->m_page.autoIndent->isChecked();
|
||||||
|
tabSettings.m_smartBackspace = m_d->m_page.smartBackspace->isChecked();
|
||||||
|
tabSettings.m_tabSize = m_d->m_page.tabSize->value();
|
||||||
|
tabSettings.m_indentSize = m_d->m_page.indentSize->value();
|
||||||
|
|
||||||
|
storageSettings.m_cleanWhitespace = m_d->m_page.cleanWhitespace->isChecked();
|
||||||
|
storageSettings.m_inEntireDocument = m_d->m_page.inEntireDocument->isChecked();
|
||||||
|
storageSettings.m_cleanIndentation = m_d->m_page.cleanIndentation->isChecked();
|
||||||
|
storageSettings.m_addFinalNewLine = m_d->m_page.addFinalNewLine->isChecked();
|
||||||
|
|
||||||
|
interactionSettings.m_useVim = m_d->m_page.useVim->isChecked();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BehaviorSettingsPage::settingsToUI()
|
||||||
|
{
|
||||||
|
const TabSettings &tabSettings = m_d->m_tabSettings;
|
||||||
|
m_d->m_page.insertSpaces->setChecked(tabSettings.m_spacesForTabs);
|
||||||
|
m_d->m_page.autoIndent->setChecked(tabSettings.m_autoIndent);
|
||||||
|
m_d->m_page.smartBackspace->setChecked(tabSettings.m_smartBackspace);
|
||||||
|
m_d->m_page.tabSize->setValue(tabSettings.m_tabSize);
|
||||||
|
m_d->m_page.indentSize->setValue(tabSettings.m_indentSize);
|
||||||
|
|
||||||
|
const StorageSettings &storageSettings = m_d->m_storageSettings;
|
||||||
|
m_d->m_page.cleanWhitespace->setChecked(storageSettings.m_cleanWhitespace);
|
||||||
|
m_d->m_page.inEntireDocument->setChecked(storageSettings.m_inEntireDocument);
|
||||||
|
m_d->m_page.cleanIndentation->setChecked(storageSettings.m_cleanIndentation);
|
||||||
|
m_d->m_page.addFinalNewLine->setChecked(storageSettings.m_addFinalNewLine);
|
||||||
|
|
||||||
|
const InteractionSettings &interactionSettings = m_d->m_interactionSettings;
|
||||||
|
m_d->m_page.useVim->setChecked(interactionSettings.m_useVim);
|
||||||
|
}
|
||||||
|
|
||||||
|
TabSettings BehaviorSettingsPage::tabSettings() const
|
||||||
|
{
|
||||||
|
return m_d->m_tabSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
StorageSettings BehaviorSettingsPage::storageSettings() const
|
||||||
|
{
|
||||||
|
return m_d->m_storageSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
InteractionSettings BehaviorSettingsPage::interactionSettings() const
|
||||||
|
{
|
||||||
|
return m_d->m_interactionSettings;
|
||||||
|
}
|
@@ -31,8 +31,8 @@
|
|||||||
**
|
**
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#ifndef GENERALSETTINGSPAGE_H
|
#ifndef BEHAVIORSETTINGSPAGE_H
|
||||||
#define GENERALSETTINGSPAGE_H
|
#define BEHAVIORSETTINGSPAGE_H
|
||||||
|
|
||||||
#include "texteditor_global.h"
|
#include "texteditor_global.h"
|
||||||
|
|
||||||
@@ -44,10 +44,9 @@ namespace TextEditor {
|
|||||||
|
|
||||||
struct TabSettings;
|
struct TabSettings;
|
||||||
struct StorageSettings;
|
struct StorageSettings;
|
||||||
struct DisplaySettings;
|
|
||||||
struct InteractionSettings;
|
struct InteractionSettings;
|
||||||
|
|
||||||
struct TEXTEDITOR_EXPORT GeneralSettingsPageParameters
|
struct BehaviorSettingsPageParameters
|
||||||
{
|
{
|
||||||
QString name;
|
QString name;
|
||||||
QString category;
|
QString category;
|
||||||
@@ -55,13 +54,13 @@ struct TEXTEDITOR_EXPORT GeneralSettingsPageParameters
|
|||||||
QString settingsPrefix;
|
QString settingsPrefix;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TEXTEDITOR_EXPORT GeneralSettingsPage : public Core::IOptionsPage
|
class BehaviorSettingsPage : public Core::IOptionsPage
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GeneralSettingsPage(const GeneralSettingsPageParameters &p, QObject *parent);
|
BehaviorSettingsPage(const BehaviorSettingsPageParameters &p, QObject *parent);
|
||||||
virtual ~GeneralSettingsPage();
|
virtual ~BehaviorSettingsPage();
|
||||||
|
|
||||||
// IOptionsPage
|
// IOptionsPage
|
||||||
QString name() const;
|
QString name() const;
|
||||||
@@ -74,27 +73,21 @@ public:
|
|||||||
|
|
||||||
TabSettings tabSettings() const;
|
TabSettings tabSettings() const;
|
||||||
StorageSettings storageSettings() const;
|
StorageSettings storageSettings() const;
|
||||||
DisplaySettings displaySettings() const;
|
|
||||||
InteractionSettings interactionSettings() const;
|
InteractionSettings interactionSettings() const;
|
||||||
|
|
||||||
void setDisplaySettings(const DisplaySettings &);
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void tabSettingsChanged(const TextEditor::TabSettings &);
|
void tabSettingsChanged(const TextEditor::TabSettings &);
|
||||||
void storageSettingsChanged(const TextEditor::StorageSettings &);
|
void storageSettingsChanged(const TextEditor::StorageSettings &);
|
||||||
void displaySettingsChanged(const TextEditor::DisplaySettings &);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void settingsFromUI(TabSettings &rc,
|
void settingsFromUI(TabSettings &rc,
|
||||||
StorageSettings &storageSettings,
|
StorageSettings &storageSettings,
|
||||||
DisplaySettings &displaySettings,
|
InteractionSettings &interactionSettings) const;
|
||||||
InteractionSettings &interactionSettings
|
|
||||||
) const;
|
|
||||||
void settingsToUI();
|
void settingsToUI();
|
||||||
struct GeneralSettingsPagePrivate;
|
struct BehaviorSettingsPagePrivate;
|
||||||
GeneralSettingsPagePrivate *m_d;
|
BehaviorSettingsPagePrivate *m_d;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace TextEditor
|
} // namespace TextEditor
|
||||||
|
|
||||||
#endif // GENERALSETTINGSPAGE_H
|
#endif // BEHAVIORSETTINGSPAGE_H
|
@@ -1,13 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>TextEditor::generalSettingsPage</class>
|
<class>TextEditor::BehaviorSettingsPage</class>
|
||||||
<widget class="QWidget" name="TextEditor::generalSettingsPage">
|
<widget class="QWidget" name="TextEditor::BehaviorSettingsPage">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>514</width>
|
<width>484</width>
|
||||||
<height>475</height>
|
<height>398</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -255,71 +255,6 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QGroupBox" name="groupBoxDisplaySettings">
|
|
||||||
<property name="title">
|
|
||||||
<string>Display Settings</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout">
|
|
||||||
<item row="0" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="showWrapColumn">
|
|
||||||
<property name="text">
|
|
||||||
<string>Display right &margin at column</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QSpinBox" name="wrapColumn">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>999</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QCheckBox" name="enableTextWrapping">
|
|
||||||
<property name="text">
|
|
||||||
<string>Enable text &wrapping</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QCheckBox" name="displayLineNumbers">
|
|
||||||
<property name="text">
|
|
||||||
<string>Display line &numbers</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QCheckBox" name="visualizeWhitespace">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Visualize whitespace</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QCheckBox" name="displayFoldingMarkers">
|
|
||||||
<property name="text">
|
|
||||||
<string>Display &folding markers</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QCheckBox" name="highlightCurrentLine">
|
|
||||||
<property name="text">
|
|
||||||
<string>Highlight current &line</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QGroupBox" name="groupBoxInteractionSettings">
|
<widget class="QGroupBox" name="groupBoxInteractionSettings">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Interaction Settings</string>
|
<string>Interaction Settings</string>
|
||||||
@@ -335,7 +270,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="3" column="0">
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
@@ -373,20 +308,14 @@
|
|||||||
<signal>toggled(bool)</signal>
|
<signal>toggled(bool)</signal>
|
||||||
<receiver>cleanIndentation</receiver>
|
<receiver>cleanIndentation</receiver>
|
||||||
<slot>setEnabled(bool)</slot>
|
<slot>setEnabled(bool)</slot>
|
||||||
</connection>
|
|
||||||
<connection>
|
|
||||||
<sender>showWrapColumn</sender>
|
|
||||||
<signal>toggled(bool)</signal>
|
|
||||||
<receiver>wrapColumn</receiver>
|
|
||||||
<slot>setEnabled(bool)</slot>
|
|
||||||
<hints>
|
<hints>
|
||||||
<hint type="sourcelabel">
|
<hint type="sourcelabel">
|
||||||
<x>399</x>
|
<x>20</x>
|
||||||
<y>308</y>
|
<y>20</y>
|
||||||
</hint>
|
</hint>
|
||||||
<hint type="destinationlabel">
|
<hint type="destinationlabel">
|
||||||
<x>474</x>
|
<x>20</x>
|
||||||
<y>308</y>
|
<y>20</y>
|
||||||
</hint>
|
</hint>
|
||||||
</hints>
|
</hints>
|
||||||
</connection>
|
</connection>
|
153
src/plugins/texteditor/displaysettingspage.cpp
Normal file
153
src/plugins/texteditor/displaysettingspage.cpp
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "displaysettingspage.h"
|
||||||
|
#include "displaysettings.h"
|
||||||
|
#include "ui_displaysettingspage.h"
|
||||||
|
|
||||||
|
#include <coreplugin/icore.h>
|
||||||
|
|
||||||
|
#include <QtCore/QSettings>
|
||||||
|
|
||||||
|
using namespace TextEditor;
|
||||||
|
|
||||||
|
struct DisplaySettingsPage::DisplaySettingsPagePrivate
|
||||||
|
{
|
||||||
|
explicit DisplaySettingsPagePrivate(const DisplaySettingsPageParameters &p);
|
||||||
|
|
||||||
|
const DisplaySettingsPageParameters m_parameters;
|
||||||
|
Ui::DisplaySettingsPage m_page;
|
||||||
|
DisplaySettings m_displaySettings;
|
||||||
|
};
|
||||||
|
|
||||||
|
DisplaySettingsPage::DisplaySettingsPagePrivate::DisplaySettingsPagePrivate
|
||||||
|
(const DisplaySettingsPageParameters &p)
|
||||||
|
: m_parameters(p)
|
||||||
|
{
|
||||||
|
if (const QSettings *s = Core::ICore::instance()->settings()) {
|
||||||
|
m_displaySettings.fromSettings(m_parameters.settingsPrefix, s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DisplaySettingsPage::DisplaySettingsPage(const DisplaySettingsPageParameters &p,
|
||||||
|
QObject *parent)
|
||||||
|
: Core::IOptionsPage(parent),
|
||||||
|
m_d(new DisplaySettingsPagePrivate(p))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
DisplaySettingsPage::~DisplaySettingsPage()
|
||||||
|
{
|
||||||
|
delete m_d;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString DisplaySettingsPage::name() const
|
||||||
|
{
|
||||||
|
return m_d->m_parameters.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString DisplaySettingsPage::category() const
|
||||||
|
{
|
||||||
|
return m_d->m_parameters.category;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString DisplaySettingsPage::trCategory() const
|
||||||
|
{
|
||||||
|
return m_d->m_parameters.trCategory;
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget *DisplaySettingsPage::createPage(QWidget *parent)
|
||||||
|
{
|
||||||
|
QWidget *w = new QWidget(parent);
|
||||||
|
m_d->m_page.setupUi(w);
|
||||||
|
settingsToUI();
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DisplaySettingsPage::apply()
|
||||||
|
{
|
||||||
|
DisplaySettings newDisplaySettings;
|
||||||
|
|
||||||
|
settingsFromUI(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
|
||||||
|
{
|
||||||
|
displaySettings.m_displayLineNumbers = m_d->m_page.displayLineNumbers->isChecked();
|
||||||
|
displaySettings.m_textWrapping = m_d->m_page.enableTextWrapping->isChecked();
|
||||||
|
displaySettings.m_showWrapColumn = m_d->m_page.showWrapColumn->isChecked();
|
||||||
|
displaySettings.m_wrapColumn = m_d->m_page.wrapColumn->value();
|
||||||
|
displaySettings.m_visualizeWhitespace = m_d->m_page.visualizeWhitespace->isChecked();
|
||||||
|
displaySettings.m_displayFoldingMarkers = m_d->m_page.displayFoldingMarkers->isChecked();
|
||||||
|
displaySettings.m_highlightCurrentLine = m_d->m_page.highlightCurrentLine->isChecked();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DisplaySettingsPage::settingsToUI()
|
||||||
|
{
|
||||||
|
const DisplaySettings &displaySettings = m_d->m_displaySettings;
|
||||||
|
m_d->m_page.displayLineNumbers->setChecked(displaySettings.m_displayLineNumbers);
|
||||||
|
m_d->m_page.enableTextWrapping->setChecked(displaySettings.m_textWrapping);
|
||||||
|
m_d->m_page.showWrapColumn->setChecked(displaySettings.m_showWrapColumn);
|
||||||
|
m_d->m_page.wrapColumn->setValue(displaySettings.m_wrapColumn);
|
||||||
|
m_d->m_page.visualizeWhitespace->setChecked(displaySettings.m_visualizeWhitespace);
|
||||||
|
m_d->m_page.displayFoldingMarkers->setChecked(displaySettings.m_displayFoldingMarkers);
|
||||||
|
m_d->m_page.highlightCurrentLine->setChecked(displaySettings.m_highlightCurrentLine);
|
||||||
|
}
|
||||||
|
|
||||||
|
DisplaySettings DisplaySettingsPage::displaySettings() const
|
||||||
|
{
|
||||||
|
return m_d->m_displaySettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DisplaySettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySettings)
|
||||||
|
{
|
||||||
|
if (newDisplaySettings != m_d->m_displaySettings) {
|
||||||
|
m_d->m_displaySettings = newDisplaySettings;
|
||||||
|
Core::ICore *core = Core::ICore::instance();
|
||||||
|
if (QSettings *s = core->settings())
|
||||||
|
m_d->m_displaySettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
||||||
|
|
||||||
|
emit displaySettingsChanged(newDisplaySettings);
|
||||||
|
}
|
||||||
|
}
|
87
src/plugins/texteditor/displaysettingspage.h
Normal file
87
src/plugins/texteditor/displaysettingspage.h
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator
|
||||||
|
**
|
||||||
|
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
**
|
||||||
|
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** Non-Open Source Usage
|
||||||
|
**
|
||||||
|
** Licensees may use this file in accordance with the Qt Beta Version
|
||||||
|
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||||
|
** alternatively, in accordance with the terms contained in a written
|
||||||
|
** agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
**
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||||
|
** of this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
**
|
||||||
|
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||||
|
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef DISPLAYSETTINGSPAGE_H
|
||||||
|
#define DISPLAYSETTINGSPAGE_H
|
||||||
|
|
||||||
|
#include "texteditor_global.h"
|
||||||
|
|
||||||
|
#include <coreplugin/dialogs/ioptionspage.h>
|
||||||
|
|
||||||
|
#include <QtCore/QObject>
|
||||||
|
|
||||||
|
namespace TextEditor {
|
||||||
|
|
||||||
|
struct DisplaySettings;
|
||||||
|
|
||||||
|
struct DisplaySettingsPageParameters
|
||||||
|
{
|
||||||
|
QString name;
|
||||||
|
QString category;
|
||||||
|
QString trCategory;
|
||||||
|
QString settingsPrefix;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DisplaySettingsPage : public Core::IOptionsPage
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
DisplaySettingsPage(const DisplaySettingsPageParameters &p, QObject *parent);
|
||||||
|
virtual ~DisplaySettingsPage();
|
||||||
|
|
||||||
|
// IOptionsPage
|
||||||
|
QString name() const;
|
||||||
|
QString category() const;
|
||||||
|
QString trCategory() const;
|
||||||
|
|
||||||
|
QWidget *createPage(QWidget *parent);
|
||||||
|
void apply();
|
||||||
|
void finish() { }
|
||||||
|
|
||||||
|
DisplaySettings displaySettings() const;
|
||||||
|
void setDisplaySettings(const DisplaySettings &);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void displaySettingsChanged(const TextEditor::DisplaySettings &);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void settingsFromUI(DisplaySettings &displaySettings) const;
|
||||||
|
void settingsToUI();
|
||||||
|
struct DisplaySettingsPagePrivate;
|
||||||
|
DisplaySettingsPagePrivate *m_d;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace TextEditor
|
||||||
|
|
||||||
|
#endif // DISPLAYSETTINGSPAGE_H
|
116
src/plugins/texteditor/displaysettingspage.ui
Normal file
116
src/plugins/texteditor/displaysettingspage.ui
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>TextEditor::DisplaySettingsPage</class>
|
||||||
|
<widget class="QWidget" name="TextEditor::DisplaySettingsPage">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>514</width>
|
||||||
|
<height>194</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QGroupBox" name="groupBoxDisplaySettings">
|
||||||
|
<property name="title">
|
||||||
|
<string>Display Settings</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="showWrapColumn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Display right &margin at column</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="wrapColumn">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>999</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QCheckBox" name="enableTextWrapping">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable text &wrapping</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QCheckBox" name="displayLineNumbers">
|
||||||
|
<property name="text">
|
||||||
|
<string>Display line &numbers</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QCheckBox" name="visualizeWhitespace">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Visualize whitespace</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QCheckBox" name="displayFoldingMarkers">
|
||||||
|
<property name="text">
|
||||||
|
<string>Display &folding markers</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QCheckBox" name="highlightCurrentLine">
|
||||||
|
<property name="text">
|
||||||
|
<string>Highlight current &line</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>8</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>showWrapColumn</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>wrapColumn</receiver>
|
||||||
|
<slot>setEnabled(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>399</x>
|
||||||
|
<y>308</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>474</x>
|
||||||
|
<y>308</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
@@ -1,237 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
**
|
|
||||||
** This file is part of Qt Creator
|
|
||||||
**
|
|
||||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
**
|
|
||||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** Non-Open Source Usage
|
|
||||||
**
|
|
||||||
** Licensees may use this file in accordance with the Qt Beta Version
|
|
||||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
|
||||||
** alternatively, in accordance with the terms contained in a written
|
|
||||||
** agreement between you and Nokia.
|
|
||||||
**
|
|
||||||
** GNU General Public License Usage
|
|
||||||
**
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU General
|
|
||||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
|
||||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
|
||||||
** of this file. Please review the following information to ensure GNU
|
|
||||||
** General Public Licensing requirements will be met:
|
|
||||||
**
|
|
||||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
|
||||||
** http://www.gnu.org/copyleft/gpl.html.
|
|
||||||
**
|
|
||||||
** In addition, as a special exception, Nokia gives you certain additional
|
|
||||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
|
||||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include "displaysettings.h"
|
|
||||||
#include "generalsettingspage.h"
|
|
||||||
#include "interactionsettings.h"
|
|
||||||
#include "storagesettings.h"
|
|
||||||
#include "tabsettings.h"
|
|
||||||
#include "ui_generalsettingspage.h"
|
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
|
||||||
|
|
||||||
#include <QtCore/QSettings>
|
|
||||||
#include <QtCore/QDebug>
|
|
||||||
|
|
||||||
using namespace TextEditor;
|
|
||||||
|
|
||||||
struct GeneralSettingsPage::GeneralSettingsPagePrivate
|
|
||||||
{
|
|
||||||
explicit GeneralSettingsPagePrivate(const GeneralSettingsPageParameters &p);
|
|
||||||
|
|
||||||
const GeneralSettingsPageParameters m_parameters;
|
|
||||||
Ui::generalSettingsPage m_page;
|
|
||||||
TabSettings m_tabSettings;
|
|
||||||
StorageSettings m_storageSettings;
|
|
||||||
DisplaySettings m_displaySettings;
|
|
||||||
InteractionSettings m_interactionSettings;
|
|
||||||
};
|
|
||||||
|
|
||||||
GeneralSettingsPage::GeneralSettingsPagePrivate::GeneralSettingsPagePrivate
|
|
||||||
(const GeneralSettingsPageParameters &p)
|
|
||||||
: m_parameters(p)
|
|
||||||
{
|
|
||||||
if (const QSettings *s = Core::ICore::instance()->settings()) {
|
|
||||||
m_tabSettings.fromSettings(m_parameters.settingsPrefix, s);
|
|
||||||
m_storageSettings.fromSettings(m_parameters.settingsPrefix, s);
|
|
||||||
m_displaySettings.fromSettings(m_parameters.settingsPrefix, s);
|
|
||||||
m_interactionSettings.fromSettings(m_parameters.settingsPrefix, s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GeneralSettingsPage::GeneralSettingsPage(const GeneralSettingsPageParameters &p,
|
|
||||||
QObject *parent)
|
|
||||||
: Core::IOptionsPage(parent),
|
|
||||||
m_d(new GeneralSettingsPagePrivate(p))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
GeneralSettingsPage::~GeneralSettingsPage()
|
|
||||||
{
|
|
||||||
delete m_d;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString GeneralSettingsPage::name() const
|
|
||||||
{
|
|
||||||
return m_d->m_parameters.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString GeneralSettingsPage::category() const
|
|
||||||
{
|
|
||||||
return m_d->m_parameters.category;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString GeneralSettingsPage::trCategory() const
|
|
||||||
{
|
|
||||||
return m_d->m_parameters.trCategory;
|
|
||||||
}
|
|
||||||
|
|
||||||
QWidget *GeneralSettingsPage::createPage(QWidget *parent)
|
|
||||||
{
|
|
||||||
QWidget *w = new QWidget(parent);
|
|
||||||
m_d->m_page.setupUi(w);
|
|
||||||
settingsToUI();
|
|
||||||
return w;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeneralSettingsPage::apply()
|
|
||||||
{
|
|
||||||
TabSettings newTabSettings;
|
|
||||||
StorageSettings newStorageSettings;
|
|
||||||
DisplaySettings newDisplaySettings;
|
|
||||||
InteractionSettings newInteractionSettings;
|
|
||||||
|
|
||||||
settingsFromUI(newTabSettings, newStorageSettings, newDisplaySettings,
|
|
||||||
newInteractionSettings);
|
|
||||||
|
|
||||||
Core::ICore *core = Core::ICore::instance();
|
|
||||||
QSettings *s = core->settings();
|
|
||||||
|
|
||||||
if (newTabSettings != m_d->m_tabSettings) {
|
|
||||||
m_d->m_tabSettings = newTabSettings;
|
|
||||||
if (s)
|
|
||||||
m_d->m_tabSettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
|
||||||
|
|
||||||
emit tabSettingsChanged(newTabSettings);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (newStorageSettings != m_d->m_storageSettings) {
|
|
||||||
m_d->m_storageSettings = newStorageSettings;
|
|
||||||
if (s)
|
|
||||||
m_d->m_storageSettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
|
||||||
|
|
||||||
emit storageSettingsChanged(newStorageSettings);
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (newInteractionSettings != m_d->m_interactionSettings) {
|
|
||||||
m_d->m_interactionSettings = newInteractionSettings;
|
|
||||||
if (s)
|
|
||||||
m_d->m_interactionSettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeneralSettingsPage::settingsFromUI(TabSettings &rc,
|
|
||||||
StorageSettings &storageSettings,
|
|
||||||
DisplaySettings &displaySettings,
|
|
||||||
InteractionSettings &interactionSettings) const
|
|
||||||
{
|
|
||||||
rc.m_spacesForTabs = m_d->m_page.insertSpaces->isChecked();
|
|
||||||
rc.m_autoIndent = m_d->m_page.autoIndent->isChecked();
|
|
||||||
rc.m_smartBackspace = m_d->m_page.smartBackspace->isChecked();
|
|
||||||
rc.m_tabSize = m_d->m_page.tabSize->value();
|
|
||||||
rc.m_indentSize = m_d->m_page.indentSize->value();
|
|
||||||
|
|
||||||
storageSettings.m_cleanWhitespace = m_d->m_page.cleanWhitespace->isChecked();
|
|
||||||
storageSettings.m_inEntireDocument = m_d->m_page.inEntireDocument->isChecked();
|
|
||||||
storageSettings.m_cleanIndentation = m_d->m_page.cleanIndentation->isChecked();
|
|
||||||
storageSettings.m_addFinalNewLine = m_d->m_page.addFinalNewLine->isChecked();
|
|
||||||
|
|
||||||
displaySettings.m_displayLineNumbers = m_d->m_page.displayLineNumbers->isChecked();
|
|
||||||
displaySettings.m_textWrapping = m_d->m_page.enableTextWrapping->isChecked();
|
|
||||||
displaySettings.m_showWrapColumn = m_d->m_page.showWrapColumn->isChecked();
|
|
||||||
displaySettings.m_wrapColumn = m_d->m_page.wrapColumn->value();
|
|
||||||
displaySettings.m_visualizeWhitespace = m_d->m_page.visualizeWhitespace->isChecked();
|
|
||||||
displaySettings.m_displayFoldingMarkers = m_d->m_page.displayFoldingMarkers->isChecked();
|
|
||||||
displaySettings.m_highlightCurrentLine = m_d->m_page.highlightCurrentLine->isChecked();
|
|
||||||
|
|
||||||
interactionSettings.m_useVim = m_d->m_page.useVim->isChecked();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeneralSettingsPage::settingsToUI()
|
|
||||||
{
|
|
||||||
TabSettings rc = m_d->m_tabSettings;
|
|
||||||
m_d->m_page.insertSpaces->setChecked(rc.m_spacesForTabs);
|
|
||||||
m_d->m_page.autoIndent->setChecked(rc.m_autoIndent);
|
|
||||||
m_d->m_page.smartBackspace->setChecked(rc.m_smartBackspace);
|
|
||||||
m_d->m_page.tabSize->setValue(rc.m_tabSize);
|
|
||||||
m_d->m_page.indentSize->setValue(rc.m_indentSize);
|
|
||||||
|
|
||||||
StorageSettings storageSettings = m_d->m_storageSettings;
|
|
||||||
m_d->m_page.cleanWhitespace->setChecked(storageSettings.m_cleanWhitespace);
|
|
||||||
m_d->m_page.inEntireDocument->setChecked(storageSettings.m_inEntireDocument);
|
|
||||||
m_d->m_page.cleanIndentation->setChecked(storageSettings.m_cleanIndentation);
|
|
||||||
m_d->m_page.addFinalNewLine->setChecked(storageSettings.m_addFinalNewLine);
|
|
||||||
|
|
||||||
DisplaySettings displaySettings = m_d->m_displaySettings;
|
|
||||||
m_d->m_page.displayLineNumbers->setChecked(displaySettings.m_displayLineNumbers);
|
|
||||||
m_d->m_page.enableTextWrapping->setChecked(displaySettings.m_textWrapping);
|
|
||||||
m_d->m_page.showWrapColumn->setChecked(displaySettings.m_showWrapColumn);
|
|
||||||
m_d->m_page.wrapColumn->setValue(displaySettings.m_wrapColumn);
|
|
||||||
m_d->m_page.visualizeWhitespace->setChecked(displaySettings.m_visualizeWhitespace);
|
|
||||||
m_d->m_page.displayFoldingMarkers->setChecked(displaySettings.m_displayFoldingMarkers);
|
|
||||||
m_d->m_page.highlightCurrentLine->setChecked(displaySettings.m_highlightCurrentLine);
|
|
||||||
|
|
||||||
InteractionSettings interactionSettings = m_d->m_interactionSettings;
|
|
||||||
m_d->m_page.useVim->setChecked(interactionSettings.m_useVim);
|
|
||||||
}
|
|
||||||
|
|
||||||
TabSettings GeneralSettingsPage::tabSettings() const
|
|
||||||
{
|
|
||||||
return m_d->m_tabSettings;
|
|
||||||
}
|
|
||||||
|
|
||||||
StorageSettings GeneralSettingsPage::storageSettings() const
|
|
||||||
{
|
|
||||||
return m_d->m_storageSettings;
|
|
||||||
}
|
|
||||||
|
|
||||||
DisplaySettings GeneralSettingsPage::displaySettings() const
|
|
||||||
{
|
|
||||||
return m_d->m_displaySettings;
|
|
||||||
}
|
|
||||||
|
|
||||||
InteractionSettings GeneralSettingsPage::interactionSettings() const
|
|
||||||
{
|
|
||||||
return m_d->m_interactionSettings;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeneralSettingsPage::setDisplaySettings(const DisplaySettings &newDisplaySettings)
|
|
||||||
{
|
|
||||||
if (newDisplaySettings != m_d->m_displaySettings) {
|
|
||||||
m_d->m_displaySettings = newDisplaySettings;
|
|
||||||
Core::ICore *core = Core::ICore::instance();
|
|
||||||
if (QSettings *s = core->settings())
|
|
||||||
m_d->m_displaySettings.toSettings(m_d->m_parameters.settingsPrefix, s);
|
|
||||||
|
|
||||||
emit displaySettingsChanged(newDisplaySettings);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -9,6 +9,7 @@ SOURCES += texteditorplugin.cpp \
|
|||||||
plaintexteditorfactory.cpp \
|
plaintexteditorfactory.cpp \
|
||||||
basetextdocument.cpp \
|
basetextdocument.cpp \
|
||||||
basetexteditor.cpp \
|
basetexteditor.cpp \
|
||||||
|
behaviorsettingspage.cpp \
|
||||||
texteditoractionhandler.cpp \
|
texteditoractionhandler.cpp \
|
||||||
completionsupport.cpp \
|
completionsupport.cpp \
|
||||||
completionwidget.cpp \
|
completionwidget.cpp \
|
||||||
@@ -17,10 +18,10 @@ SOURCES += texteditorplugin.cpp \
|
|||||||
tabsettings.cpp \
|
tabsettings.cpp \
|
||||||
storagesettings.cpp \
|
storagesettings.cpp \
|
||||||
displaysettings.cpp \
|
displaysettings.cpp \
|
||||||
|
displaysettingspage.cpp \
|
||||||
fontsettings.cpp \
|
fontsettings.cpp \
|
||||||
textblockiterator.cpp \
|
textblockiterator.cpp \
|
||||||
linenumberfilter.cpp \
|
linenumberfilter.cpp \
|
||||||
generalsettingspage.cpp \
|
|
||||||
basetextmark.cpp \
|
basetextmark.cpp \
|
||||||
findinfiles.cpp \
|
findinfiles.cpp \
|
||||||
basefilefind.cpp \
|
basefilefind.cpp \
|
||||||
@@ -32,6 +33,7 @@ HEADERS += texteditorplugin.h \
|
|||||||
plaintexteditorfactory.h \
|
plaintexteditorfactory.h \
|
||||||
basetexteditor_p.h \
|
basetexteditor_p.h \
|
||||||
basetextdocument.h \
|
basetextdocument.h \
|
||||||
|
behaviorsettingspage.h \
|
||||||
completionsupport.h \
|
completionsupport.h \
|
||||||
completionwidget.h \
|
completionwidget.h \
|
||||||
basetexteditor.h \
|
basetexteditor.h \
|
||||||
@@ -43,18 +45,19 @@ HEADERS += texteditorplugin.h \
|
|||||||
tabsettings.h \
|
tabsettings.h \
|
||||||
storagesettings.h \
|
storagesettings.h \
|
||||||
displaysettings.h \
|
displaysettings.h \
|
||||||
|
displaysettingspage.h \
|
||||||
fontsettings.h \
|
fontsettings.h \
|
||||||
textblockiterator.h \
|
textblockiterator.h \
|
||||||
itexteditable.h \
|
itexteditable.h \
|
||||||
itexteditor.h \
|
itexteditor.h \
|
||||||
linenumberfilter.h \
|
linenumberfilter.h \
|
||||||
texteditor_global.h \
|
texteditor_global.h \
|
||||||
generalsettingspage.h \
|
|
||||||
basetextmark.h \
|
basetextmark.h \
|
||||||
findinfiles.h \
|
findinfiles.h \
|
||||||
basefilefind.h \
|
basefilefind.h \
|
||||||
texteditorsettings.h \
|
texteditorsettings.h \
|
||||||
codecselector.h
|
codecselector.h
|
||||||
FORMS += fontsettingspage.ui \
|
FORMS += behaviorsettingspage.ui \
|
||||||
generalsettingspage.ui
|
displaysettingspage.ui \
|
||||||
|
fontsettingspage.ui
|
||||||
RESOURCES += texteditor.qrc
|
RESOURCES += texteditor.qrc
|
||||||
|
@@ -33,8 +33,9 @@
|
|||||||
|
|
||||||
#include "texteditorsettings.h"
|
#include "texteditorsettings.h"
|
||||||
|
|
||||||
|
#include "behaviorsettingspage.h"
|
||||||
#include "displaysettings.h"
|
#include "displaysettings.h"
|
||||||
#include "generalsettingspage.h"
|
#include "displaysettingspage.h"
|
||||||
#include "fontsettingspage.h"
|
#include "fontsettingspage.h"
|
||||||
#include "storagesettings.h"
|
#include "storagesettings.h"
|
||||||
#include "tabsettings.h"
|
#include "tabsettings.h"
|
||||||
@@ -93,34 +94,43 @@ TextEditorSettings::TextEditorSettings(QObject *parent)
|
|||||||
|
|
||||||
m_fontSettingsPage = new FontSettingsPage(formatDescriptions,
|
m_fontSettingsPage = new FontSettingsPage(formatDescriptions,
|
||||||
QLatin1String("TextEditor"),
|
QLatin1String("TextEditor"),
|
||||||
tr("Text Editor"));
|
tr("Text Editor"),
|
||||||
|
this);
|
||||||
pm->addObject(m_fontSettingsPage);
|
pm->addObject(m_fontSettingsPage);
|
||||||
|
|
||||||
// Add the GUI used to configure the tab, storage and display settings
|
// Add the GUI used to configure the tab, storage and interaction settings
|
||||||
TextEditor::GeneralSettingsPageParameters generalSettingsPageParameters;
|
TextEditor::BehaviorSettingsPageParameters behaviorSettingsPageParameters;
|
||||||
generalSettingsPageParameters.name = tr("General");
|
behaviorSettingsPageParameters.name = tr("Behavior");
|
||||||
generalSettingsPageParameters.category = QLatin1String("TextEditor");
|
behaviorSettingsPageParameters.category = QLatin1String("TextEditor");
|
||||||
generalSettingsPageParameters.trCategory = tr("Text Editor");
|
behaviorSettingsPageParameters.trCategory = tr("Text Editor");
|
||||||
generalSettingsPageParameters.settingsPrefix = QLatin1String("text");
|
behaviorSettingsPageParameters.settingsPrefix = QLatin1String("text");
|
||||||
m_generalSettingsPage = new GeneralSettingsPage(generalSettingsPageParameters, this);
|
m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this);
|
||||||
pm->addObject(m_generalSettingsPage);
|
pm->addObject(m_behaviorSettingsPage);
|
||||||
|
|
||||||
|
TextEditor::DisplaySettingsPageParameters displaySettingsPageParameters;
|
||||||
|
displaySettingsPageParameters.name = tr("Display");
|
||||||
|
displaySettingsPageParameters.category = QLatin1String("TextEditor");
|
||||||
|
displaySettingsPageParameters.trCategory = tr("Text Editor");
|
||||||
|
displaySettingsPageParameters.settingsPrefix = QLatin1String("text");
|
||||||
|
m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this);
|
||||||
|
pm->addObject(m_displaySettingsPage);
|
||||||
|
|
||||||
connect(m_fontSettingsPage, SIGNAL(changed(TextEditor::FontSettings)),
|
connect(m_fontSettingsPage, SIGNAL(changed(TextEditor::FontSettings)),
|
||||||
this, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)));
|
this, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)));
|
||||||
connect(m_generalSettingsPage, SIGNAL(tabSettingsChanged(TextEditor::TabSettings)),
|
connect(m_behaviorSettingsPage, SIGNAL(tabSettingsChanged(TextEditor::TabSettings)),
|
||||||
this, SIGNAL(tabSettingsChanged(TextEditor::TabSettings)));
|
this, SIGNAL(tabSettingsChanged(TextEditor::TabSettings)));
|
||||||
connect(m_generalSettingsPage, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
|
connect(m_behaviorSettingsPage, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
|
||||||
this, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)));
|
this, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)));
|
||||||
connect(m_generalSettingsPage, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
|
connect(m_displaySettingsPage, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
|
||||||
this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)));
|
this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)));
|
||||||
}
|
}
|
||||||
|
|
||||||
TextEditorSettings::~TextEditorSettings()
|
TextEditorSettings::~TextEditorSettings()
|
||||||
{
|
{
|
||||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||||
pm->removeObject(m_generalSettingsPage);
|
|
||||||
pm->removeObject(m_fontSettingsPage);
|
pm->removeObject(m_fontSettingsPage);
|
||||||
delete m_fontSettingsPage;
|
pm->removeObject(m_behaviorSettingsPage);
|
||||||
|
pm->removeObject(m_displaySettingsPage);
|
||||||
|
|
||||||
m_instance = 0;
|
m_instance = 0;
|
||||||
}
|
}
|
||||||
@@ -137,15 +147,15 @@ FontSettings TextEditorSettings::fontSettings() const
|
|||||||
|
|
||||||
TabSettings TextEditorSettings::tabSettings() const
|
TabSettings TextEditorSettings::tabSettings() const
|
||||||
{
|
{
|
||||||
return m_generalSettingsPage->tabSettings();
|
return m_behaviorSettingsPage->tabSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
StorageSettings TextEditorSettings::storageSettings() const
|
StorageSettings TextEditorSettings::storageSettings() const
|
||||||
{
|
{
|
||||||
return m_generalSettingsPage->storageSettings();
|
return m_behaviorSettingsPage->storageSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
DisplaySettings TextEditorSettings::displaySettings() const
|
DisplaySettings TextEditorSettings::displaySettings() const
|
||||||
{
|
{
|
||||||
return m_generalSettingsPage->displaySettings();
|
return m_displaySettingsPage->displaySettings();
|
||||||
}
|
}
|
||||||
|
@@ -40,7 +40,8 @@
|
|||||||
|
|
||||||
namespace TextEditor {
|
namespace TextEditor {
|
||||||
|
|
||||||
class GeneralSettingsPage;
|
class BehaviorSettingsPage;
|
||||||
|
class DisplaySettingsPage;
|
||||||
class FontSettingsPage;
|
class FontSettingsPage;
|
||||||
class FontSettings;
|
class FontSettings;
|
||||||
struct TabSettings;
|
struct TabSettings;
|
||||||
@@ -74,8 +75,9 @@ signals:
|
|||||||
void displaySettingsChanged(const TextEditor::DisplaySettings &);
|
void displaySettingsChanged(const TextEditor::DisplaySettings &);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TextEditor::FontSettingsPage *m_fontSettingsPage;
|
FontSettingsPage *m_fontSettingsPage;
|
||||||
TextEditor::GeneralSettingsPage *m_generalSettingsPage;
|
BehaviorSettingsPage *m_behaviorSettingsPage;
|
||||||
|
DisplaySettingsPage *m_displaySettingsPage;
|
||||||
|
|
||||||
static TextEditorSettings *m_instance;
|
static TextEditorSettings *m_instance;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user