X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c8072005fada01d772595ec64adca449134f421e..d6488887ecf69d7f192b94de8dce34fae0b7eb76:/src/dolphinmodel.cpp?ds=sidebyside diff --git a/src/dolphinmodel.cpp b/src/dolphinmodel.cpp index 6ca2dd8e6..fc68d3977 100644 --- a/src/dolphinmodel.cpp +++ b/src/dolphinmodel.cpp @@ -1,6 +1,6 @@ /** * This file is part of the KDE project - * Copyright (C) 2007 Rafael Fernández López + * Copyright (C) 2007 Rafael Fernández López * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -40,12 +40,12 @@ #include #include #include -#include #include #include #include #include +#include DolphinModel::DolphinModel(QObject *parent) : KDirModel(parent) @@ -143,24 +143,63 @@ QVariant DolphinModel::data(const QModelIndex &index, int role) const modifiedTime.setTime_t(item.time(KIO::UDSEntry::UDS_MODIFICATION_TIME)); modifiedTime = modifiedTime.toLocalZone(); - if (modifiedTime.daysTo(KDateTime::currentLocalDateTime()) == 0) - retString = i18nc("@title:group Date", "Today"); - else if (modifiedTime.daysTo(KDateTime::currentLocalDateTime()) == 1) - retString = i18nc("@title:group Date", "Yesterday"); - else if (modifiedTime.daysTo(KDateTime::currentLocalDateTime()) < 7) - retString = i18nc("@title:group Date", "Less than a week"); - else if (modifiedTime.daysTo(KDateTime::currentLocalDateTime()) < 31) - retString = i18nc("@title:group Date", "Less than a month"); - else if (modifiedTime.daysTo(KDateTime::currentLocalDateTime()) < 365) - retString = i18nc("@title:group Date", "Less than a year"); - else - retString = i18nc("@title:group Date", "More than a year"); + retString = modifiedTime.toString(i18nc("Prints out the month and year: %B is full month name in current locale, and %Y is full year number", "%B, %Y")); break; } case KDirModel::Permissions: - retString = item.permissionsString(); + { + QString user; + QString group; + QString others; + + QFileInfo info(item.url().pathOrUrl()); + + if (info.permission(QFile::ReadUser)) + user = i18n("Read, "); + + if (info.permission(QFile::WriteUser)) + user += i18n("Write, "); + + if (info.permission(QFile::ExeUser)) + user += i18n("Execute, "); + + if (user.isEmpty()) + user = i18n("Forbidden"); + else + user = user.mid(0, user.count() - 2); + + if (info.permission(QFile::ReadGroup)) + group = i18n("Read, "); + + if (info.permission(QFile::WriteGroup)) + group += i18n("Write, "); + + if (info.permission(QFile::ExeGroup)) + group += i18n("Execute, "); + + if (group.isEmpty()) + group = i18n("Forbidden"); + else + group = group.mid(0, group.count() - 2); + + if (info.permission(QFile::ReadOther)) + others = i18n("Read, "); + + if (info.permission(QFile::WriteOther)) + others += i18n("Write, "); + + if (info.permission(QFile::ExeOther)) + others += i18n("Execute, "); + + if (others.isEmpty()) + others = i18n("Forbidden"); + else + others = others.mid(0, others.count() - 2); + + retString = i18nc("This shows files and folders permissions: user, group and others", "(User: %1) (Group: %2) (Others: %3)", user, group, others); break; + } case KDirModel::Owner: retString = item.user();