Review Request 128574: Enable natural sorting on QCollator in KDirSortFilterProxyModel

Mathis Beer mathis_beer at yahoo.de
Thu Apr 27 23:59:55 UTC 2017


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128574/
-----------------------------------------------------------

(Updated April 27, 2017, 11:59 p.m.)


Review request for KDE Frameworks, David Faure, Nick Shaforostoff, and Harald Sitter.


Changes
-------

Ah, you're right of course. Change to also disable natural sorting when the configuration flag becomes unset. (Tested and works at least for the default case.)


Bugs: 343452
    https://bugs.kde.org/show_bug.cgi?id=343452


Repository: kio


Description
-------

KDirSortFilterProxyModel is advertised in the header as performing a "natural sort", ie. "7 8 9 10 11", instead of a lexical "10 11 7 8 9".
However, as far as I can tell this was never true from the start, since the collator responsible for the actual sorting did not have the requisite numeric mode enabled, and this setting has always been off by default as far back as I can find docs for it (Qt 5.2).

(Dolphin, which offers "natural sort", did not run into this issue because it does not actually use KDirSortFilterProxyModel.)


Diffs (updated)
-----

  src/filewidgets/kdirsortfilterproxymodel.cpp 89505ac 

Diff: https://git.reviewboard.kde.org/r/128574/diff/


Testing
-------

Create a folder with three images, "File 1.png", "File 10.png", "File 2.png".
View the folder in Gwenview with sort order set to "Name". The sort order is "File 1.png, File 10.png, File 2.png".
Apply patch.
View the folder in Gwenview with sort order set to "Name". The sort order is "File 1.png, File 2.png, File 10.png".


Thanks,

Mathis Beer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20170427/64a49398/attachment.html>


More information about the Kde-frameworks-devel mailing list