mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-05 16:19:10 +00:00
KFileItemModel: Allow to group files and folder together
When folders size is available and unless sort dir first is set, folders and files can be grouped together in the regular size groups. Without this you can end up with multiple groups being added each time a folder size alternates with a file size. Relates to d520b417c97bdbdfece2a497dac8b5384a80b597
This commit is contained in:
parent
216068bd7c
commit
a3559a19db
|
@ -2026,16 +2026,24 @@ QList<QPair<int, QVariant> > KFileItemModel::sizeRoleGroups() const
|
|||
}
|
||||
|
||||
const KFileItem& item = m_itemData.at(i)->item;
|
||||
const KIO::filesize_t fileSize = !item.isNull() ? item.size() : ~0U;
|
||||
KIO::filesize_t fileSize = !item.isNull() ? item.size() : ~0U;
|
||||
QString newGroupValue;
|
||||
if (!item.isNull() && item.isDir()) {
|
||||
newGroupValue = i18nc("@title:group Size", "Folders");
|
||||
} else if (fileSize < 5 * 1024 * 1024) {
|
||||
newGroupValue = i18nc("@title:group Size", "Small");
|
||||
} else if (fileSize < 10 * 1024 * 1024) {
|
||||
newGroupValue = i18nc("@title:group Size", "Medium");
|
||||
} else {
|
||||
newGroupValue = i18nc("@title:group Size", "Big");
|
||||
if (DetailsModeSettings::directorySizeCount() || m_sortDirsFirst) {
|
||||
newGroupValue = i18nc("@title:group Size", "Folders");
|
||||
} else {
|
||||
fileSize = m_itemData.at(i)->values.value("size").toULongLong();
|
||||
}
|
||||
}
|
||||
|
||||
if (newGroupValue.isEmpty()) {
|
||||
if (fileSize < 5 * 1024 * 1024) { // < 5 MB
|
||||
newGroupValue = i18nc("@title:group Size", "Small");
|
||||
} else if (fileSize < 10 * 1024 * 1024) { // < 10 MB
|
||||
newGroupValue = i18nc("@title:group Size", "Medium");
|
||||
} else {
|
||||
newGroupValue = i18nc("@title:group Size", "Big");
|
||||
}
|
||||
}
|
||||
|
||||
if (newGroupValue != groupValue) {
|
||||
|
|
Loading…
Reference in a new issue