diff --git a/src/plugins/fakevim/fakevimactions.cpp b/src/plugins/fakevim/fakevimactions.cpp index 58dd810ae8764c51ca39b7f2601d7f5bc8799544..9e63d548ca9a9d35c850bce5364fe8a4764d021f 100644 --- a/src/plugins/fakevim/fakevimactions.cpp +++ b/src/plugins/fakevim/fakevimactions.cpp @@ -214,6 +214,14 @@ FakeVimSettings *theFakeVimSettings() "FakeVim properties...")); instance->insertItem(SettingsDialog, item); + // Invented here. + item = new SavedAction(instance); + item->setDefaultValue(false); + item->setValue(false); + item->setSettingsKey(group, _("ShowMarks")); + item->setCheckable(true); + instance->insertItem(ConfigShowMarks, item, _("showmarks"), _("sm")); + return instance; } diff --git a/src/plugins/fakevim/fakevimactions.h b/src/plugins/fakevim/fakevimactions.h index a05e129c9be5e3f3a7c5fa874a5d9bfc315f61b9..2b8c2fbd7df6069ac9e09d4115c4bc6a160056a6 100644 --- a/src/plugins/fakevim/fakevimactions.h +++ b/src/plugins/fakevim/fakevimactions.h @@ -65,6 +65,7 @@ enum FakeVimSettingsCode // other actions SettingsDialog, + ConfigShowMarks, }; class FakeVimSettings : public QObject diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index ecb09e7b1c091ff56d0e79a077825209f50b1d88..ab214b0456ed513d21c4934881b4e522b299f816 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -103,8 +103,6 @@ # define UNDO_DEBUG(s) #endif -//#define DEBUG_MARKS 1 - using namespace Utils; namespace FakeVim { @@ -978,9 +976,10 @@ EventResult FakeVimHandler::Private::handleEvent(QKeyEvent *ev) EDITOR(setTextCursor(m_tc)); m_oldPosition = m_tc.position(); } -#ifdef DEBUG_MARKS - updateSelection(); -#endif + + if (hasConfig(ConfigShowMarks)) + updateSelection(); + return result; } @@ -1425,19 +1424,19 @@ void FakeVimHandler::Private::updateSelection() } } //qDebug() << "SELECTION: " << selections; -#ifdef DEBUG_MARKS - for (QHashIterator<int, int> it(m_marks); it.hasNext(); ) { - it.next(); - QTextEdit::ExtraSelection sel; - sel.cursor = m_tc; - sel.cursor.setPosition(it.value(), MoveAnchor); - sel.cursor.setPosition(it.value() + 1, KeepAnchor); - sel.format = m_tc.blockCharFormat(); - sel.format.setForeground(Qt::blue); - sel.format.setBackground(Qt::green); - selections.append(sel); + if (hasConfig(ConfigShowMarks)) { + for (QHashIterator<int, int> it(m_marks); it.hasNext(); ) { + it.next(); + QTextEdit::ExtraSelection sel; + sel.cursor = m_tc; + sel.cursor.setPosition(it.value(), MoveAnchor); + sel.cursor.setPosition(it.value() + 1, KeepAnchor); + sel.format = m_tc.blockCharFormat(); + sel.format.setForeground(Qt::blue); + sel.format.setBackground(Qt::green); + selections.append(sel); + } } -#endif emit q->selectionChanged(selections); } diff --git a/src/plugins/fakevim/fakevimoptions.ui b/src/plugins/fakevim/fakevimoptions.ui index 3b19bc3af2476a8b47d3f41ddad8fa8efa5329a6..a5355f7ea890e531bb1c5b5e2349564fded13167 100644 --- a/src/plugins/fakevim/fakevimoptions.ui +++ b/src/plugins/fakevim/fakevimoptions.ui @@ -66,6 +66,13 @@ </property> </widget> </item> + <item row="2" column="2"> + <widget class="QCheckBox" name="checkBoxShowMarks"> + <property name="text"> + <string>Show position of text marks</string> + </property> + </widget> + </item> <item row="3" column="0" colspan="2"> <widget class="QCheckBox" name="checkBoxSmartTab"> <property name="text"> diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index b43d7336ab69b5d238d8ab5ef10a2aadd802e0b1..37e258e00f6b0dcb93f7ee89f5257dc64cbafbc4 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -167,6 +167,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent) m_ui.checkBoxHlSearch); m_group.insert(theFakeVimSetting(ConfigShiftWidth), m_ui.spinBoxShiftWidth); + m_group.insert(theFakeVimSetting(ConfigShowMarks), + m_ui.checkBoxShowMarks); m_group.insert(theFakeVimSetting(ConfigSmartTab), m_ui.checkBoxSmartTab); @@ -198,8 +200,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent) QTextStream(&m_searchKeywords) << ' ' << m_ui.checkBoxAutoIndent->text() << ' ' << m_ui.checkBoxExpandTab->text() + << ' ' << m_ui.checkBoxShowMarks->text() << ' ' << m_ui.checkBoxSmartIndent->text() - << ' ' << m_ui.checkBoxExpandTab->text() << ' ' << m_ui.checkBoxHlSearch->text() << ' ' << m_ui.checkBoxIncSearch->text() << ' ' << m_ui.checkBoxSmartTab->text()