Bug 284780

Summary: Face assignement need to use both mouse and keyboard to name persons
Product: [Applications] digikam Reporter: Michael Holtermann <linux>
Component: Faces-WorkflowAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, jflemer, mick, ss2hmi
Priority: NOR    
Version: 5.2.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.4.0
Sentry Crash Report:
Attachments: Small listbox, meaning of two entries is not clear

Description Michael Holtermann 2011-10-23 12:58:33 UTC
Created attachment 64806 [details]
Small listbox, meaning of two entries is not clear

Version:           2.1.1 (using KDE 4.7.1) 
OS:                Linux

Hello,

to tag a person on a photo, I have to use bot keyboard and mouse to select the keyword from the listbox.

It would be very nice if the workflow could be refined so that one could tag using the keyboard (entering a new name, hit enter) or mouse (type the start of an existing name/keyword,  click the correct keyword and click on "OK"). See below for details.

Kind regards,
Michael

Reproducible: Always

Steps to Reproduce:
1. Draw a new face tag or select an automatically created face tag
2. Click on the edit box
3. Type a name, list box with matching keywords appears
--> List box is very small, see attached screenshot. The meaning of both entries is not clear

4. Click on an existing keyword
--> This does not complete the entered name

5. Complete name by keyboard
6. Hit enter
--> Does not enable the submit button, I must click the listbox again

Alternative:
1. Start typing
2. Ho down with cursor and hit enter on existing keyword
--> List box disappear
--> Input box is empty
--> No name/keyword is stored


Actual Results:  
- The listbox is useless if you wish to select existing keywords.
- The listbox is too small.
- Hitting "Enter" does not save the current entry.
- Mouse select does not select the current entry

Expected Results:  
- If the enter key is hit, the current entry in the input box should be saved, maybe dependent on the preferences (save changes in the right pane without notification, IIRC)
--> Start typing, select entry with cursor keys, hit enter. Finish.

- If an existing keyword is selected by mouse, the input box must contain that keyword, and the submit button must be enabled.
--> Start typing, select entry with mouse click, click submit (or hit enter). Finish.
Comment 1 Marcel Wiesweg 2011-11-19 17:53:28 UTC
I can confirm two distinct problems:
1) The listbox can be too small. It is resized according to the size hint, which is calculated by the current style. Apparently, if the text has two lines, only the first one is taken into account. Looks like a slight style/Qt bug

2) Mouse press is ignored. It is filtered out by KCompletionBox's event filter. At the moment, I dont know why it works in the icon view, but not in the preview. I need to do further debugging.
Comment 2 caulier.gilles 2015-05-11 09:58:07 UTC
Marcel,

I confirm 1/ and 2/

For 1/, there is a another entry in bugzilla if i remember.

For 2/, with Qt5 port, we will have a new way to code completion. 

Gilles
Comment 3 jflemer 2016-10-03 03:46:20 UTC
I'm willing to work on this issue given minimal direction from core developers.
Comment 4 caulier.gilles 2016-11-05 11:06:42 UTC
*** Bug 372096 has been marked as a duplicate of this bug. ***
Comment 5 caulier.gilles 2016-11-21 22:02:45 UTC
*** Bug 372761 has been marked as a duplicate of this bug. ***
Comment 6 Maik Qualmann 2016-12-29 11:44:51 UTC
Git commit 949e7bf27067af3ebb48685b31c7b58a3e57b736 by Maik Qualmann.
Committed on 29/12/2016 at 11:42.
Pushed by mqualmann into branch 'master'.

fix completion mode for manual face tagging
Related: bug 374185, bug 372481, bug 368124, bug 360155
FIXED-IN: 5.4.0

M  +6    -1    NEWS
M  +40   -2    libs/tags/addtagscombobox.cpp
M  +8    -0    libs/tags/addtagscombobox.h
M  +7    -3    libs/tags/tagscompleter.cpp
M  +10   -0    utilities/facemanagement/assignnamewidget.cpp
M  +2    -0    utilities/facemanagement/assignnamewidget.h
M  +9    -1    utilities/facemanagement/facegroup.cpp

https://commits.kde.org/digikam/949e7bf27067af3ebb48685b31c7b58a3e57b736