dolphin/src/kitemviews
Frank Reininghaus e69d348975 Fix KFileItemModel performance regression
Commit 119f7a3f fixed a crash that was caused by the porting of the
natural sorting code to QCollator. QCollator is not thread-safe, so
every thread needs its own instance. However, that commit made every
recursive call in the sorting code create a new deep-copied QCollator
instance, which is quite expensive and thus made inserting any items
into the model very slow (this could also be seen in the KFileItemModel
benchmark).

This commit avoids unnecessary QCollator copying by forcing all sorting
functions which are called in the same thread to pass the 'lessThan'
object by const reference, such that no unnecessary copying of that
object, including a deep copy of the QCollator, takes place.

REVIEW: 123620
2015-05-07 22:14:00 +02:00
..
private Fix KFileItemModel performance regression 2015-05-07 22:14:00 +02:00
kfileitemlistview.cpp Merge branch 'davidedmundson/highdpi' 2015-03-30 13:39:17 +02:00
kfileitemlistview.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kfileitemlistwidget.cpp Port away from KLocale 2015-02-24 12:22:16 +01:00
kfileitemlistwidget.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kfileitemmodel.cpp Enable translation scripting for date groups 2015-04-23 17:40:33 +03:00
kfileitemmodel.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kfileitemmodelrolesupdater.cpp review comments 2015-03-27 16:28:57 +01:00
kfileitemmodelrolesupdater.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemlistcontainer.cpp Scroll by page if Shift Key is pressed 2015-05-06 15:47:18 +05:30
kitemlistcontainer.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemlistcontroller.cpp Create drag pixmaps which match the device pixel ratio 2015-03-25 18:31:40 +01:00
kitemlistcontroller.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemlistgroupheader.cpp Fix includes 2015-02-06 09:35:26 +01:00
kitemlistgroupheader.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemlistheader.cpp Remove the automoc noise 2014-06-29 10:36:32 +02:00
kitemlistheader.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemlistselectionmanager.cpp Fix includes 2015-02-06 09:35:26 +01:00
kitemlistselectionmanager.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemliststyleoption.cpp Fix includes 2014-10-18 15:00:17 +02:00
kitemliststyleoption.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemlistview.cpp Fix some EBN issues 2015-03-19 20:13:40 +02:00
kitemlistview.h Fix some EBN issues 2015-03-19 20:13:40 +02:00
kitemlistviewaccessible.cpp Fix includes 2015-02-06 09:35:26 +01:00
kitemlistviewaccessible.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemlistwidget.cpp squash me with a some other commit in kitemlistwidgetinformant 2015-03-25 18:31:40 +01:00
kitemlistwidget.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemmodelbase.cpp Remove the automoc noise 2014-06-29 10:36:32 +02:00
kitemmodelbase.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kitemrange.h Fix possible crash if a kioslave adds multiple items with the same URL 2014-06-04 21:49:02 +02:00
kitemset.cpp Store the selected items in a more efficient way 2013-10-30 23:22:23 +01:00
kitemset.h Store the selected items in a more efficient way 2013-10-30 23:22:23 +01:00
kstandarditem.cpp Fix includes 2015-02-06 09:35:26 +01:00
kstandarditem.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kstandarditemlistgroupheader.cpp Removed unused KGlobal includes and use KIO/Job instead of KIO/JobClasses 2015-02-24 12:51:24 +01:00
kstandarditemlistgroupheader.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kstandarditemlistview.cpp Fix includes 2015-02-06 09:35:26 +01:00
kstandarditemlistview.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00
kstandarditemlistwidget.cpp review comments 2015-03-27 16:28:57 +01:00
kstandarditemlistwidget.h Paint icons at the correct size 2015-03-25 18:31:40 +01:00
kstandarditemmodel.cpp Fix includes 2015-02-06 09:35:26 +01:00
kstandarditemmodel.h Move the KVersionControlPlugin2 interface from konqlib to Dolphin and remove the deprecated KVersionControlPlugin interface from konqlib 2015-02-25 17:21:10 +01:00