X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fmultilineedit.cpp;h=a0334652fc86258e98a2985339775fc4f580539a;hp=114c61349a058ef1a97e22bc3337a70135840f81;hb=96d0ee7692b48a8211bde377be970ed6e8cb8021;hpb=e1164aedd95d03553cc875e6501f8e1fe35c2d9e diff --git a/src/uisupport/multilineedit.cpp b/src/uisupport/multilineedit.cpp index 114c6134..a0334652 100644 --- a/src/uisupport/multilineedit.cpp +++ b/src/uisupport/multilineedit.cpp @@ -347,6 +347,9 @@ void MultiLineEdit::keyPressEvent(QKeyEvent *event) { moveCursor(QTextCursor::EndOfLine, QTextCursor::KeepAnchor); cut(); return; + + default: + break; } } else if(event->modifiers() & Qt::MetaModifier || @@ -394,6 +397,29 @@ void MultiLineEdit::keyPressEvent(QKeyEvent *event) { 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; } } }