[nautilus/wip/antoniof/new-view-event-bugfixes: 4/5] list-base: Ignore double-click while holding Shift or Ctrl
- From: António Fernandes <antoniof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/antoniof/new-view-event-bugfixes: 4/5] list-base: Ignore double-click while holding Shift or Ctrl
- Date: Sat, 25 Jun 2022 11:45:22 +0000 (UTC)
commit d2cc88a6c0a35b9d81c87bab51e58c141811232c
Author: António Fernandes <antoniof gnome org>
Date: Wed Jun 22 10:51:56 2022 +0100
list-base: Ignore double-click while holding Shift or Ctrl
Double clicking an item while holding down Shift can result in opening
a bunch of files in a go, because it selects an interval right before
triggering activation.
This is obviously undersirable, especially if people expect the that
holding down the modifier would actually modify the double click action
to open in a new window or tab (the old canvas view used to do just
that, but that behaviro was inconsistent with the list view anyway).
The safe thing to do here is nothing. Just ignoring the double-click
if Shift or Ctrl are pressed.
src/nautilus-list-base.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/src/nautilus-list-base.c b/src/nautilus-list-base.c
index 8fe2ad431..f1885eec4 100644
--- a/src/nautilus-list-base.c
+++ b/src/nautilus-list-base.c
@@ -313,7 +313,13 @@ on_item_click_pressed (GtkGestureClick *gesture,
* they don't interfere with touch scrolling. */
if (button == GDK_BUTTON_PRIMARY && n_press == 2 && !priv->single_click_mode)
{
- activate_selection_on_click (self, modifiers & GDK_SHIFT_MASK);
+ /* If Ctrl + Shift are held, we don't want to activate selection. But
+ * we still need to claim the event, otherwise GtkListBase's default
+ * gesture is going to trigger activation. */
+ if (!selection_mode)
+ {
+ activate_selection_on_click (self, FALSE);
+ }
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
}
else if (button == GDK_BUTTON_MIDDLE && n_press == 1)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]