┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-11-18 16:18:07 +0000
committerPeter Penz <[email protected]>2010-11-18 16:18:07 +0000
commit9a189645cc4218e0efe5a718a4ac46ed006e6512 (patch)
tree59d2570e777756122b141fedfeb84ce93bb13b27
parent9e29e6426b149e05ab61b39f1969513c358fc1e7 (diff)
- 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
-rw-r--r--src/views/dolphinmodel.cpp7
-rw-r--r--src/views/viewproperties.cpp12
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<const KDirModel*>(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 {