> On Nov. 27, 2016, 7:17 p.m., Konstantinos Smanis wrote:
> > I can confirm that the patch indeed resolves the natural sorting issue in 
> > KDirSortFilterProxyModel, which is a logical bug (an omission) introduced 
> > at some point during the KF5 kio port. It's been there since the initial 
> > git import of KF5 kio (as per [1]).
> > 
> > However, the patch is a half-measure as it doesn't fully address the issue 
> > at hand. Essentially it enforces natural sorting in the 
> > KDirSortFilterProxyModel class, as the relevant configuration option 
> > (kdeglobals config file -> [KDE] config group -> "NaturalSorting" config 
> > entry) is not accessible (i.e. editable) to the user by means of a GUI. It 
> > used to, but this is no longer case (as per commit [2]). See, back in KDE 
> > 4.x, Dolphin and Gwenview (and essentially any code relying on 
> > KDirSortFilterProxyModel) shared the same natural sorting configuration (by 
> > means of KGlobalSettings::naturalSorting() [3], which btw has been moved to 
> > kdelibs4support in KF5 [4]) and this was, for better or worse, configurable 
> > through Dolphin. Per the above mentioned commit though ([2]), Dolphin went 
> > a different way, so the "NaturalSorting" config entry in kdeglobals is only 
> > configurable by hand editing the config file.
> > 
> > On a side note, it's also worth mentioning that Dolphin never made use of 
> > KDirSortFilterProxyModel, it performs its own natural sorting.
> > 
> > tl;dr: In KDE 4.x everyone relied on KGlobalSettings::naturalSorting() for 
> > natural sorting configuration, which allowed for uniform sorting behaviour 
> > in different applications. This is no longer the case, so from a casual 
> > user's perspective, this patch would only hardcode natural sorting in 
> > Gwenview (the main user of KDirSortFilterProxyModel natural sorting). The 
> > patch as it stands is not wrong, but the underlying issue is broader.
> > 
> > I hope I didn't omit anything, I have been juggling with pre- and post-KF5 
> > code trying to find out what went wrong in the way. A design decision has 
> > to be made on the issue. For more info check the related bug report.
> > 
> > [1] 
> > https://cgit.kde.org/kio.git/log/src/filewidgets/kdirsortfilterproxymodel.cpp
> > [2] 
> > https://cgit.kde.org/dolphin.git/commit/?id=fdb5c0d33e38e9d5fedc821c586bbb5ca8a0d2a5
> > [3] 
> > https://lxr.kde.org/source/kde/kdelibs/kdeui/kernel/kglobalsettings.cpp?v=stable-qt4#0775
> > [4] 
> > https://lxr.kde.org/source/frameworks/kdelibs4support/src/kdeui/kglobalsettings.cpp#0552

Let's track the broader issue here: https://phabricator.kde.org/T5970


- Elvis


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


On Jan. 8, 2017, 4:13 p.m., Mathis Beer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128574/
> -----------------------------------------------------------
> 
> (Updated Jan. 8, 2017, 4:13 p.m.)
> 
> 
> Review request for KDE Frameworks, David Faure, Nick Shaforostoff, and Harald 
> Sitter.
> 
> 
> 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
> -----
> 
>   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
> 
>

Reply via email to