Commit 05914458 authored by Thorbjørn Lindeijer's avatar Thorbjørn Lindeijer

Made it possible to turn off scroll wheel zooming

It activates too easily for some people.

Task-number: QTCREATORBUG-406
parent 0be80466
......@@ -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
......
......@@ -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)
......
......@@ -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;
......
......@@ -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;
......
......@@ -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
;
}
......
......@@ -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); }
......
......@@ -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
......
......@@ -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 &amp;wheel zooming</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment