Move cursor to end of line when browsing history (KTextEdit).
[quassel.git] / src / uisupport / inputline.cpp
index 593af03..03087fb 100644 (file)
@@ -130,15 +130,9 @@ void InputLine::keyPressEvent(QKeyEvent * event) {
 #ifdef HAVE_KDE
 //Since this is a ktextedit, we don't have this signal "natively"
   case Qt::Key_Return:
-    event->accept();
-    if(!text().isEmpty())
-      emit returnPressed();
-    break;
-
   case Qt::Key_Enter:
     event->accept();
-    if(!text().isEmpty())
-      emit returnPressed();
+    emit returnPressed();
     break;
 
 #endif
@@ -175,9 +169,11 @@ bool InputLine::addToHistory(const QString &text, bool temporary) {
 }
 
 void InputLine::on_returnPressed() {
-  addToHistory(text());
-  emit sendText(text());
-  resetLine();
+  if(!text().isEmpty()) {
+    addToHistory(text());
+    emit sendText(text());
+    resetLine();
+  }
 }
 
 void InputLine::on_textChanged(QString newText) {
@@ -245,4 +241,9 @@ void InputLine::resetLine() {
 void InputLine::showHistoryEntry() {
   // if the user changed the history, display the changed line
   tempHistory.contains(idx) ? setText(tempHistory[idx]) : setText(history[idx]);
+#ifdef HAVE_KDE
+  QTextCursor cursor = textCursor();
+  cursor.movePosition(QTextCursor::End);
+  setTextCursor(cursor);
+#endif
 }