Bug 465033 - Improve UX of Trash-Bin
Summary: Improve UX of Trash-Bin
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Albums-Trash (show other bugs)
Version: 7.9.0
Platform: Other Other
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: junior-jobs
Depends on:
Blocks:
 
Reported: 2023-01-30 10:12 UTC by Thomas Damgaard
Modified: 2023-04-12 05:35 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Damgaard 2023-01-30 10:12:26 UTC
SUMMARY

The Trash/Wastebin has proven to be rather confusing for several users according to reports on the users mailing list.
It is safe to assume that the amount of users affected by this is much larger than the number of users actually reporting this to the users list due to the fact that most users do not engage in neither user mailing lists or bug tracking systems.

First problem is that many users have a hard time figuring out how to empty the trash bin.
The problem is exacerbated by the fact that the buttons wordings are ambiguous. For example, when I mark everything and click Delete..., a popup menu sasys "Selected Items permanently"  and "All items permanently".

Also, there is both an Undo button and a Restore button. 

It is also ambiguous if the buttons at the bottom of the Trash are actions related to what ever item/items are selected or to the Trash bin as a while? 

I read through the documentation, and while I value the excellent documentation for Digikam, I think that from a user experience perspective the user should not really have to consult the documentation for such a mundane task as to empty trash. Especially since there is already an established defacto pattern for hos much of this stuff works in other applications (Right click Trash --> Empty trash)

From the documentation:

        Undo: to restore only the last entry in the trash-bin.

        Restore¨: to restore selection of files from the trash-bin.

        Delete: to remove permanently the items selection or all items from the trash-bin.

I propose a low effort improvements:

1: The buttons should at least have these specifications listed in the "mouse hover hint". I don't know what the right term for this is, but what I mean is that if the user hovers the buttons with the mouse, there should be a quick help text shown. 

2: Right clicking on Trash icon in the tree view should show a context menu with the "Empty trash" option.

3: The wording of the Trash buttons should be changed to confirm with the defacto standard of other applications and operating systems. That is, there should be a button that says Empty trash which will simply delete all items in the trash.
Comment 1 caulier.gilles 2023-01-30 10:26:41 UTC
The Trash-Bin View is described in this section of the online manual:

https://docs.digikam.org/en/main_window/image_view.html#deleting-a-photograph

Codes relevant are located here :

model: https://invent.kde.org/graphics/digikam/-/tree/master/core/libs/dtrash
view: https://invent.kde.org/graphics/digikam/-/blob/master/core/app/views/stack/trashview.cpp

Gilles Caulier
Comment 2 caulier.gilles 2023-01-30 10:32:02 UTC
Point 1/ and 3/ from original wish are already implemented. Point 2/ still TODO.
Comment 3 caulier.gilles 2023-01-30 10:40:18 UTC
Another Improvement TODO (point 4/):

The right sidebar "Properties" is not updated accordingly with trash-bin item selected in list-view. For example:

https://i.imgur.com/vk9wSfi.png

Gilles
Comment 4 caulier.gilles 2023-01-30 10:51:56 UTC
Last point 5/: The trash-bin list view do not provide a ToolTip over items as for Table-view for ex.
Comment 5 caulier.gilles 2023-01-30 10:53:48 UTC
I propose to target all student changes in git/master code for next 8.0.0 release
Comment 6 caulier.gilles 2023-01-30 10:55:02 UTC
About tooltip point 5/ from comment #4, see description here :

https://docs.digikam.org/en/setup_application/tooltip_settings.html

Gilles caulier
Comment 7 Maik Qualmann 2023-01-30 11:30:27 UTC
For point 4/ the trash entries are no longer a valid part of the database. A preview in the right sidebar can only be done similar to showFoto.

Maik
Comment 8 Maik Qualmann 2023-01-30 11:33:09 UTC
Same goes for point 5/, the tooltips above the items cannot use the database.

Maik
Comment 9 caulier.gilles 2023-01-30 13:06:43 UTC
Hi Maik,

Yes i know that MetaEngine must be used in this case Showfoto.

Gilles
Comment 10 caulier.gilles 2023-04-10 08:24:24 UTC
Git commit d8f7fb8b650e013f41d5725875eb725899b95daa by Gilles Caulier.
Committed on 10/04/2023 at 08:22.
Pushed by cgilles into branch 'master'.

Apply patch from TRAN Quoc Hung about Trash Improvement (context menus)

M  +3    -0    core/app/views/stack/itemiconview.cpp
M  +20   -0    core/app/views/stack/trashview.cpp
M  +2    -0    core/app/views/stack/trashview.h
M  +1    -0    core/libs/album/manager/albummanager.h
M  +14   -2    core/libs/album/treeview/abstractalbumtreeview.cpp

https://invent.kde.org/graphics/digikam/commit/d8f7fb8b650e013f41d5725875eb725899b95daa
Comment 11 caulier.gilles 2023-04-10 08:57:30 UTC
Git commit d16f9f0a6d9060c6936607d635ebdb91a299a15d by Gilles Caulier.
Committed on 10/04/2023 at 08:56.
Pushed by cgilles into branch 'master'.

Now populate item properties view using DMetadata based method if current item come from Trash

M  +2    -0    core/app/views/stack/itemiconview_items.cpp
M  +18   -10   core/app/views/stack/stackedview.cpp
M  +10   -0    core/libs/properties/itempropertiessidebardb.cpp

https://invent.kde.org/graphics/digikam/commit/d16f9f0a6d9060c6936607d635ebdb91a299a15d
Comment 12 caulier.gilles 2023-04-10 14:09:00 UTC
Hi Maik,

I still a problem with Trash View and the auto-selection of items when you navigate between albums and go back to the collection trash. Selection is always reset to the first item. This due to the internal model, clear when trash view is displayed, probably because the thumbnail size is restaured.

Gilles
Comment 13 Maik Qualmann 2023-04-10 17:06:44 UTC
Hi Gilles,

The Trash View is always reloaded with each call. Honestly, I've never had the desire to have a selection of items back next time. It is correct, it is everywhere in digiKam that a selection is restored. But the Trash View is a simple model. New elements in the trash are not added automatically, only when the view is loaded, etc.
As with the import model, we could certainly create one for the trash that does not require a database. Since we already have requests for a real thumbnail view as a bug report. But it's just a trash, and for that it works well, can incrementally undo, restore, delete...

Maik
Comment 14 caulier.gilles 2023-04-10 20:19:00 UTC
Hi Maik,

Well, it still a problem when navigating between album and go back to trash. The model is clear when you enter in trash view, the first item is always selected, but look in properties sidebar tab : the information do not come from the first item. But if you click on another one from the trash view, the information are right. Sound like it miss something when the model is clear.

Gilles
Comment 15 caulier.gilles 2023-04-11 05:54:12 UTC
Git commit f25915f0cf251de9dfddae7e9896597503f5e0bc by Gilles Caulier.
Committed on 11/04/2023 at 05:53.
Pushed by cgilles into branch 'master'.

add restore action to trash context menu

M  +21   -13   core/app/views/stack/trashview.cpp

https://invent.kde.org/graphics/digikam/commit/f25915f0cf251de9dfddae7e9896597503f5e0bc
Comment 16 Maik Qualmann 2023-04-11 18:13:35 UTC
Git commit 65fa1dc297d407a0ee812b7b2c700453564af5f9 by Maik Qualmann.
Committed on 11/04/2023 at 18:12.
Pushed by mqualmann into branch 'master'.

remember last selected trash item

M  +48   -16   core/app/views/stack/trashview.cpp
M  +2    -0    core/app/views/stack/trashview.h
M  +15   -0    core/libs/dtrash/dtrashitemmodel.cpp
M  +3    -0    core/libs/dtrash/dtrashitemmodel.h

https://invent.kde.org/graphics/digikam/commit/65fa1dc297d407a0ee812b7b2c700453564af5f9
Comment 17 Maik Qualmann 2023-04-11 19:21:05 UTC
Git commit 889eb4f1ebe44655ca8a8ffdc4fc197c2346447e by Maik Qualmann.
Committed on 11/04/2023 at 19:19.
Pushed by mqualmann into branch 'master'.

store last DTrashItemInfo

M  +23   -22   core/app/views/stack/trashview.cpp

https://invent.kde.org/graphics/digikam/commit/889eb4f1ebe44655ca8a8ffdc4fc197c2346447e
Comment 18 Maik Qualmann 2023-04-11 20:00:49 UTC
Git commit b5a57dce4dd29aa99f2b4e9a046cda706498845c by Maik Qualmann.
Committed on 11/04/2023 at 19:59.
Pushed by mqualmann into branch 'master'.

set initial selected item

M  +13   -3    core/app/views/stack/trashview.cpp

https://invent.kde.org/graphics/digikam/commit/b5a57dce4dd29aa99f2b4e9a046cda706498845c
Comment 19 caulier.gilles 2023-04-12 04:13:49 UTC
With all commits posted in this file, all points (1-5) listed are now implemented in next 8.0.0 release.

I close this file now.

Gilles Caulier
Comment 20 caulier.gilles 2023-04-12 04:27:25 UTC
Git commit ea5e18ef9813f4335dce5fc31f8041f08a1d70ab by Gilles Caulier.
Committed on 12/04/2023 at 04:23.
Pushed by cgilles into branch 'master'.

more detilled "Restore" action from trash-bin context menu using "Selection" menu title to host this action

M  +1    -0    core/app/views/stack/trashview.cpp

https://invent.kde.org/graphics/digikam/commit/ea5e18ef9813f4335dce5fc31f8041f08a1d70ab
Comment 21 caulier.gilles 2023-04-12 05:35:20 UTC
Git commit 8b7d1407f8efb2890990d0d5d3e0db5dfcd78539 by Gilles Caulier.
Committed on 12/04/2023 at 05:34.
Pushed by cgilles into branch 'master'.

add help button to the trash bin to open online documentation

M  +11   -0    core/app/views/stack/trashview.cpp
M  +1    -1    core/libs/tags/manager/tagsmanager.cpp

https://invent.kde.org/graphics/digikam/commit/8b7d1407f8efb2890990d0d5d3e0db5dfcd78539