From: Athanasios Kanellopoulos Date: Sat, 29 Apr 2017 10:59:30 +0000 (+0200) Subject: Sort the tag-values alphabetically in the "Tags" column X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/65467d80198b222e4f01b40004a73f888fb5a82b 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 --- diff --git a/src/kitemviews/private/kbaloorolesprovider.cpp b/src/kitemviews/private/kbaloorolesprovider.cpp index 16e3935ca..d6c15afcd 100644 --- a/src/kitemviews/private/kbaloorolesprovider.cpp +++ b/src/kitemviews/private/kbaloorolesprovider.cpp @@ -29,6 +29,7 @@ #include #include +#include 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 diff --git a/src/kitemviews/private/kbaloorolesprovider.h b/src/kitemviews/private/kbaloorolesprovider.h index a9bd2e8ef..65b59793c 100644 --- a/src/kitemviews/private/kbaloorolesprovider.h +++ b/src/kitemviews/private/kbaloorolesprovider.h @@ -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;