Bug 397718

Summary: String comparison type field - meaning is unclear
Product: [Applications] digikam Reporter: bcr
Component: Setup-MiscAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, metzpinguin
Priority: NOR    
Version First Reported In: 5.9.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 7.1.0
Sentry Crash Report:

Description bcr 2018-08-21 19:56:57 UTC
In the Misc preferences section, the "String comparison type" field has two options but its not clear how/why/where they are used.  I would suggest the following changes:

Provide a group box around it with a context label and rework the label to avoid using programmer-centric terminology:

--Search--
  Text match strength       [ flexible | exact ]    (link to help/examples)
----------

At first I though it was similar to a toggle you'd find to enable regex expressions so I think the link to the help screen should include match examples that work/don't work for each case.
Comment 1 caulier.gilles 2018-08-21 20:05:37 UTC
The contextual help over the option is really clear, no ?

https://www.flickr.com/photos/digikam/44182614451/in/dateposted/

Gilles Caulier
Comment 2 Maik Qualmann 2018-08-21 20:14:26 UTC
I also think that the tooltip describes it well.
But the Flickr image is private.

Maik
Comment 3 caulier.gilles 2018-08-21 20:26:10 UTC
Flickr visibility fixed
Comment 4 bcr 2018-08-21 20:34:19 UTC
Ok, I guess I was too impatient to notice the popup window.

Ok, I get it now. The label should then be changed to note that it affects list entry order. "String comparison type" denotes how it works under the covers.

Tree list ordering:  [ normal | natural ]

Normal & natural are too similar in meaning, I would suggest something else but not sure what.

I don't agree that the popup text is all that clear.  I think a (?) link to a help page that shows an image with trees side-by-side showing how the option changes the ordering would be much better.
Comment 5 caulier.gilles 2020-07-31 11:48:45 UTC
For me the description by a tooltip is the standard way to do and used everywhere in digiKam. Putting description in label everywhere will bloat the GUI. It's definitively a wrong solution especially for this kind of settings.

The terminology used for this settings is clear and well described in the tooltip. Code source relevant:

    DHBox* const stringComparisonHbox = new DHBox(behaviourPanel);
    d->stringComparisonTypeLabel      = new QLabel(i18n("String comparison type:"), stringComparisonHbox);
    d->stringComparisonType           = new QComboBox(stringComparisonHbox);
    d->stringComparisonType->addItem(i18nc("method to compare strings", "Natural"), ApplicationSettings::Natural);
    d->stringComparisonType->addItem(i18nc("method to compare strings", "Normal"),  ApplicationSettings::Normal);
    d->stringComparisonType->setToolTip(i18n("<qt>Sets the way in which strings are compared inside digiKam. "
                                             "This eg. influences the sorting of the tree views.<br/>"
                                             "<b>Natural</b> tries to compare strings in a way that regards some normal conventions "
                                             "and will eg. result in sorting numbers naturally even if they have a different number of digits.<br/>"
                                             "<b>Normal</b> uses a more technical approach. "
                                             "Use this style if you eg. want to entitle albums with ISO dates (201006 or 20090523) "
                                             "and the albums should be sorted according to these dates.</qt>"));

I close this file now...

Gilles Caulier