From 9a189645cc4218e0efe5a718a4ac46ed006e6512 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Thu, 18 Nov 2010 16:18:07 +0000 Subject: [PATCH] - When showing the trash content, use the details view with path as default view - Assure that the original path is shown for the trash protocol within Dolphin svn path=/trunk/KDE/kdebase/apps/; revision=1198481 --- src/views/dolphinmodel.cpp | 7 ++++++- src/views/viewproperties.cpp | 12 ++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/views/dolphinmodel.cpp b/src/views/dolphinmodel.cpp index 5e62881a8..6474a4f3c 100644 --- a/src/views/dolphinmodel.cpp +++ b/src/views/dolphinmodel.cpp @@ -104,7 +104,12 @@ QVariant DolphinModel::data(const QModelIndex& index, int role) const case DolphinModel::LocalPathOrUrl: const KDirModel *dirModel = qobject_cast(index.model()); const KFileItem item = dirModel->itemForIndex(index); - return item.mostLocalUrl().directory(); + const KUrl url = item.mostLocalUrl(); + if (url.protocol() == QLatin1String("trash")) { + const KIO::UDSEntry udsEntry = item.entry(); + return udsEntry.stringValue(KIO::UDSEntry::UDS_EXTRA); + } + return url.directory(); } break; diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp index d5330ffaa..ed055e09e 100644 --- a/src/views/viewproperties.cpp +++ b/src/views/viewproperties.cpp @@ -53,9 +53,13 @@ ViewProperties::ViewProperties(const KUrl& url) : // We try and save it to the file .directory in the directory being viewed. // If the directory is not writable by the user or the directory is not local, // we store the properties information in a local file. - const bool isSearchUrl = url.protocol().contains("search"); - if (isSearchUrl) { + bool useDetailsViewWithPath = false; + if (url.protocol().contains("search")) { m_filePath = destinationDir("search"); + useDetailsViewWithPath = true; + } else if (url.protocol() == QLatin1String("trash")) { + m_filePath = destinationDir("trash"); + useDetailsViewWithPath = true; } else if (useGlobalViewProps) { m_filePath = destinationDir("global"); } else if (url.isLocalFile()) { @@ -73,11 +77,11 @@ ViewProperties::ViewProperties(const KUrl& url) : // If the .directory file does not exist or the timestamp is too old, // use default values instead. - const bool useDefaultProps = (!useGlobalViewProps || isSearchUrl) && + const bool useDefaultProps = (!useGlobalViewProps || useDetailsViewWithPath) && (!QFileInfo(file).exists() || (m_node->timestamp() < settings->viewPropsTimestamp())); if (useDefaultProps) { - if (isSearchUrl) { + if (useDetailsViewWithPath) { setViewMode(DolphinView::DetailsView); setAdditionalInfo(KFileItemDelegate::InformationList() << KFileItemDelegate::LocalPathOrUrl); } else { -- 2.47.3