X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/eaeee9f7d68d120b1982f24e73d8183db3418261..06fb789c2b7c435dce7cf1ff11bf045f3ebc84bf:/src/dolphinmodel.cpp diff --git a/src/dolphinmodel.cpp b/src/dolphinmodel.cpp index 3467c8a38..137274e0d 100644 --- a/src/dolphinmodel.cpp +++ b/src/dolphinmodel.cpp @@ -41,13 +41,14 @@ #include #include -const char* DolphinModel::m_others = I18N_NOOP2("@title:group Name", "Others"); +const char* const DolphinModel::m_others = I18N_NOOP2("@title:group Name", "Others"); DolphinModel::DolphinModel(QObject* parent) : KDirModel(parent), m_hasVersionData(false), m_revisionHash() { + setJobTransfersVisible(true); } DolphinModel::~DolphinModel() @@ -93,24 +94,18 @@ QVariant DolphinModel::data(const QModelIndex& index, int role) const break; case Qt::DisplayRole: - if (index.column() == DolphinModel::Version) { - switch (m_revisionHash.value(index, KVersionControlPlugin::UnversionedVersion)) { - case KVersionControlPlugin::NormalVersion: - return i18nc("@item::intable", "Normal"); - case KVersionControlPlugin::UpdateRequiredVersion: - return i18nc("@item::intable", "Update required"); - case KVersionControlPlugin::LocallyModifiedVersion: - return i18nc("@item::intable", "Locally modified"); - case KVersionControlPlugin::AddedVersion: - return i18nc("@item::intable", "Added"); - case KVersionControlPlugin::RemovedVersion: - return i18nc("@item::intable", "Removed"); - case KVersionControlPlugin::ConflictingVersion: - return i18nc("@item::intable", "Conflicting"); - case KVersionControlPlugin::UnversionedVersion: - default: - return i18nc("@item::intable", "Unversioned"); - } + switch (index.column()) { + case DolphinModel::LinkDest: { + const KDirModel *dirModel = qobject_cast(index.model()); + const KFileItem item = dirModel->itemForIndex(index); + return item.linkDest(); + } + + case DolphinModel::LocalPathOrUrl: + const KDirModel *dirModel = qobject_cast(index.model()); + const KFileItem item = dirModel->itemForIndex(index); + return item.localPath(); + break; } break; @@ -124,12 +119,14 @@ QVariant DolphinModel::data(const QModelIndex& index, int role) const QVariant DolphinModel::headerData(int section, Qt::Orientation orientation, int role) const { if ((orientation == Qt::Horizontal) && (role == Qt::DisplayRole)) { - if (section < KDirModel::ColumnCount) { + switch (section) { + case DolphinModel::LinkDest: + return i18nc("@title::column", "Link Destination"); + case DolphinModel::LocalPathOrUrl: + return i18nc("@title::column", "Path"); + default: return KDirModel::headerData(section, orientation, role); } - - Q_ASSERT(section == DolphinModel::Version); - return i18nc("@title::column", "Version"); } return QVariant(); } @@ -251,6 +248,11 @@ QVariant DolphinModel::displayRoleData(const QModelIndex& index) const } if (currentDate.year() == modifiedDate.year() && currentDate.month() == modifiedDate.month()) { + if (modifiedWeek > currentWeek) { + // use case: modified date = 2010-01-01, current date = 2010-01-22 + // modified week = 53, current week = 3 + modifiedWeek = 0; + } switch (currentWeek - modifiedWeek) { case 0: switch (daysDistance) {