"Shift+click" _de-selects_ files in KDE "Open file" -dialog and Konqueror without the user's intent

Bug #90069 reported by kko
4
Affects Status Importance Assigned to Milestone
KDE Base
Unknown
Medium
kde4libs (Ubuntu)
Invalid
Wishlist
Unassigned

Bug Description

Binary package hint: kdebase

NOTE: I have edited the "expected behaviour" section of this submission to contain my comment from 2007-03-13 14:45:30 UTC. I have also edited the examples accordingly.

Using Kubuntu Dapper, with KDE 3.5.5, and with "single click to execute".

In the KDE file open dialog (used by e.g. OpenOffice and Kate, among others), and somehow also Konqueror, "Shift+click" works in a very strange way. Files get _removed from the selection_ under various conditions, without the user wanting to do so. Removing files from selection with "Shift+click" should, in my opinion, only occur when the user wants this. In other words, "expanding" the selection does not work as expected.

Expected behaviour:
- Click = Select.
- Ctrl+click = Add file to selected.
- Shift+click = "Shift+click" should always require (at least) two clicks to define the range. I'll elaborate below.

With "Shift+click", if the first item clicked on gets unselected, so does the entire range. And if the first item clicked on gets selected, this is similarly done for the entire range indicated by the last click. Releasing "shift" should confirm the selection. (Selections outside the range should not be affected.)

The tricky part in implementing this is, if we have a range with both selected and unselected files, over which we operate. If "shift" is kept pressed for the duration of the process, no matter how many times we click, only the range between the _first_ and the _last_ click should be selected.

Ideally, this would mean that the pre-existing selections should be remembered. So, to illustrate: if we accidentally first select a larger area than intended (but don't release "shift"), we can alter the selection to contain a smaller area, and the selections outside this area should be reverted back to what they were before our "shift+click" procedure.

I will give an example of expected "Shift+click" behaviour, where we have two or more files / groups of files selected, and _unselected files between these_. In the example, "x" denotes a selected file, "X" notes the file we last clicked on, and numbers denote unselected files.

We have a selection like this: xxxxx123456xxxxxX789xxxx.

So, if we now "Shift+click" on "3" and then on "6", and release "shift", we expect the files between and including "3" and "6" to be selected.

So we would have: xxxxx12xxxXxxxxxx789xxxx.

What actually happens, is different.

In the "Open file" -dialog (N.B. This is also how Konqueror's "Icon view" and "Multicolumn view" behave!):
- We can "Click" or "Ctrl+click" as we like, and this works as expected.
- When we "Shift+click", only the files between our _last two_ "Shift+clicks" are selected, and _selection is removed_ from all other files!
- We can continue our "Shift+click" travels in the dialog, and always instead of "expanding" the selection with "Shift+click", we only get the files between our two last clicks selected.
(N.B. These are also selected in a rectangular manner, see http://bugs.kde.org/show_bug.cgi?id=59228, but that is a different issue. This report is about files being removed from selection without the user's intent.)

In Konqueror (detailed file list view, list view, tree view, text view):
- We can't directly "Click" on a file, because that would execute it. Well, we can, mostly, which gets the file selected anyway, besides opening it in e.g. Kate.
- We can also click _beside_ the file, or "Ctrl+click" on the file to select it.
- We can't, however, "Shift+click" properly, as this is affected by what our _last selected file_ "X" was.
- This time the selection doesn't "travel", as "X" doesn't change.
- While we "Shift+click" on files, we will always have a _range of files_, with X being in one end of the range, and selection is _removed_ from all files outside this range.

I'll give another example, of how de-selecting files with "Shift+click" should work. We have the following arrangement:
xxxx123456xXxx7890xxxx

Now, if we "Shift+click" on "X", and then on "5", the files between and including "X" and "5" should get _de-selected_. (In other words, files 5 and 6 are not affected.)

Revision history for this message
kko (kko) wrote :

PS. I know where I would report this in the KDE bug tracker for Konqueror, but if anyone knows which product I should indicate there if reporting the behaviour of the "Open file" -dialog, a pointer would be appreciated.

Changed in kdebase:
status: Unknown → Unconfirmed
Revision history for this message
kko (kko) wrote :

My original examples contain a mistake. Instead of that, I would prefer the following:

"Shift+click" always requires (at least) two clicks to define the range. If the first item clicked on gets unselected, so does the entire range. And if the first item clicked on gets selected, this is similarly done for the entire range indicated by the last click. Releasing "shift" should confirm the selection. (Selections outside the range should not be affected.)

The tricky part in implementing this is, if we have a range with both selected and unselected files, over which we operate. If "shift" is kept pressed for the duration of the process, no matter how many times we click, only the range between the _first_ and the _last_ click should be selected.

Ideally, this would mean that the pre-existing selections should be remembered. So, to illustrate: if we accidentally first select a larger area than intended (but don't release "shift"), we can alter the selection to contain a smaller area, and the selections outside this area should be reverted back to what they were before our "shift+click" procedure.

description: updated
Revision history for this message
kko (kko) wrote :

Original submission edited to contain my last comment.

description: updated
Revision history for this message
Yuriy Kozlov (yuriy-kozlov) wrote :

The shift click behavior is improved a bit in KDE 4's dolphin and open file dialogs, but it's still not quite the desired behavior.

Changed in kdebase:
importance: Undecided → Wishlist
status: New → Confirmed
Changed in kde4libs:
status: Confirmed → Triaged
Changed in kdebase:
status: New → Invalid
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

This really should go upstream, as the bug against KDE3 Konqueror was closed since KDE3 konq was unmaintained. Furthermore, I don't really see Kubuntu implementing this behavior apart from it being implemented in KDE.

Changed in kde4libs (Ubuntu):
status: Triaged → Invalid
Changed in kdebase:
status: Invalid → Unknown
Changed in kdebase:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.