X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e893ceebb5a7295268ecf0ae2be5fb3fe07dfdbd..e4cc6e69430049366434e3383b1d2ef283ed22cc:/src/kitemviews/kfileitemmodel.h diff --git a/src/kitemviews/kfileitemmodel.h b/src/kitemviews/kfileitemmodel.h index 5662d4fa8..10be27128 100644 --- a/src/kitemviews/kfileitemmodel.h +++ b/src/kitemviews/kfileitemmodel.h @@ -365,7 +365,11 @@ private: ItemData *parent; }; - enum RemoveItemsBehavior { KeepItemData, DeleteItemData, DeleteItemDataIfUnfiltered }; + enum RemoveItemsBehavior { + KeepItemData, + DeleteItemData, + DeleteItemDataIfUnfiltered + }; void insertItems(QList &items); void removeItems(const KItemRangeList &itemRanges, RemoveItemsBehavior behavior); @@ -588,7 +592,9 @@ inline bool KFileItemModel::isRoleValueNatural(RoleType roleType) inline bool KFileItemModel::nameLessThan(const ItemData *a, const ItemData *b) { - return a->item.text() < b->item.text(); + // Split extension, taking into account it can be empty + constexpr QString::SectionFlags flags = QString::SectionSkipEmpty | QString::SectionIncludeLeadingSep; + return a->item.text().section('.', 0, 0, flags) < b->item.text().section('.', 0, 0, flags); } inline bool KFileItemModel::isChildItem(int index) const