forked from qt-creator/qt-creator
code cleanup
This commit is contained in:
@@ -189,7 +189,8 @@ private:
|
||||
public:
|
||||
void enterInsertMode();
|
||||
void enterCommandMode();
|
||||
void showMessage(const QString &msg);
|
||||
void showRedMessage(const QString &msg);
|
||||
void showBlackMessage(const QString &msg);
|
||||
void updateMiniBuffer();
|
||||
void updateSelection();
|
||||
void quit();
|
||||
@@ -378,8 +379,10 @@ void FakeVimHandler::Private::updateSelection()
|
||||
QTextEdit::ExtraSelection sel;
|
||||
sel.cursor = m_tc;
|
||||
sel.format = m_tc.blockCharFormat();
|
||||
sel.format.setFontWeight(QFont::Bold);
|
||||
sel.format.setFontUnderline(true);
|
||||
//sel.format.setFontWeight(QFont::Bold);
|
||||
//sel.format.setFontUnderline(true);
|
||||
sel.format.setForeground(Qt::white);
|
||||
sel.format.setBackground(Qt::black);
|
||||
int cursorPos = m_tc.position();
|
||||
int anchorPos = m_marks['<'];
|
||||
//qDebug() << "POS: " << cursorPos << " ANCHOR: " << anchorPos;
|
||||
@@ -451,7 +454,7 @@ void FakeVimHandler::Private::updateMiniBuffer()
|
||||
}
|
||||
}
|
||||
if (!msg.isEmpty() && m_mode != CommandMode)
|
||||
msg += '|'; // FIXME: Use a real "cursor"
|
||||
msg += QChar(10073); // '|'; // FIXME: Use a real "cursor"
|
||||
}
|
||||
emit q->commandBufferChanged(msg);
|
||||
|
||||
@@ -470,13 +473,20 @@ void FakeVimHandler::Private::updateMiniBuffer()
|
||||
emit q->statusDataChanged(status);
|
||||
}
|
||||
|
||||
void FakeVimHandler::Private::showMessage(const QString &msg)
|
||||
void FakeVimHandler::Private::showRedMessage(const QString &msg)
|
||||
{
|
||||
//qDebug() << "MSG: " << msg;
|
||||
m_currentMessage = msg;
|
||||
updateMiniBuffer();
|
||||
}
|
||||
|
||||
void FakeVimHandler::Private::showBlackMessage(const QString &msg)
|
||||
{
|
||||
//qDebug() << "MSG: " << msg;
|
||||
m_commandBuffer = msg;
|
||||
updateMiniBuffer();
|
||||
}
|
||||
|
||||
bool FakeVimHandler::Private::handleCommandMode(int key, const QString &text)
|
||||
{
|
||||
Q_UNUSED(text)
|
||||
@@ -519,7 +529,7 @@ bool FakeVimHandler::Private::handleCommandMode(int key, const QString &text)
|
||||
moveToFirstNonBlankOnLine();
|
||||
finishMovement();
|
||||
} else {
|
||||
showMessage(tr("E20: Mark '%1' not set").arg(text));
|
||||
showRedMessage(tr("E20: Mark '%1' not set").arg(text));
|
||||
}
|
||||
m_subsubmode = NoSubSubMode;
|
||||
} else if (key >= '0' && key <= '9') {
|
||||
@@ -872,26 +882,22 @@ bool FakeVimHandler::Private::handleMiniBufferModes(int key, const QString &text
|
||||
// takes only matching entires in the history into account.
|
||||
if (m_searchHistoryIndex > 0) {
|
||||
--m_searchHistoryIndex;
|
||||
m_commandBuffer = m_searchHistory.at(m_searchHistoryIndex);
|
||||
updateMiniBuffer();
|
||||
showBlackMessage(m_searchHistory.at(m_searchHistoryIndex));
|
||||
}
|
||||
} else if (key == Key_Up && m_mode == ExMode) {
|
||||
if (m_commandHistoryIndex > 0) {
|
||||
--m_commandHistoryIndex;
|
||||
m_commandBuffer = m_commandHistory.at(m_commandHistoryIndex);
|
||||
updateMiniBuffer();
|
||||
showBlackMessage(m_commandHistory.at(m_commandHistoryIndex));
|
||||
}
|
||||
} else if (key == Key_Down && isSearchMode()) {
|
||||
if (m_searchHistoryIndex < m_searchHistory.size() - 1) {
|
||||
++m_searchHistoryIndex;
|
||||
m_commandBuffer = m_searchHistory.at(m_searchHistoryIndex);
|
||||
updateMiniBuffer();
|
||||
showBlackMessage(m_searchHistory.at(m_searchHistoryIndex));
|
||||
}
|
||||
} else if (key == Key_Down && m_mode == ExMode) {
|
||||
if (m_commandHistoryIndex < m_commandHistory.size() - 1) {
|
||||
++m_commandHistoryIndex;
|
||||
m_commandBuffer = m_commandHistory.at(m_commandHistoryIndex);
|
||||
updateMiniBuffer();
|
||||
showBlackMessage(m_commandHistory.at(m_commandHistoryIndex));
|
||||
}
|
||||
} else if (key == Key_Tab) {
|
||||
m_commandBuffer += QChar(9);
|
||||
@@ -927,7 +933,7 @@ int FakeVimHandler::Private::readLineCode(QString &cmd)
|
||||
int pos = m_marks.value(cmd.at(0).unicode(), -1);
|
||||
//qDebug() << " MARK: " << cmd.at(0) << pos << lineForPosition(pos);
|
||||
if (pos == -1) {
|
||||
showMessage(tr("E20: Mark '%1' not set").arg(cmd.at(0)));
|
||||
showRedMessage(tr("E20: Mark '%1' not set").arg(cmd.at(0)));
|
||||
return -1;
|
||||
}
|
||||
cmd = cmd.mid(1);
|
||||
@@ -991,7 +997,7 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0)
|
||||
|
||||
if (cmd.isEmpty()) {
|
||||
m_tc.setPosition(positionForLine(beginLine));
|
||||
showMessage(QString());
|
||||
showBlackMessage(QString());
|
||||
} else if (cmd == "q!" || cmd == "q") { // :q
|
||||
quit();
|
||||
} else if (reDelete.indexIn(cmd) != -1) { // :d
|
||||
@@ -1019,7 +1025,7 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0)
|
||||
QFile file(fileName);
|
||||
bool exists = file.exists();
|
||||
if (exists && !forced && !noArgs) {
|
||||
showMessage(tr("File '%1' exists (add ! to override)").arg(fileName));
|
||||
showRedMessage(tr("File '%1' exists (add ! to override)").arg(fileName));
|
||||
} else if (file.open(QIODevice::ReadWrite)) {
|
||||
QTextCursor tc = selectRange(beginLine, endLine);
|
||||
qDebug() << "ANCHOR: " << tc.position() << tc.anchor()
|
||||
@@ -1028,12 +1034,11 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0)
|
||||
file.close();
|
||||
file.open(QIODevice::ReadOnly);
|
||||
QByteArray ba = file.readAll();
|
||||
m_commandBuffer = QString("\"%1\" %2 %3L, %4C written")
|
||||
showBlackMessage(tr("\"%1\" %2 %3L, %4C written")
|
||||
.arg(fileName).arg(exists ? " " : " [New] ")
|
||||
.arg(ba.count('\n')).arg(ba.size());
|
||||
updateMiniBuffer();
|
||||
.arg(ba.count('\n')).arg(ba.size()));
|
||||
} else {
|
||||
showMessage(tr("Cannot open file '%1' for reading").arg(fileName));
|
||||
showRedMessage(tr("Cannot open file '%1' for reading").arg(fileName));
|
||||
}
|
||||
} else if (cmd.startsWith("r ")) { // :r
|
||||
m_currentFileName = cmd.mid(2);
|
||||
@@ -1042,10 +1047,9 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0)
|
||||
QTextStream ts(&file);
|
||||
QString data = ts.readAll();
|
||||
EDITOR(setPlainText(data));
|
||||
m_commandBuffer = QString("\"%1\" %2L, %3C")
|
||||
.arg(m_currentFileName).arg(data.count('\n')).arg(data.size());
|
||||
enterCommandMode();
|
||||
updateMiniBuffer();
|
||||
showBlackMessage(tr("\"%1\" %2L, %3C")
|
||||
.arg(m_currentFileName).arg(data.count('\n')).arg(data.size()));
|
||||
} else if (cmd.startsWith("!")) {
|
||||
if (beginLine == -1)
|
||||
beginLine = cursorLineInDocument();
|
||||
@@ -1072,15 +1076,14 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0)
|
||||
op.m_to = result;
|
||||
recordOperation(op);
|
||||
|
||||
m_commandBuffer = tr("%1 lines filtered").arg(text.count('\n'));
|
||||
enterCommandMode();
|
||||
updateMiniBuffer();
|
||||
showBlackMessage(tr("%1 lines filtered").arg(text.count('\n')));
|
||||
} else if (cmd == "red" || cmd == "redo") { // :redo
|
||||
redo();
|
||||
enterCommandMode();
|
||||
updateMiniBuffer();
|
||||
} else {
|
||||
showMessage("E492: Not an editor command: " + cmd0 + "(" + cmd + ")");
|
||||
showRedMessage("E492: Not an editor command: " + cmd0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1110,9 +1113,9 @@ void FakeVimHandler::Private::search(const QString &needle, bool forward)
|
||||
// the qMax seems to be needed for QPlainTextEdit only
|
||||
m_tc.movePosition(Left, MoveAnchor, qMax(1, needle.size() - 1));
|
||||
if (forward)
|
||||
showMessage("search hit BOTTOM, continuing at TOP");
|
||||
showRedMessage("search hit BOTTOM, continuing at TOP");
|
||||
else
|
||||
showMessage("search hit TOP, continuing at BOTTOM");
|
||||
showRedMessage("search hit TOP, continuing at BOTTOM");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1324,24 +1327,26 @@ void FakeVimHandler::Private::undo()
|
||||
#if 0
|
||||
EDITOR(undo());
|
||||
#else
|
||||
if (m_undoStack.isEmpty())
|
||||
return;
|
||||
EditOperation op = m_undoStack.pop();
|
||||
//qDebug() << "UNDO " << op;
|
||||
if (op.m_itemCount > 0) {
|
||||
for (int i = op.m_itemCount; --i >= 0; )
|
||||
undo();
|
||||
if (m_undoStack.isEmpty()) {
|
||||
showBlackMessage(tr("Already at oldest change"));
|
||||
} else {
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
if (!op.m_to.isEmpty()) {
|
||||
m_tc.setPosition(op.m_position + op.m_to.size(), KeepAnchor);
|
||||
m_tc.deleteChar();
|
||||
EditOperation op = m_undoStack.pop();
|
||||
//qDebug() << "UNDO " << op;
|
||||
if (op.m_itemCount > 0) {
|
||||
for (int i = op.m_itemCount; --i >= 0; )
|
||||
undo();
|
||||
} else {
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
if (!op.m_to.isEmpty()) {
|
||||
m_tc.setPosition(op.m_position + op.m_to.size(), KeepAnchor);
|
||||
m_tc.deleteChar();
|
||||
}
|
||||
if (!op.m_from.isEmpty())
|
||||
m_tc.insertText(op.m_from);
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
}
|
||||
if (!op.m_from.isEmpty())
|
||||
m_tc.insertText(op.m_from);
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
m_redoStack.push(op);
|
||||
}
|
||||
m_redoStack.push(op);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1350,24 +1355,26 @@ void FakeVimHandler::Private::redo()
|
||||
#if 0
|
||||
EDITOR(redo());
|
||||
#else
|
||||
if (m_redoStack.isEmpty())
|
||||
return;
|
||||
EditOperation op = m_redoStack.pop();
|
||||
//qDebug() << "REDO " << op;
|
||||
if (op.m_itemCount > 0) {
|
||||
for (int i = op.m_itemCount; --i >= 0; )
|
||||
redo();
|
||||
if (m_redoStack.isEmpty()) {
|
||||
showBlackMessage(tr("Already at newest change"));
|
||||
} else {
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
if (!op.m_from.isEmpty()) {
|
||||
m_tc.setPosition(op.m_position + op.m_from.size(), KeepAnchor);
|
||||
m_tc.deleteChar();
|
||||
EditOperation op = m_redoStack.pop();
|
||||
//qDebug() << "REDO " << op;
|
||||
if (op.m_itemCount > 0) {
|
||||
for (int i = op.m_itemCount; --i >= 0; )
|
||||
redo();
|
||||
} else {
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
if (!op.m_from.isEmpty()) {
|
||||
m_tc.setPosition(op.m_position + op.m_from.size(), KeepAnchor);
|
||||
m_tc.deleteChar();
|
||||
}
|
||||
if (!op.m_to.isEmpty())
|
||||
m_tc.insertText(op.m_to);
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
}
|
||||
if (!op.m_to.isEmpty())
|
||||
m_tc.insertText(op.m_to);
|
||||
m_tc.setPosition(op.m_position, MoveAnchor);
|
||||
m_undoStack.push(op);
|
||||
}
|
||||
m_undoStack.push(op);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1425,7 +1432,7 @@ void FakeVimHandler::Private::enterCommandMode()
|
||||
|
||||
void FakeVimHandler::Private::quit()
|
||||
{
|
||||
showMessage(QString());
|
||||
showBlackMessage(QString());
|
||||
EDITOR(setOverwriteMode(false));
|
||||
q->quitRequested(editor());
|
||||
}
|
||||
@@ -1464,13 +1471,13 @@ void FakeVimHandler::addWidget(QWidget *widget)
|
||||
//ed->setCursorWidth(QFontMetrics(ed->font()).width(QChar('x')));
|
||||
ed->setLineWrapMode(QPlainTextEdit::NoWrap);
|
||||
}
|
||||
d->showMessage("vi emulation mode. Hit <Shift+Esc>:q<Return> to quit");
|
||||
d->showBlackMessage("vi emulation mode. Hit <Shift+Esc>:q<Return> to quit");
|
||||
d->updateMiniBuffer();
|
||||
}
|
||||
|
||||
void FakeVimHandler::removeWidget(QWidget *widget)
|
||||
{
|
||||
d->showMessage(QString());
|
||||
d->showBlackMessage(QString());
|
||||
d->updateMiniBuffer();
|
||||
widget->removeEventFilter(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user