Skip to content

Commit 0fd9602

Browse files
committed
Fix toggling current item selection
Fixes #2850
1 parent ec3c2b7 commit 0fd9602

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/gui/clipboardbrowser.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1390,6 +1390,16 @@ void ClipboardBrowser::keyPressEvent(QKeyEvent *event)
13901390

13911391
const int key = event->key();
13921392

1393+
// WORKAROUND: Avoid triggering search with Ctrl+Space toggle selection action.
1394+
if (mods.testFlag(Qt::ControlModifier) && key == Qt::Key_Space) {
1395+
const QModelIndex current = currentIndex();
1396+
if (!edit(current, AnyKeyPressed, event)) {
1397+
selectionModel()->select(current, selectionCommand(current, event));
1398+
event->accept();
1399+
return;
1400+
}
1401+
}
1402+
13931403
// This fixes few issues with default navigation and item selections.
13941404
switch (key) {
13951405
case Qt::Key_Up:

src/tests/tests.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2606,6 +2606,17 @@ void Tests::selectItems()
26062606

26072607
RUN("keys" << "CTRL+A", "");
26082608
RUN("testSelected", tab + " 1 0 1 2\n");
2609+
2610+
// CTRL+SPACE toggles current item selection
2611+
RUN("add" << "D", "");
2612+
RUN("keys" << "PGUP" << "CTRL+SHIFT+DOWN" << "CTRL+SHIFT+DOWN", "");
2613+
RUN("testSelected", tab + " 2 0\n");
2614+
RUN("keys" << "CTRL+SPACE", "");
2615+
RUN("testSelected", tab + " 2 0 2\n");
2616+
RUN("keys" << "SHIFT+DOWN", "");
2617+
RUN("testSelected", tab + " 3 0 2 3\n");
2618+
RUN("keys" << "CTRL+SPACE", "");
2619+
RUN("testSelected", tab + " 3 0 2\n");
26092620
}
26102621

26112622
void Tests::moveItems()

0 commit comments

Comments
 (0)