Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
bc0717d0
Commit
bc0717d0
authored
Jan 21, 2009
by
hjk
Browse files
Fixes: fakevim: work on undo
parent
7ce2676c
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/plugins/fakevim/fakevimhandler.cpp
View file @
bc0717d0
...
...
@@ -1749,9 +1749,6 @@ QWidget *FakeVimHandler::Private::editor() const
void
FakeVimHandler
::
Private
::
undo
()
{
#if 0
EDITOR(undo());
#else
if
(
m_undoStack
.
isEmpty
())
{
showBlackMessage
(
tr
(
"Already at oldest change"
));
}
else
{
...
...
@@ -1764,7 +1761,7 @@ void FakeVimHandler::Private::undo()
m_tc
.
setPosition
(
op
.
position
,
MoveAnchor
);
if
(
!
op
.
to
.
isEmpty
())
{
m_tc
.
setPosition
(
op
.
position
+
op
.
to
.
size
(),
KeepAnchor
);
m_tc
.
d
elete
Char
();
m_tc
.
removeS
ele
c
te
dText
();
}
if
(
!
op
.
from
.
isEmpty
())
m_tc
.
insertText
(
op
.
from
);
...
...
@@ -1773,14 +1770,10 @@ void FakeVimHandler::Private::undo()
m_redoStack
.
push
(
op
);
showBlackMessage
(
QString
());
}
#endif
}
void
FakeVimHandler
::
Private
::
redo
()
{
#if 0
EDITOR(redo());
#else
if
(
m_redoStack
.
isEmpty
())
{
showBlackMessage
(
tr
(
"Already at newest change"
));
}
else
{
...
...
@@ -1793,7 +1786,7 @@ void FakeVimHandler::Private::redo()
m_tc
.
setPosition
(
op
.
position
,
MoveAnchor
);
if
(
!
op
.
from
.
isEmpty
())
{
m_tc
.
setPosition
(
op
.
position
+
op
.
from
.
size
(),
KeepAnchor
);
m_tc
.
d
elete
Char
();
m_tc
.
removeS
ele
c
te
dText
();
}
if
(
!
op
.
to
.
isEmpty
())
m_tc
.
insertText
(
op
.
to
);
...
...
@@ -1802,7 +1795,6 @@ void FakeVimHandler::Private::redo()
m_undoStack
.
push
(
op
);
showBlackMessage
(
QString
());
}
#endif
}
void
FakeVimHandler
::
Private
::
recordBeginGroup
()
...
...
@@ -1816,6 +1808,10 @@ void FakeVimHandler::Private::recordBeginGroup()
void
FakeVimHandler
::
Private
::
recordEndGroup
()
{
if
(
m_undoGroupStack
.
isEmpty
())
{
qWarning
(
"fakevim: undo groups not balanced.
\n
"
);
return
;
}
EditOperation
op
;
op
.
itemCount
=
m_undoStack
.
size
()
-
m_undoGroupStack
.
pop
();
//qDebug() << "POP " << op.itemCount << m_undoStack;
...
...
@@ -1835,7 +1831,7 @@ QString FakeVimHandler::Private::recordRemoveSelectedText()
op
.
from
=
m_tc
.
selection
().
toPlainText
();
//qDebug() << "OP: " << op;
recordOperation
(
op
);
m_tc
.
d
elete
Char
();
m_tc
.
removeS
ele
c
te
dText
();
return
op
.
from
;
}
...
...
@@ -1904,6 +1900,7 @@ void FakeVimHandler::Private::enterInsertMode()
EDITOR
(
setOverwriteMode
(
false
));
m_mode
=
InsertMode
;
m_lastInsertion
.
clear
();
recordBeginGroup
();
}
void
FakeVimHandler
::
Private
::
enterCommandMode
()
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment