Bug 427202

Summary: File folder selection UX with a touchscreen would be improved
Product: [Applications] dolphin Reporter: Patrick Silva <bugseforuns>
Component: generalAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: 4wy78uwh, kfm-devel, nate, sh033
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:

Description Patrick Silva 2020-10-01 11:53:12 UTC
SUMMARY
selection marker is only visible on mouseover, we can not use a finger to make
a selection area and Dolphin always opens a file/folder when I tap on it ("Double click to open files and folders" option available in system settings > workspace behavior > general behavior is ignored). Therefore, currently we can not select
files/folders with a touchscreen.

EXPECTED RESULT
we can select files/folders with a touchscreen

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.75.0
Qt Version: 5.15.0
Comment 1 Nate Graham 2020-10-01 18:23:13 UTC
Yeah. :(

What we probably need is a dedicated "selection mode" that can be entered by pressing-and-holding, which is most most mobile OSs do it these days. See https://phabricator.kde.org/T9895
Comment 2 Steffen 2020-10-04 13:45:36 UTC
You can select / deselect files with a two finger tap gesture
Comment 3 Nate Graham 2020-10-07 18:24:07 UTC
Ah, so you can!

I don't think that's very intuitive though, and a two-finger tap makes the implicit tap area positively enormous--much larger than many items will be. Trying it out, it feels a bit clumsy and imprecise.

I think we should explore the press-to-enter-selection-mode idea. In this mode, the items from the context menu could be always visible somewhere. Maybe in a new contextual toolbar, or maybe as a floating popup or something. There are some ideas in that Phab task.
Comment 4 Patrick Silva 2022-01-16 13:01:35 UTC
Stiill an issue on neon unstable. Cannot select two or more files with double tap because shift and ctrl modifiers do not work.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.24.80
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3
Graphics Platform: Wayland
Comment 5 Nate Graham 2022-07-27 22:10:27 UTC
In progress with https://invent.kde.org/system/dolphin/-/merge_requests/273.
Comment 6 Felix Ernst 2022-08-14 14:51:35 UTC
Git commit 3b7c05b385dc56fbc0b9ffdd332f8d30e7624d0c by Felix Ernst.
Committed on 14/08/2022 at 14:42.
Pushed by felixernst into branch 'master'.

Add Selection Mode

The selection mode action is a checkable toggle action named
"Select Files and Folders" which has "Space" as the default
shortcut.

In selection mode a bottom bar with contextual actions is shown.
These should mostly mirror the actions which are available through
the right-click context menu aka DolphinContextMenu.

Resizing of the window might make a overflow button appear in the
bottom selection mode bar.

This commit makes press and hold in the view activate selection
mode. This behaviour is not triggered if the press and hold is
used to either start a rubberband selection or a drag operation
within a short time. The length of the short timeframe is defined
by a QStyleHint. This is currently not implemented in touch
because I can't test it.

Mix the selection mode bars' background colors using a nice
combination of colors from the current color scheme

M  +5    -0    src/CMakeLists.txt
M  +125  -30   src/dolphinmainwindow.cpp
M  +12   -0    src/dolphinmainwindow.h
M  +2    -1    src/dolphintabpage.cpp
M  +2    -5    src/dolphintabpage.h
M  +3    -14   src/dolphinui.rc
M  +98   -8    src/dolphinviewcontainer.cpp
M  +21   -1    src/dolphinviewcontainer.h
M  +5    -0    src/global.h
M  +37   -5    src/kitemviews/kitemlistcontroller.cpp
M  +13   -0    src/kitemviews/kitemlistcontroller.h
A  +76   -0    src/selectionmode/actionwithwidget.cpp     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +86   -0    src/selectionmode/actionwithwidget.h     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +90   -0    src/selectionmode/backgroundcolorhelper.cpp     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +45   -0    src/selectionmode/backgroundcolorhelper.h     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +705  -0    src/selectionmode/selectionmodebottombar.cpp     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +181  -0    src/selectionmode/selectionmodebottombar.h     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +131  -0    src/selectionmode/selectionmodetopbar.cpp     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +66   -0    src/selectionmode/selectionmodetopbar.h     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
A  +29   -0    src/selectionmode/singleclickselectionproxystyle.h     [License: LGPL(3+eV) LGPL(v3.0) LGPL(v2.1)]
M  +4    -0    src/settings/dolphin_generalsettings.kcfg
M  +1    -1    src/settings/viewpropertiesdialog.cpp
M  +23   -2    src/views/dolphinview.cpp
M  +18   -2    src/views/dolphinview.h
M  +39   -11   src/views/dolphinviewactionhandler.cpp
M  +4    -0    src/views/dolphinviewactionhandler.h

https://invent.kde.org/system/dolphin/commit/3b7c05b385dc56fbc0b9ffdd332f8d30e7624d0c