[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Review Request: Consistent file name sorting in the file browser
From:       "Peter Penz" <peter.penz () gmx ! at>
Date:       2010-02-18 16:47:30
Message-ID: 20100218164730.28140.27331 () localhost
[Download RAW message or body]



> On 2010-02-18 15:50:35, Peter Penz wrote:
> > I did some profiling [1] and the updated diff decreases the performance by around \
> > 25 %. Sorting is no bottleneck in Dolphin, but after doing some further checks I \
> > found out, that KStringHandler::naturalCompare() must be fixed, not \
> > KDirSortFilterProxyModelPrivate::compare(). This is good, as it adds no overhead \
> > to the performance at all. 
> > I just have added + committed a unittest for bug 201101 (see \
> > kdelibs/kdecore/tests/kstringhandlertest.cpp), which fails currently. So for \
> > natural sorting, text.txt must be smaller than text1 (natural sorting should just \
> > take care that 1 is smaller than 10 etc.), but this is not the case at the \
> > moment. 
> > Although the fix should be quite trivial, I don't have the time today to fix this \
> > myself. It would be great if you could have a look on this \
> > (kdelibs/kdecore/text/kstringhandler.cpp), but of course if you have other topics \
> > on your list I'll have a look on this during the next days. 
> > [1] You can use "valgrind --tool=callgrind dolphin --nofork" and check the output \
> > file with kcachegrind
> 
> Todd wrote:
> I'm not sure I'm following here.  Are you saying that my diff is slowing things \
> down, but it is not the fault of the diff, or are you saying that my diff is \
> slowing things down, so I should make the changes in another library \
> (KStringHandler) instead and keep KDirSortFilterProxyModelPrivate::compare() as it \
> was before? 
> Either way, for fixing kstringhandler.cpp, I am currently trying to get the tab \
> drop working.  If I finish that before you have a chance to work on it, I will do \
> it.  Otherwise you can do it.  It depends on how long it takes to get the tab drop \
> working.  When I'm done with that I'll post a review request here.  If you get \
> around to it before I do so, please post a comment here and go ahead with the fix.  \
> Otherwise I will do it.

I wanted to say that the performance of your diff is no problem (although it slows \
down the code), but after taking a more closer look I came to the conclusion that the \
fix itself is done on the wrong part of the code.

I'll let you know here, if I would start with the patch...


- Peter


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2988/#review4199
-----------------------------------------------------------


On 2010-02-18 00:50:19, Todd wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/2988/
> -----------------------------------------------------------
> 
> (Updated 2010-02-18 00:50:19)
> 
> 
> Review request for Dolphin and kdelibs.
> 
> 
> Summary
> -------
> 
> In the KDE file manager, there is an inconsistency when sorting by file names when \
> the files have extensions and when they don't.  So, for example, when there is no \
> extension test1 < test1a < test2 < test 10 < test10a < test20.  But when there is \
> an extension you get something like test1a.txt < test1.txt < test2.txt < \
> test10a.txt < test10.txt < test20.txt.  According to the guide that KDE is using \
> for sorting, http://sourcefrog.net/projects/natsort/, the case without extensions \
> is the correct one.  So what this patch does is first compares the filenames \
> without the extension.  If those don't match, it uses that.  If they do match, it \
> compare the extension.  If there are multiple extensions, it compares each \
> extension in sequence.  If the number of extensions do not match, it treats the \
> file with the fewer extensions as having enough empty extensions to make the two \
> files equal.  This fixes the problem without needing any change to the underlying \
> sorting algorithm.s 
> 
> This addresses bug 201101.
> https://bugs.kde.org/show_bug.cgi?id=201101
> 
> 
> Diffs
> -----
> 
> /trunk/KDE/kdelibs/kfile/kdirsortfilterproxymodel.cpp 1091061 
> 
> Diff: http://reviewboard.kde.org/r/2988/diff
> 
> 
> Testing
> -------
> 
> Tried sorting different combinations of names, extensions, and extension numbers.
> 
> 
> Thanks,
> 
> Todd
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic