X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/9f87bf8d88318e624e20182aea0c3258fcfcfab5..86d9c40ab71df5b8bd5063251337d5ca0c22380a:/src/dolphinmodel.cpp diff --git a/src/dolphinmodel.cpp b/src/dolphinmodel.cpp index 14d9af12b..76bd86264 100644 --- a/src/dolphinmodel.cpp +++ b/src/dolphinmodel.cpp @@ -208,8 +208,18 @@ QVariant DolphinModel::displayRoleData(const QModelIndex& index) const const QDate modifiedDate = modifiedTime.date(); const int daysDistance = modifiedDate.daysTo(currentDate); - const int currentWeek = currentDate.weekNumber(); - const int modifiedWeek = modifiedDate.weekNumber(); + + int yearForCurrentWeek = 0; + int currentWeek = currentDate.weekNumber(&yearForCurrentWeek); + if (yearForCurrentWeek == currentDate.year() + 1) { + currentWeek = 53; + } + + int yearForModifiedWeek = 0; + int modifiedWeek = modifiedDate.weekNumber(&yearForModifiedWeek); + if (yearForModifiedWeek == modifiedDate.year() + 1) { + modifiedWeek = 53; + } if (currentDate.year() == modifiedDate.year() && currentDate.month() == modifiedDate.month()) { @@ -231,6 +241,7 @@ QVariant DolphinModel::displayRoleData(const QModelIndex& index) const retString = i18nc("@title:group Date", "Three Weeks Ago"); break; case 4: + case 5: retString = i18nc("@title:group Date", "Earlier this Month"); break; default: @@ -351,6 +362,10 @@ QVariant DolphinModel::sortRoleData(const QModelIndex& index) const switch (index.column()) { case KDirModel::Name: { retVariant = data(index, KCategorizedSortFilterProxyModel::CategoryDisplayRole); + if (retVariant == i18nc("@title:group Name", m_others)) { + // assure that the "Others" group is always the last categorization + retVariant = QString(QChar(QChar::ReplacementCharacter)); + } break; }