]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistroleeditor.cpp
Move cursor to begin/end of selection before canceling it
[dolphin.git] / src / kitemviews / private / kitemlistroleeditor.cpp
index 9f20afea24e81d2b89d3ed37baa067181721b16f..0a48f1ba0dcadfeaae3e20fe1f23abd81d7fc4e0 100644 (file)
@@ -93,6 +93,22 @@ void KItemListRoleEditor::keyPressEvent(QKeyEvent* event)
         emitRoleEditingFinished();
         event->accept();
         return;
+    case Qt::Key_Left:
+    case Qt::Key_Right: {
+        QTextCursor cursor = textCursor();
+        if (event->modifiers() == Qt::NoModifier && cursor.hasSelection()) {
+            if (event->key() == Qt::Key_Left) {
+                cursor.setPosition(cursor.selectionStart());
+            } else {
+                cursor.setPosition(cursor.selectionEnd());
+            }
+            cursor.clearSelection();
+            setTextCursor(cursor);
+            event->accept();
+            return;
+        }
+        break;
+    }
     default:
         break;
     }