diff --git a/src/plugins/debugger/watchhandler.h b/src/plugins/debugger/watchhandler.h index c59e87e36adad3a4db8fcc8e60de744f8c2ac890..976a51f743d5b771e9885776523ca7e780b9aef5 100644 --- a/src/plugins/debugger/watchhandler.h +++ b/src/plugins/debugger/watchhandler.h @@ -34,9 +34,7 @@ #include <QtCore/QObject> #include <QtCore/QHash> #include <QtCore/QSet> -#include <QtGui/QStandardItem> -#include <QtGui/QStandardItemModel> -#include <QtGui/QTreeView> +#include <QtCore/QAbstractItemModel> #include <QtScript/QScriptValue> QT_BEGIN_NAMESPACE diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 279cb40608de551d2981947900a23ddd83674809..9d9b6678957b2e5f4ef77ac70aa6a0fae938b460 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -1504,12 +1504,22 @@ bool BaseTextEditor::codeFoldingSupported() const void BaseTextEditor::setMouseNavigationEnabled(bool b) { - d->m_mouseNavigationEnabled = b; + d->m_behaviorSettings.m_mouseNavigation = b; } bool BaseTextEditor::mouseNavigationEnabled() const { - return d->m_mouseNavigationEnabled; + return d->m_behaviorSettings.m_mouseNavigation; +} + +void BaseTextEditor::setScrollWheelZoomingEnabled(bool b) +{ + d->m_behaviorSettings.m_scrollWheelZooming = b; +} + +bool BaseTextEditor::scrollWheelZoomingEnabled() const +{ + return d->m_behaviorSettings.m_scrollWheelZooming; } void BaseTextEditor::setRevisionsVisible(bool b) @@ -1547,7 +1557,6 @@ BaseTextEditorPrivate::BaseTextEditorPrivate() m_marksVisible(false), m_codeFoldingVisible(false), m_codeFoldingSupported(false), - m_mouseNavigationEnabled(true), m_revisionsVisible(false), m_lineNumbersVisible(true), m_highlightCurrentLine(true), @@ -3110,7 +3119,7 @@ void BaseTextEditor::mousePressEvent(QMouseEvent *e) void BaseTextEditor::mouseReleaseEvent(QMouseEvent *e) { - if (d->m_mouseNavigationEnabled + if (mouseNavigationEnabled() && d->m_linkPressed && e->modifiers() & Qt::ControlModifier && !(e->modifiers() & Qt::ShiftModifier) @@ -3516,8 +3525,8 @@ void BaseTextEditor::handleBackspaceKey() void BaseTextEditor::wheelEvent(QWheelEvent *e) { - d->clearVisibleCollapsedBlock(); - if (e->modifiers() & Qt::ControlModifier) { + d->clearVisibleCollapsedBlock(); + if (scrollWheelZoomingEnabled() && e->modifiers() & Qt::ControlModifier) { const int delta = e->delta(); if (delta < 0) zoomOut(); @@ -3644,7 +3653,7 @@ void BaseTextEditor::updateLink(QMouseEvent *e) { bool linkFound = false; - if (d->m_mouseNavigationEnabled && e->modifiers() & Qt::ControlModifier) { + if (mouseNavigationEnabled() && e->modifiers() & Qt::ControlModifier) { // Link emulation behaviour for 'go to definition' const QTextCursor cursor = cursorForPosition(e->pos()); @@ -4688,6 +4697,7 @@ void BaseTextEditor::setDisplaySettings(const DisplaySettings &ds) void BaseTextEditor::setBehaviorSettings(const TextEditor::BehaviorSettings &bs) { setMouseNavigationEnabled(bs.m_mouseNavigation); + setScrollWheelZoomingEnabled(bs.m_scrollWheelZooming); } void BaseTextEditor::setStorageSettings(const StorageSettings &storageSettings) diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index f7edcf2ac0a991783d2a4ce4c52d0b94b22fecb2..38784adcb8e3a0d1349bb5f410f8051d3e8804cd 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -360,6 +360,9 @@ public: void setMouseNavigationEnabled(bool b); bool mouseNavigationEnabled() const; + void setScrollWheelZoomingEnabled(bool b); + bool scrollWheelZoomingEnabled() const; + void setRevisionsVisible(bool b); bool revisionsVisible() const; diff --git a/src/plugins/texteditor/basetexteditor_p.h b/src/plugins/texteditor/basetexteditor_p.h index 2947d05ce47ceef1fed180e126e25ad8a4ed1c5f..3f6c158708e5cf877cf87cd9ab030ddb25034f01 100644 --- a/src/plugins/texteditor/basetexteditor_p.h +++ b/src/plugins/texteditor/basetexteditor_p.h @@ -31,6 +31,7 @@ #define BASETEXTEDITOR_P_H #include "basetexteditor.h" +#include "behaviorsettings.h" #include "displaysettings.h" #include "texteditoroverlay.h" #include "fontsettings.h" @@ -181,8 +182,10 @@ public: // end parentheses matcher QWidget *m_extraArea; + DisplaySettings m_displaySettings; - TextEditor::FontSettings m_fontSettings; + FontSettings m_fontSettings; + BehaviorSettings m_behaviorSettings; int extraAreaSelectionAnchorBlockNumber; int extraAreaToggleMarkBlockNumber; @@ -205,7 +208,6 @@ public: uint m_marksVisible : 1; uint m_codeFoldingVisible : 1; uint m_codeFoldingSupported : 1; - uint m_mouseNavigationEnabled : 1; uint m_revisionsVisible : 1; uint m_lineNumbersVisible : 1; uint m_highlightCurrentLine : 1; diff --git a/src/plugins/texteditor/behaviorsettings.cpp b/src/plugins/texteditor/behaviorsettings.cpp index 32ecc500bc4f5a762a7f1526e18ce219168c6327..39445b34ec7b349470eaec2eee482f46687bcb85 100644 --- a/src/plugins/texteditor/behaviorsettings.cpp +++ b/src/plugins/texteditor/behaviorsettings.cpp @@ -33,12 +33,14 @@ #include <QtCore/QString> static const char * const mouseNavigationKey = "MouseNavigation"; +static const char * const scrollWheelZoomingKey = "ScrollWheelZooming"; static const char * const groupPostfix = "BehaviorSettings"; namespace TextEditor { BehaviorSettings::BehaviorSettings() : - m_mouseNavigation(true) + m_mouseNavigation(true), + m_scrollWheelZooming(true) { } @@ -49,6 +51,7 @@ void BehaviorSettings::toSettings(const QString &category, QSettings *s) const group.insert(0, category); s->beginGroup(group); s->setValue(QLatin1String(mouseNavigationKey), m_mouseNavigation); + s->setValue(QLatin1String(scrollWheelZoomingKey), m_scrollWheelZooming); s->endGroup(); } @@ -62,11 +65,13 @@ void BehaviorSettings::fromSettings(const QString &category, const QSettings *s) *this = BehaviorSettings(); // Assign defaults m_mouseNavigation = s->value(group + QLatin1String(mouseNavigationKey), m_mouseNavigation).toBool(); + m_scrollWheelZooming = s->value(group + QLatin1String(scrollWheelZoomingKey), m_scrollWheelZooming).toBool(); } bool BehaviorSettings::equals(const BehaviorSettings &ds) const { return m_mouseNavigation == ds.m_mouseNavigation + && m_scrollWheelZooming == ds.m_scrollWheelZooming ; } diff --git a/src/plugins/texteditor/behaviorsettings.h b/src/plugins/texteditor/behaviorsettings.h index 27b07e34e6bb28e3eaacb89a4a7172f89815931b..d09dd241ffe2cc927eee0d1aca26d34ca479d40d 100644 --- a/src/plugins/texteditor/behaviorsettings.h +++ b/src/plugins/texteditor/behaviorsettings.h @@ -52,6 +52,7 @@ struct TEXTEDITOR_EXPORT BehaviorSettings bool equals(const BehaviorSettings &bs) const; bool m_mouseNavigation; + bool m_scrollWheelZooming; }; inline bool operator==(const BehaviorSettings &t1, const BehaviorSettings &t2) { return t1.equals(t2); } diff --git a/src/plugins/texteditor/behaviorsettingspage.cpp b/src/plugins/texteditor/behaviorsettingspage.cpp index aaa38951546bb14b0ed2a295bb179e99880d142f..79c0d7e29aacad0568807695228565312488288f 100644 --- a/src/plugins/texteditor/behaviorsettingspage.cpp +++ b/src/plugins/texteditor/behaviorsettingspage.cpp @@ -109,9 +109,10 @@ QWidget *BehaviorSettingsPage::createPage(QWidget *parent) << ' ' << m_d->m_page.cleanWhitespace->text() << ' ' << m_d->m_page.addFinalNewLine->text() << ' ' << m_d->m_page.mouseNavigation->text() + << ' ' << m_d->m_page.scrollWheelZooming->text() << ' ' << m_d->m_page.groupBoxTabAndIndentSettings->title() << ' ' << m_d->m_page.groupBoxStorageSettings->title() - << ' ' << m_d->m_page.groupBoxNavigation->title(); + << ' ' << m_d->m_page.groupBoxMouse->title(); m_d->m_searchKeywords.remove(QLatin1Char('&')); } return w; @@ -170,6 +171,7 @@ void BehaviorSettingsPage::settingsFromUI(TabSettings &tabSettings, storageSettings.m_addFinalNewLine = m_d->m_page.addFinalNewLine->isChecked(); behaviorSettings.m_mouseNavigation = m_d->m_page.mouseNavigation->isChecked(); + behaviorSettings.m_scrollWheelZooming = m_d->m_page.scrollWheelZooming->isChecked(); } void BehaviorSettingsPage::settingsToUI() @@ -190,6 +192,7 @@ void BehaviorSettingsPage::settingsToUI() const BehaviorSettings &behaviorSettings = m_d->m_behaviorSettings; m_d->m_page.mouseNavigation->setChecked(behaviorSettings.m_mouseNavigation); + m_d->m_page.scrollWheelZooming->setChecked(behaviorSettings.m_scrollWheelZooming); } TabSettings BehaviorSettingsPage::tabSettings() const diff --git a/src/plugins/texteditor/behaviorsettingspage.ui b/src/plugins/texteditor/behaviorsettingspage.ui index 70490383b8c4798373c3838e1ca7d0e43dd511ce..52bd0970c2a6bf305a78742df82e4d70da9145e1 100644 --- a/src/plugins/texteditor/behaviorsettingspage.ui +++ b/src/plugins/texteditor/behaviorsettingspage.ui @@ -277,9 +277,9 @@ </widget> </item> <item> - <widget class="QGroupBox" name="groupBoxNavigation"> + <widget class="QGroupBox" name="groupBoxMouse"> <property name="title"> - <string>Navigation</string> + <string>Mouse</string> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> @@ -289,6 +289,13 @@ </property> </widget> </item> + <item> + <widget class="QCheckBox" name="scrollWheelZooming"> + <property name="text"> + <string>Enable scroll &wheel zooming</string> + </property> + </widget> + </item> </layout> </widget> </item>