After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 786529 - Shift+Ctrl for multiple selection does not work in GtkTreeView
Shift+Ctrl for multiple selection does not work in GtkTreeView
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
Other Linux
: Normal normal
: ---
Assigned To: gtktreeview-bugs
Depends on:
Reported: 2017-08-19 22:57 UTC by raimar
Modified: 2018-05-02 18:52 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description raimar 2017-08-19 22:57:40 UTC
Selection of multiple rows in a GtkTreeView with 1. Click followed by 2, Shift+Click (range of rows selected) and adding one row with 3. Ctrl+Click works well. But it is not possible to add further ranges of rows with 4. Ctrl+Shift+Click (second range of rows selected):

+ * 1. Click       \
+ *                | first range of rows
+ * 2. Shift-Click /
+ * 3. Ctrl-Click       \
+ *                     | second range of rows
+ *                     |
+ * 4. Ctrl-Shift-Click /
Comment 1 André Klapper 2017-08-20 05:54:04 UTC
Thanks for reporting this. 
Please provide GTK version information by setting the "Version" field.
Comment 2 raimar 2017-08-20 13:52:05 UTC
I have seen this bug in gtk3 3.22.18 and gtk2 2.24-31.

This can be easily tested by opening files in gedit.
Comment 3 Matthias Clasen 2017-08-22 11:05:03 UTC
Is this documented as somewhere as supported ?
Comment 4 raimar 2017-08-22 18:18:32 UTC
I don't know, if it is somewhere documented as a supported feature.

In Gtk3 it is alternatively possible to select further ranges of selection by using Ctr+Click+Drag. But in Gtk2, this is not possible.

In both Gtk2 and Gkt3 it is not possible to select further ranges of selection only by using keyboard without mouse. In my opinion, this should be fixed.
Comment 5 António Fernandes 2018-03-18 13:23:00 UTC
The relevant GtkTreeView code follows this logic:

> if (modify) {...} else if (extend) {...}

It never accounts for the `modify && extend` case, and that's why holding both Ctrl+Shift is the same as holding Ctrl alone.

Nautilus has custom event handling to allow Ctrl+Shift to select additional ranges, as requested here.

Matthias, would a patch/merge request for this be considered, if not for Gtk+3, at least for Gtk+4?

(Same issue reported for Gtk+2: bug 762398)
Comment 6 GNOME Infrastructure Team 2018-05-02 18:52:56 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: