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;
// 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()) {
// 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 {