Commit cf44cbf5 authored by Thorbjørn Lindeijer's avatar Thorbjørn Lindeijer
Browse files

Added an option to disable the mouse navigation

It's conflicting too much with pasting for some, so better have the
option to just turn it off.
parent e913f828
......@@ -189,6 +189,7 @@ CPPEditorEditable::CPPEditorEditable(CPPEditor *editor)
CPPEditor::CPPEditor(QWidget *parent)
: TextEditor::BaseTextEditor(parent)
, m_mouseNavigationEnabled(true)
, m_showingLink(false)
{
setParenthesesMatchingEnabled(true);
......@@ -901,7 +902,7 @@ void CPPEditor::mouseMoveEvent(QMouseEvent *e)
{
bool linkFound = false;
if (e->modifiers() & Qt::ControlModifier) {
if (m_mouseNavigationEnabled && e->modifiers() & Qt::ControlModifier) {
// Link emulation behaviour for 'go to definition'
const QTextCursor cursor = cursorForPosition(e->pos());
......@@ -1027,6 +1028,11 @@ void CPPEditor::setFontSettings(const TextEditor::FontSettings &fs)
m_linkFormat = fs.toTextCharFormat(QLatin1String(TextEditor::Constants::C_LINK));
}
void CPPEditor::setDisplaySettings(const TextEditor::DisplaySettings &ds)
{
TextEditor::BaseTextEditor::setDisplaySettings(ds);
m_mouseNavigationEnabled = ds.m_mouseNavigation;
}
void CPPEditor::unCommentSelection()
{
......
......@@ -87,6 +87,7 @@ public:
public slots:
virtual void setFontSettings(const TextEditor::FontSettings &);
virtual void setDisplaySettings(const TextEditor::DisplaySettings &);
void setSortedMethodOverview(bool sort);
void switchDeclarationDefinition();
void jumpToDefinition();
......@@ -153,11 +154,13 @@ private:
void showLink(const Link &);
void clearLink();
bool m_showingLink;
Link findLinkAt(const QTextCursor &, bool lookupDefinition = true);
static Link linkToSymbol(CPlusPlus::Symbol *symbol);
bool openCppEditorAt(const Link &);
bool m_mouseNavigationEnabled;
bool m_showingLink;
QTextCharFormat m_linkFormat;
CppTools::CppModelManagerInterface *m_modelManager;
......
......@@ -126,7 +126,7 @@ void BehaviorSettingsPage::apply()
}
void BehaviorSettingsPage::settingsFromUI(TabSettings &tabSettings,
StorageSettings &storageSettings) const
StorageSettings &storageSettings) const
{
tabSettings.m_spacesForTabs = m_d->m_page.insertSpaces->isChecked();
tabSettings.m_autoIndent = m_d->m_page.autoIndent->isChecked();
......
......@@ -43,6 +43,7 @@ static const char * const displayFoldingMarkersKey = "DisplayFoldingMarkers";
static const char * const highlightCurrentLineKey = "HighlightCurrentLineKeyV2";
static const char * const highlightBlocksKey = "HighlightBlocksKey";
static const char * const animateMatchingParenthesesKey= "AnimateMatchingParenthesesKey";
static const char * const mouseNavigationKey = "MouseNavigation";
static const char * const groupPostfix = "DisplaySettings";
namespace TextEditor {
......@@ -56,7 +57,8 @@ DisplaySettings::DisplaySettings() :
m_displayFoldingMarkers(true),
m_highlightCurrentLine(false),
m_highlightBlocks(false),
m_animateMatchingParentheses(true)
m_animateMatchingParentheses(true),
m_mouseNavigation(true)
{
}
......@@ -75,6 +77,7 @@ void DisplaySettings::toSettings(const QString &category, QSettings *s) const
s->setValue(QLatin1String(highlightCurrentLineKey), m_highlightCurrentLine);
s->setValue(QLatin1String(highlightBlocksKey), m_highlightBlocks);
s->setValue(QLatin1String(animateMatchingParenthesesKey), m_animateMatchingParentheses);
s->setValue(QLatin1String(mouseNavigationKey), m_mouseNavigation);
s->endGroup();
}
......@@ -96,6 +99,7 @@ void DisplaySettings::fromSettings(const QString &category, const QSettings *s)
m_highlightCurrentLine = s->value(group + QLatin1String(highlightCurrentLineKey), m_highlightCurrentLine).toBool();
m_highlightBlocks = s->value(group + QLatin1String(highlightBlocksKey), m_highlightBlocks).toBool();
m_animateMatchingParentheses = s->value(group + QLatin1String(animateMatchingParenthesesKey), m_animateMatchingParentheses).toBool();
m_mouseNavigation = s->value(group + QLatin1String(mouseNavigationKey), m_mouseNavigation).toBool();
}
bool DisplaySettings::equals(const DisplaySettings &ds) const
......@@ -109,6 +113,7 @@ bool DisplaySettings::equals(const DisplaySettings &ds) const
&& m_highlightCurrentLine == ds.m_highlightCurrentLine
&& m_highlightBlocks == ds.m_highlightBlocks
&& m_animateMatchingParentheses == ds.m_animateMatchingParentheses
&& m_mouseNavigation == ds.m_mouseNavigation
;
}
......
......@@ -54,6 +54,7 @@ struct TEXTEDITOR_EXPORT DisplaySettings
bool m_highlightCurrentLine;
bool m_highlightBlocks;
bool m_animateMatchingParentheses;
bool m_mouseNavigation;
bool equals(const DisplaySettings &ds) const;
};
......
......@@ -123,7 +123,8 @@ void DisplaySettingsPage::settingsFromUI(DisplaySettings &displaySettings) const
displaySettings.m_displayFoldingMarkers = m_d->m_page.displayFoldingMarkers->isChecked();
displaySettings.m_highlightCurrentLine = m_d->m_page.highlightCurrentLine->isChecked();
displaySettings.m_highlightBlocks = m_d->m_page.highlightBlocks->isChecked();
displaySettings.m_animateMatchingParentheses= m_d->m_page.animateMatchingParentheses->isChecked();
displaySettings.m_animateMatchingParentheses = m_d->m_page.animateMatchingParentheses->isChecked();
displaySettings.m_mouseNavigation = m_d->m_page.mouseNavigation->isChecked();
}
void DisplaySettingsPage::settingsToUI()
......@@ -138,6 +139,7 @@ void DisplaySettingsPage::settingsToUI()
m_d->m_page.highlightCurrentLine->setChecked(displaySettings.m_highlightCurrentLine);
m_d->m_page.highlightBlocks->setChecked(displaySettings.m_highlightBlocks);
m_d->m_page.animateMatchingParentheses->setChecked(displaySettings.m_animateMatchingParentheses);
m_d->m_page.mouseNavigation->setChecked(displaySettings.m_mouseNavigation);
}
DisplaySettings DisplaySettingsPage::displaySettings() const
......
......@@ -7,11 +7,11 @@
<x>0</x>
<y>0</y>
<width>381</width>
<height>335</height>
<height>402</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="2" column="0">
<item row="3" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
......@@ -128,6 +128,22 @@
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QGroupBox" name="groupBoxNavigation">
<property name="title">
<string>Navigation</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="mouseNavigation">
<property name="text">
<string>Enable &amp;mouse navigation</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
......
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