Sort the tag-values alphabetically in the "Tags" column

Up until now tag-values have appeared unsorted in the Tags column
when the selected View Mode is "Details".
In older versions of Dolphin (in KDE4) the tags-values were
alphabetically sorted in the Tags column, which means that back then
this was the desired behavior.
This commit restores this functionality.

BUG: 377589
FIXED-IN: 17.04.1
REVIEW: 130068
This commit is contained in:
Athanasios Kanellopoulos 2017-04-29 12:59:30 +02:00 committed by Elvis Angelaccio
parent de01efd9c3
commit 65467d8019
2 changed files with 7 additions and 1 deletions

View file

@ -29,6 +29,7 @@
#include <QTime>
#include <QMap>
#include <QCollator>
struct KBalooRolesProviderSingleton
{
@ -159,7 +160,11 @@ KBalooRolesProvider::KBalooRolesProvider() :
QString KBalooRolesProvider::tagsFromValues(const QStringList& values) const
{
return values.join(QStringLiteral(", "));
QStringList alphabeticalOrderTags = values;
QCollator coll;
coll.setNumericMode(true);
std::sort(alphabeticalOrderTags.begin(), alphabeticalOrderTags.end(), [&](const QString& s1, const QString& s2){ return coll.compare(s1, s2) < 0; });
return alphabeticalOrderTags.join(QStringLiteral(", "));
}
QString KBalooRolesProvider::orientationFromValue(int value) const

View file

@ -62,6 +62,7 @@ protected:
private:
/**
* @return User visible string for the given tag-values.
* The tag-values are sorted in alphabetical order.
*/
QString tagsFromValues(const QStringList& values) const;