forked from qt-creator/qt-creator
FakeVim: Use a bool to indicate recording, not QString::isNull
Change-Id: I30f996aa61b357dc6b83f3f313abb0448e7f0fc3 Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -2138,6 +2138,7 @@ public:
|
|||||||
, highlightsCleared(false)
|
, highlightsCleared(false)
|
||||||
, findPending(false)
|
, findPending(false)
|
||||||
, returnToMode(CommandMode)
|
, returnToMode(CommandMode)
|
||||||
|
, isRecording(false)
|
||||||
, currentRegister(0)
|
, currentRegister(0)
|
||||||
, lastExecutedRegister(0)
|
, lastExecutedRegister(0)
|
||||||
{
|
{
|
||||||
@@ -2206,8 +2207,9 @@ public:
|
|||||||
// Return to insert/replace mode after single command (<C-O>).
|
// Return to insert/replace mode after single command (<C-O>).
|
||||||
Mode returnToMode;
|
Mode returnToMode;
|
||||||
|
|
||||||
// Currently recorded macro (not recording if null string).
|
// Currently recorded macro
|
||||||
QString recording;
|
bool isRecording;
|
||||||
|
QString recorded;
|
||||||
int currentRegister;
|
int currentRegister;
|
||||||
int lastExecutedRegister;
|
int lastExecutedRegister;
|
||||||
} g;
|
} g;
|
||||||
@@ -3527,8 +3529,8 @@ void FakeVimHandler::Private::updateMiniBuffer()
|
|||||||
msg = _("-- (replace) --");
|
msg = _("-- (replace) --");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!g.recording.isNull() && msg.startsWith(_("--")))
|
if (g.isRecording && msg.startsWith(_("--")))
|
||||||
msg.append(_("recording"));
|
msg.append(QLatin1Char(' ' ) + _("Recording"));
|
||||||
|
|
||||||
emit q->commandBufferChanged(msg, cursorPos, anchorPos, messageLevel, q);
|
emit q->commandBufferChanged(msg, cursorPos, anchorPos, messageLevel, q);
|
||||||
|
|
||||||
@@ -4341,14 +4343,14 @@ bool FakeVimHandler::Private::handleNoSubMode(const Input &input)
|
|||||||
setDotCommand(_("%1p"), count());
|
setDotCommand(_("%1p"), count());
|
||||||
finishMovement();
|
finishMovement();
|
||||||
} else if (input.is('q')) {
|
} else if (input.is('q')) {
|
||||||
if (g.recording.isNull()) {
|
if (g.isRecording) {
|
||||||
|
// Stop recording.
|
||||||
|
stopRecording();
|
||||||
|
} else {
|
||||||
// Recording shouldn't work in mapping or while executing register.
|
// Recording shouldn't work in mapping or while executing register.
|
||||||
handled = g.mapStates.empty();
|
handled = g.mapStates.empty();
|
||||||
if (handled)
|
if (handled)
|
||||||
g.submode = MacroRecordSubMode;
|
g.submode = MacroRecordSubMode;
|
||||||
} else {
|
|
||||||
// Stop recording.
|
|
||||||
stopRecording();
|
|
||||||
}
|
}
|
||||||
} else if (input.is('r')) {
|
} else if (input.is('r')) {
|
||||||
g.submode = ReplaceSubMode;
|
g.submode = ReplaceSubMode;
|
||||||
@@ -5127,7 +5129,8 @@ bool FakeVimHandler::Private::startRecording(const Input &input)
|
|||||||
QChar reg = input.asChar();
|
QChar reg = input.asChar();
|
||||||
if (reg == QLatin1Char('"') || reg.isLetterOrNumber()) {
|
if (reg == QLatin1Char('"') || reg.isLetterOrNumber()) {
|
||||||
g.currentRegister = reg.unicode();
|
g.currentRegister = reg.unicode();
|
||||||
g.recording = QLatin1String("");
|
g.isRecording = true;
|
||||||
|
g.recorded.clear();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5136,17 +5139,18 @@ bool FakeVimHandler::Private::startRecording(const Input &input)
|
|||||||
|
|
||||||
void FakeVimHandler::Private::record(const Input &input)
|
void FakeVimHandler::Private::record(const Input &input)
|
||||||
{
|
{
|
||||||
if ( !g.recording.isNull() )
|
if (g.isRecording)
|
||||||
g.recording.append(input.toString());
|
g.recorded.append(input.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
void FakeVimHandler::Private::stopRecording()
|
void FakeVimHandler::Private::stopRecording()
|
||||||
{
|
{
|
||||||
// Remove q from end (stop recording command).
|
// Remove q from end (stop recording command).
|
||||||
g.recording.remove(g.recording.size() - 1, 1);
|
g.isRecording = false;
|
||||||
setRegister(g.currentRegister, g.recording, g.rangemode);
|
g.recorded.chop(1);
|
||||||
|
setRegister(g.currentRegister, g.recorded, g.rangemode);
|
||||||
g.currentRegister = 0;
|
g.currentRegister = 0;
|
||||||
g.recording = QString();
|
g.recorded.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FakeVimHandler::Private::executeRegister(int reg)
|
bool FakeVimHandler::Private::executeRegister(int reg)
|
||||||
|
|||||||
Reference in New Issue
Block a user