fakevim: add option to show positions of marks in the main text editor

This commit is contained in:
hjk
2010-05-10 16:30:46 +02:00
parent 719907a526
commit 034ee0a947
5 changed files with 35 additions and 18 deletions

View File

@@ -214,6 +214,14 @@ FakeVimSettings *theFakeVimSettings()
"FakeVim properties...")); "FakeVim properties..."));
instance->insertItem(SettingsDialog, item); 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; return instance;
} }

View File

@@ -65,6 +65,7 @@ enum FakeVimSettingsCode
// other actions // other actions
SettingsDialog, SettingsDialog,
ConfigShowMarks,
}; };
class FakeVimSettings : public QObject class FakeVimSettings : public QObject

View File

@@ -103,8 +103,6 @@
# define UNDO_DEBUG(s) # define UNDO_DEBUG(s)
#endif #endif
//#define DEBUG_MARKS 1
using namespace Utils; using namespace Utils;
namespace FakeVim { namespace FakeVim {
@@ -978,9 +976,10 @@ EventResult FakeVimHandler::Private::handleEvent(QKeyEvent *ev)
EDITOR(setTextCursor(m_tc)); EDITOR(setTextCursor(m_tc));
m_oldPosition = m_tc.position(); m_oldPosition = m_tc.position();
} }
#ifdef DEBUG_MARKS
updateSelection(); if (hasConfig(ConfigShowMarks))
#endif updateSelection();
return result; return result;
} }
@@ -1425,19 +1424,19 @@ void FakeVimHandler::Private::updateSelection()
} }
} }
//qDebug() << "SELECTION: " << selections; //qDebug() << "SELECTION: " << selections;
#ifdef DEBUG_MARKS if (hasConfig(ConfigShowMarks)) {
for (QHashIterator<int, int> it(m_marks); it.hasNext(); ) { for (QHashIterator<int, int> it(m_marks); it.hasNext(); ) {
it.next(); it.next();
QTextEdit::ExtraSelection sel; QTextEdit::ExtraSelection sel;
sel.cursor = m_tc; sel.cursor = m_tc;
sel.cursor.setPosition(it.value(), MoveAnchor); sel.cursor.setPosition(it.value(), MoveAnchor);
sel.cursor.setPosition(it.value() + 1, KeepAnchor); sel.cursor.setPosition(it.value() + 1, KeepAnchor);
sel.format = m_tc.blockCharFormat(); sel.format = m_tc.blockCharFormat();
sel.format.setForeground(Qt::blue); sel.format.setForeground(Qt::blue);
sel.format.setBackground(Qt::green); sel.format.setBackground(Qt::green);
selections.append(sel); selections.append(sel);
}
} }
#endif
emit q->selectionChanged(selections); emit q->selectionChanged(selections);
} }

View File

@@ -66,6 +66,13 @@
</property> </property>
</widget> </widget>
</item> </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"> <item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="checkBoxSmartTab"> <widget class="QCheckBox" name="checkBoxSmartTab">
<property name="text"> <property name="text">

View File

@@ -167,6 +167,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent)
m_ui.checkBoxHlSearch); m_ui.checkBoxHlSearch);
m_group.insert(theFakeVimSetting(ConfigShiftWidth), m_group.insert(theFakeVimSetting(ConfigShiftWidth),
m_ui.spinBoxShiftWidth); m_ui.spinBoxShiftWidth);
m_group.insert(theFakeVimSetting(ConfigShowMarks),
m_ui.checkBoxShowMarks);
m_group.insert(theFakeVimSetting(ConfigSmartTab), m_group.insert(theFakeVimSetting(ConfigSmartTab),
m_ui.checkBoxSmartTab); m_ui.checkBoxSmartTab);
@@ -198,8 +200,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent)
QTextStream(&m_searchKeywords) QTextStream(&m_searchKeywords)
<< ' ' << m_ui.checkBoxAutoIndent->text() << ' ' << m_ui.checkBoxAutoIndent->text()
<< ' ' << m_ui.checkBoxExpandTab->text() << ' ' << m_ui.checkBoxExpandTab->text()
<< ' ' << m_ui.checkBoxShowMarks->text()
<< ' ' << m_ui.checkBoxSmartIndent->text() << ' ' << m_ui.checkBoxSmartIndent->text()
<< ' ' << m_ui.checkBoxExpandTab->text()
<< ' ' << m_ui.checkBoxHlSearch->text() << ' ' << m_ui.checkBoxHlSearch->text()
<< ' ' << m_ui.checkBoxIncSearch->text() << ' ' << m_ui.checkBoxIncSearch->text()
<< ' ' << m_ui.checkBoxSmartTab->text() << ' ' << m_ui.checkBoxSmartTab->text()