Bug 479092

Summary: Increase the number of recent tags
Product: [Applications] digikam Reporter: Peter Albrecht <px79>
Component: Tags-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: REPORTED ---    
Severity: wishlist    
Priority: NOR    
Version First Reported In: 8.2.0   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Peter Albrecht 2023-12-27 19:24:27 UTC
SUMMARY
Please increase the number of recent tags, which digikam does remember.


STEPS TO REPRODUCE
1. create 12 tags with the names "personA", "personB", ... "personK", "personL"
2. select "image001.jpg", in view "Captions > Tags" assign the tags: "personA", "personB", "personC", "personD", "personE", "personF"
3. click the "Apply" button to save the tag assignment
4. select "image002.jpg", in view "Captions > Tags" assign the tags: "personG", "personH", "personI", "personJ", "personK", "personL"
5. click the "Apply" button to save the tag assignment
6. select "image003.jpg", in view "Captions > Tags" set focus in the input box "Enter tag here"
7. start typing "person"

OBSERVED RESULT
You can see a list of tags matching the entered tag String "person". The most recent 10 tags ("personL" to "personC") are printed in bold font and can be found at the top of the list. The most recent tag "personL" is the top entry in this list.
This is very helpful, since chances are very high, that the persons on the last picture can also be seen on the current picture. And if this person is listed near the top of this tag list, I can pick it with very little effort (= key presses).

WHERE IS THE PROBLEM?
My "problem": When I take pictures of family events, there might be about 30 persons on these events. And the people on e.g. picture 3 might appear on picture 16 again. But pictures 4 to 15 show 12 different people, so the persons of picture 3 are no longer in the "recent tags" list. When tagging pictures 16, I have to search* them in the "all tags" list, which contains 280 entries at the moment.

*) Of course, I won't search the "all tags" list for those entries. I just keep typing more letters of their tagname, until the list of matching tags is small enough. But more typing per tag means more time per tag. And if you assign 500 tags for one big event, this time might add up.

MY WISH
Please increase the number of "recent tags" digikam does remember. 30 might be a good value (for me). Others might need 50. But you can also think about setting this to infinite and remember all tags in the order of their last use.
Is there anything against the latter solution?

As far as I understand, the relevant line of code is in "core/libs/database/coredb/coredb.cpp", method "void CoreDB::addItemTag(qlonglong imageID, int tagID, bool newTag)", line 3164:

    if (d->recentlyAssignedTags.size() > 10)

ADDITIONAL INFORMATION
If you rightclick a picture, the context menu shows "Assign Tag". Selecting this menu item opens a submenu which shows the 10 recently used tags. This list should still show only the top 10 recently used tags, because 30 / 50 / infinite tags are not good for this ui format.

SOFTWARE/OS VERSIONS
Digikam App Image 8.2.0
Linux/KDE Plasma: Debian 12
KDE Plasma Version: ?
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.11

Thank you for your very good work on digikam!