]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistroleeditor.cpp
Fix selection rect after porting from QFontMetrics::width()
[dolphin.git] / src / kitemviews / private / kitemlistroleeditor.cpp
index 5ff013429cb709a25dce3518418c896cce98c2a9..eb6f1de767c48a44f964dcd8bb8704ed9a85bf34 100644 (file)
@@ -20,7 +20,6 @@
 #include "kitemlistroleeditor.h"
 
 #include <KIO/Global>
-#include <QKeyEvent>
 
 KItemListRoleEditor::KItemListRoleEditor(QWidget *parent) :
     KTextEdit(parent),
@@ -108,6 +107,23 @@ void KItemListRoleEditor::keyPressEvent(QKeyEvent* event)
         }
         break;
     }
+    case Qt::Key_Home:
+    case Qt::Key_End: {
+        if (event->modifiers() == Qt::NoModifier || event->modifiers() == Qt::ShiftModifier) {
+            const QTextCursor::MoveOperation op = event->key() == Qt::Key_Home
+                                                ? QTextCursor::Start
+                                                : QTextCursor::End;
+            const QTextCursor::MoveMode mode = event->modifiers() == Qt::NoModifier
+                                             ? QTextCursor::MoveAnchor
+                                             : QTextCursor::KeepAnchor;
+            QTextCursor cursor = textCursor();
+            cursor.movePosition(op, mode);
+            setTextCursor(cursor);
+            event->accept();
+            return;
+        }
+        break;
+    }
     default:
         break;
     }