_maxHeight(5),
_scrollBarsEnabled(true),
_pasteProtectionEnabled(true),
+ _emacsMode(false),
_lastDocumentHeight(-1)
{
#if QT_VERSION >= 0x040500
moveCursor(QTextCursor::EndOfLine, QTextCursor::KeepAnchor);
cut();
return;
+
+ default:
+ break;
}
}
else if(event->modifiers() & Qt::MetaModifier ||
moveCursor(QTextCursor::WordRight, QTextCursor::KeepAnchor);
cut();
return;
+
+ case Qt::Key_U: // uppercase word
+ moveCursor(QTextCursor::WordRight, QTextCursor::KeepAnchor);
+ textCursor().insertText(textCursor().selectedText().toUpper());
+ return;
+
+ case Qt::Key_L: // lowercase word
+ moveCursor(QTextCursor::WordRight, QTextCursor::KeepAnchor);
+ textCursor().insertText(textCursor().selectedText().toLower());
+ return;
+
+ case Qt::Key_C: { // capitalize word
+ moveCursor(QTextCursor::WordRight, QTextCursor::KeepAnchor);
+ QString const text = textCursor().selectedText();
+ textCursor().insertText(text.left(1).toUpper() + text.mid(1).toLower());
+ return;
+ }
+
+ case Qt::Key_T: { // transpose words
+ moveCursor(QTextCursor::StartOfWord);
+ moveCursor(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
+ QString const word1 = textCursor().selectedText();
+ textCursor().clearSelection();
+ moveCursor(QTextCursor::WordRight);
+ moveCursor(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
+ QString const word2 = textCursor().selectedText();
+ if(!word2.isEmpty() && !word1.isEmpty()) {
+ textCursor().insertText(word1);
+ moveCursor(QTextCursor::WordLeft);
+ moveCursor(QTextCursor::WordLeft);
+ moveCursor(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
+ textCursor().insertText(word2);
+ moveCursor(QTextCursor::WordRight);
+ moveCursor(QTextCursor::EndOfWord);
+ }
+ return;
+ }
+
+ default:
+ break;
}
}
}
if(line.isEmpty())
continue;
addToHistory(line);
- emit textEntered(line);
}
reset();
+ foreach(const QString &line, text.split('\n', QString::SkipEmptyParts)) {
+ emit textEntered(line);
+ }
_tempHistory.clear();
} else {
emit noTextEntered();