Reset the input prior to processing it in order to prevent issues with per-chat histo...
[quassel.git] / src / uisupport / multilineedit.cpp
index aeaecd5..874dce8 100644 (file)
@@ -40,6 +40,7 @@ MultiLineEdit::MultiLineEdit(QWidget *parent)
     _maxHeight(5),
     _scrollBarsEnabled(true),
     _pasteProtectionEnabled(true),
+    _emacsMode(false),
     _lastDocumentHeight(-1)
 {
 #if QT_VERSION >= 0x040500
@@ -347,6 +348,9 @@ void MultiLineEdit::keyPressEvent(QKeyEvent *event) {
         moveCursor(QTextCursor::EndOfLine, QTextCursor::KeepAnchor);
         cut();
         return;
+
+      default:
+        break;
       }
     }
     else if(event->modifiers() & Qt::MetaModifier ||
@@ -414,6 +418,9 @@ void MultiLineEdit::keyPressEvent(QKeyEvent *event) {
         }
         return;
       }
+
+      default:
+        break;
       }
     }
   }
@@ -630,9 +637,11 @@ void MultiLineEdit::on_returnPressed(const QString & text) {
       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();