diff --git a/dolphin/src/panels/information/informationpanel.cpp b/dolphin/src/panels/information/informationpanel.cpp index 4b619907..b73cebbd 100644 --- a/dolphin/src/panels/information/informationpanel.cpp +++ b/dolphin/src/panels/information/informationpanel.cpp @@ -198,7 +198,7 @@ void InformationPanel::slotFolderStatFinished(KJob* job) { m_folderStatJob = 0; const KIO::UDSEntry entry = static_cast(job)->statResult(); - m_content->showItem(KFileItem(entry, m_shownUrl)); + m_content->showItem(KFileItem(entry)); } void InformationPanel::slotInfoTimeout() diff --git a/kate/part/document/katedocument.cpp b/kate/part/document/katedocument.cpp index 39661b14..b5309625 100644 --- a/kate/part/document/katedocument.cpp +++ b/kate/part/document/katedocument.cpp @@ -2145,7 +2145,7 @@ bool KateDocument::saveFile() KIO::UDSEntry fentry; if (KIO::NetAccess::stat (url(), fentry, QApplication::activeWindow())) { // do a evil copy which will overwrite target if possible - KFileItem item (fentry, url()); + KFileItem item (fentry); KIO::FileCopyJob *job = KIO::file_copy ( url(), u, item.permissions(), KIO::Overwrite ); backupSuccess = KIO::NetAccess::synchronousRun(job, QApplication::activeWindow()); } diff --git a/kcontrol/desktoppaths/kcmdesktoppaths.cpp b/kcontrol/desktoppaths/kcmdesktoppaths.cpp index 18f83320..04baac73 100644 --- a/kcontrol/desktoppaths/kcmdesktoppaths.cpp +++ b/kcontrol/desktoppaths/kcmdesktoppaths.cpp @@ -344,7 +344,7 @@ void DesktopPathConfig::slotEntries(KIO::Job*, const KIO::UDSEntryList& list) { QListIterator it(list); while (it.hasNext()) { - KFileItem file(it.next(), m_copyFromSrc); + KFileItem file(it.next()); kDebug() << file.url(); if (file.url() == m_copyFromSrc || file.url().fileName() == "..") { continue; diff --git a/kfind/kquery.cpp b/kfind/kquery.cpp index ba54e98a..2320cc28 100644 --- a/kfind/kquery.cpp +++ b/kfind/kquery.cpp @@ -113,7 +113,7 @@ void KQuery::slotListEntries(KIO::Job*, const KIO::UDSEntryList& list) const KIO::UDSEntryList::ConstIterator end = list.constEnd(); for (KIO::UDSEntryList::ConstIterator it = list.constBegin(); it != end; ++it) - m_fileItems.enqueue(KFileItem(*it, m_url)); + m_fileItems.enqueue(KFileItem(*it)); checkEntries(); } diff --git a/kioslave/camera/kio_camera.cpp b/kioslave/camera/kio_camera.cpp index b7b350db..fc73b051 100644 --- a/kioslave/camera/kio_camera.cpp +++ b/kioslave/camera/kio_camera.cpp @@ -382,6 +382,7 @@ void KameraProtocol::statRoot(void) { KIO::UDSEntry entry; entry.insert(KIO::UDSEntry::UDS_NAME, QString::fromLatin1("/")); + entry.insert(KIO::UDSEntry::UDS_URL, "camera:/"); entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); entry.insert(KIO::UDSEntry::UDS_ACCESS, (S_IRUSR | S_IRGRP | S_IROTH)); entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("inode/directory")); @@ -392,7 +393,7 @@ void KameraProtocol::statRoot(void) idletime = MAXIDLETIME; } -void KameraProtocol::split_url2camerapath(QString url, QString &directory, QString &file) { +void KameraProtocol::split_url2camerapath(const QString &url, QString &directory, QString &file) { QStringList components, camarr; QString cam, camera, port; @@ -436,6 +437,7 @@ void KameraProtocol::statRegular(const KUrl &xurl) QString xname = current_camera + "@" + current_port; entry.insert(KIO::UDSEntry::UDS_NAME, path_quote(xname)); + entry.insert(KIO::UDSEntry::UDS_URL, xurl.url()); entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, current_camera); entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); entry.insert(KIO::UDSEntry::UDS_ACCESS, (S_IRUSR | S_IRGRP | S_IROTH)); @@ -539,12 +541,12 @@ void KameraProtocol::del(const KUrl &url, bool isFile) } // The KIO slave "listDir" function. -void KameraProtocol::listDir(const KUrl &yurl) +void KameraProtocol::listDir(const KUrl &xurl) { QString directory, file; - kDebug(7123) << "KameraProtocol::listDir(" << yurl.path() << ")"; + kDebug(7123) << "KameraProtocol::listDir(" << xurl.path() << ")"; - split_url2camerapath(yurl.path(), directory, file); + split_url2camerapath(xurl.path(), directory, file); if (!file.isEmpty()) { if (directory == "/") { @@ -554,8 +556,7 @@ void KameraProtocol::listDir(const KUrl &yurl) } } - if (yurl.path() == "/") { - KUrl xurl; + if (xurl.path() == "/") { // List the available cameras QStringList groupList = m_config->groupList(); kDebug(7123) << "Found cameras: " << groupList.join(", "); @@ -640,6 +641,7 @@ void KameraProtocol::listDir(const KUrl &yurl) entry.insert(KIO::UDSEntry::UDS_ACCESS,(S_IRUSR | S_IRGRP | S_IROTH |S_IWUSR | S_IWGRP | S_IWOTH)); xname = (*it) + "@" + m_cfgPath; entry.insert(KIO::UDSEntry::UDS_NAME, path_quote(xname)); + // TODO: entry.insert(KIO::UDSEntry::UDS_URL, xurl.url()); // do not confuse regular users with the @usb... entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, *it); listEntry(entry, false); @@ -648,10 +650,11 @@ void KameraProtocol::listDir(const KUrl &yurl) QMap::iterator portsit; for (portsit = ports.begin(); portsit != ports.end(); portsit++) { entry.clear(); - entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFDIR); + entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); // do not confuse regular users with the @usb... - entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME,portsit.value()); + entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, portsit.value()); entry.insert(KIO::UDSEntry::UDS_NAME, path_quote(portsit.value() + "@" + portsit.key())); + // TODO: entry.insert(KIO::UDSEntry::UDS_URL, xurl.url()); entry.insert(KIO::UDSEntry::UDS_ACCESS,(S_IRUSR | S_IRGRP | S_IROTH |S_IWUSR | S_IWGRP | S_IWOTH)); listEntry(entry, false); @@ -663,7 +666,7 @@ void KameraProtocol::listDir(const KUrl &yurl) } if (directory.isEmpty()) { - KUrl rooturl(yurl); + KUrl rooturl(xurl); kDebug(7123) << "redirecting to /"; if (!current_camera.isEmpty() && !current_port.isEmpty()) { @@ -677,7 +680,7 @@ void KameraProtocol::listDir(const KUrl &yurl) } if (!openCamera()) { - error(KIO::ERR_COULD_NOT_READ, yurl.path()); + error(KIO::ERR_COULD_NOT_READ, xurl.path()); return; } @@ -860,8 +863,9 @@ void KameraProtocol::translateTextToUDS(KIO::UDSEntry &udsEntry, const QString & udsEntry.clear(); udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG); - udsEntry.insert(KIO::UDSEntry::UDS_NAME,path_quote(fn)); - udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME,fn); + udsEntry.insert(KIO::UDSEntry::UDS_NAME, path_quote(fn)); + // TODO: udsEntry.insert(KIO::UDSEntry::UDS_URL, path_quote(fn)); + udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, fn); udsEntry.insert(KIO::UDSEntry::UDS_SIZE,strlen(text)); udsEntry.insert(KIO::UDSEntry::UDS_ACCESS,(S_IRUSR | S_IRGRP | S_IROTH)); } @@ -874,6 +878,7 @@ void KameraProtocol::translateFileToUDS(KIO::UDSEntry &udsEntry, const CameraFil udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG); udsEntry.insert(KIO::UDSEntry::UDS_NAME, path_quote(name)); + // TODO: udsEntry.insert(KIO::UDSEntry::UDS_URL, path_quote(fn)); udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, name); if (info.file.fields & GP_FILE_INFO_SIZE) { @@ -907,6 +912,7 @@ void KameraProtocol::translateDirectoryToUDS(KIO::UDSEntry &udsEntry, const QStr udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); udsEntry.insert(KIO::UDSEntry::UDS_NAME, path_quote(dirname)); + // TODO: udsEntry.insert(KIO::UDSEntry::UDS_URL, path_quote(dirname)); udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, dirname); udsEntry.insert(KIO::UDSEntry::UDS_ACCESS,S_IRUSR | S_IRGRP | S_IROTH |S_IWUSR | S_IWGRP | S_IWOTH | S_IXUSR | S_IXOTH | S_IXGRP); udsEntry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString("inode/directory")); diff --git a/kioslave/camera/kio_camera.h b/kioslave/camera/kio_camera.h index bbb86551..e87fd9ee 100644 --- a/kioslave/camera/kio_camera.h +++ b/kioslave/camera/kio_camera.h @@ -52,7 +52,7 @@ private: GPContext *m_context; - void split_url2camerapath(QString url, QString &directory, QString &file); + void split_url2camerapath(const QString &url, QString &directory, QString &file); void setCamera(const QString &cam, const QString &port); void reparseConfiguration(void); bool openCamera(QString& str); diff --git a/kioslave/mtp/kio_mtp.cpp b/kioslave/mtp/kio_mtp.cpp index dbe4c3f9..dc289829 100644 --- a/kioslave/mtp/kio_mtp.cpp +++ b/kioslave/mtp/kio_mtp.cpp @@ -262,7 +262,7 @@ void MTPSlave::listDir(const KUrl& url) { LIBMTP_mtpdevice_t *device = cachedDevice->getDevice(); - getEntry(entry, device); + getEntry(entry, device, url.url()); listEntry(entry, false); entry.clear(); @@ -289,7 +289,7 @@ void MTPSlave::listDir(const KUrl& url) if (storages.size() > 0) { foreach (const QString &storageName, storages.keys()) { - getEntry(entry, storages.value(storageName)); + getEntry(entry, storages.value(storageName), url.url()); listEntry(entry, false); entry.clear(); @@ -327,7 +327,7 @@ void MTPSlave::listDir(const KUrl& url) QString filePath = url.path(KUrl::AddTrailingSlash).append(it.key()); fileCache->addPath(filePath, file->item_id); - getEntry(entry, file); + getEntry(entry, file, url.url()); listEntry(entry, false); entry.clear(); @@ -380,18 +380,19 @@ void MTPSlave::stat(const KUrl& url) // Root if (pathItems.size() < 1) { entry.insert(UDSEntry::UDS_NAME, QLatin1String("mtp:///")); + entry.insert(UDSEntry::UDS_URL, QLatin1String("mtp:///")); entry.insert(UDSEntry::UDS_FILE_TYPE, S_IFDIR ); entry.insert(UDSEntry::UDS_ACCESS, S_IRUSR | S_IRGRP | S_IROTH | S_IXUSR | S_IXGRP | S_IXOTH); entry.insert(UDSEntry::UDS_MIME_TYPE, QLatin1String("inode/directory")); // Device } else if (pathItems.size() < 2) { - getEntry(entry, pair.second); + getEntry(entry, pair.second, url.url()); // Storage } else if (pathItems.size() < 3) { - getEntry (entry, (LIBMTP_devicestorage_t*)pair.first); + getEntry (entry, (LIBMTP_devicestorage_t*)pair.first, url.url()); // Folder/File } else { - getEntry(entry, (LIBMTP_file_t*)pair.first); + getEntry(entry, (LIBMTP_file_t*)pair.first, url.url()); } } statEntry(entry); diff --git a/kioslave/mtp/kio_mtp_helpers.cpp b/kioslave/mtp/kio_mtp_helpers.cpp index 4ee71544..84f78a40 100644 --- a/kioslave/mtp/kio_mtp_helpers.cpp +++ b/kioslave/mtp/kio_mtp_helpers.cpp @@ -292,7 +292,7 @@ QMap getFiles(LIBMTP_mtpdevice_t *&device, uint32_t sto return fileMap; } -void getEntry(UDSEntry &entry, LIBMTP_mtpdevice_t* device) +void getEntry(UDSEntry &entry, LIBMTP_mtpdevice_t* device, const QString &url) { char *charName = LIBMTP_Get_Friendlyname(device); char *charModel = LIBMTP_Get_Modelname(device); @@ -306,13 +306,14 @@ void getEntry(UDSEntry &entry, LIBMTP_mtpdevice_t* device) } entry.insert(UDSEntry::UDS_NAME, deviceName); + entry.insert(UDSEntry::UDS_URL, url); entry.insert(UDSEntry::UDS_ICON_NAME, QLatin1String("multimedia-player")); entry.insert(UDSEntry::UDS_FILE_TYPE, S_IFDIR); entry.insert(UDSEntry::UDS_ACCESS, S_IRUSR | S_IRGRP | S_IROTH | S_IXUSR | S_IXGRP | S_IXOTH); entry.insert(UDSEntry::UDS_MIME_TYPE, QLatin1String("inode/directory")); } -void getEntry(UDSEntry &entry, const LIBMTP_devicestorage_t* storage) +void getEntry(UDSEntry &entry, const LIBMTP_devicestorage_t* storage, const QString &url) { // char *charIdentifier = storage->VolumeIdentifier; char *charDescription = storage->StorageDescription; @@ -325,15 +326,17 @@ void getEntry(UDSEntry &entry, const LIBMTP_devicestorage_t* storage) // } entry.insert(UDSEntry::UDS_NAME, storageName); + entry.insert(UDSEntry::UDS_URL, url); entry.insert(UDSEntry::UDS_ICON_NAME, QLatin1String("drive-removable-media")); entry.insert(UDSEntry::UDS_FILE_TYPE, S_IFDIR ); entry.insert(UDSEntry::UDS_ACCESS, S_IRUSR | S_IRGRP | S_IROTH | S_IXUSR | S_IXGRP | S_IXOTH); entry.insert(UDSEntry::UDS_MIME_TYPE, QLatin1String("inode/directory")); } -void getEntry(UDSEntry &entry, const LIBMTP_file_t* file) +void getEntry(UDSEntry &entry, const LIBMTP_file_t* file, const QString &url) { entry.insert(UDSEntry::UDS_NAME, QString::fromUtf8(file->filename)); + entry.insert(UDSEntry::UDS_URL, url); if (file->filetype == LIBMTP_FILETYPE_FOLDER) { entry.insert(UDSEntry::UDS_FILE_TYPE, S_IFDIR); entry.insert(UDSEntry::UDS_ACCESS, S_IRWXU | S_IRWXG | S_IRWXO); diff --git a/kioslave/mtp/kio_mtp_helpers.h b/kioslave/mtp/kio_mtp_helpers.h index 261b4470..4e69c8e1 100644 --- a/kioslave/mtp/kio_mtp_helpers.h +++ b/kioslave/mtp/kio_mtp_helpers.h @@ -38,9 +38,9 @@ LIBMTP_filetype_t getFiletype(const QString &filename); QMap getDevicestorages(LIBMTP_mtpdevice_t *&device); QMap getFiles(LIBMTP_mtpdevice_t *&device, uint32_t storage_id, uint32_t parent_id = 0xFFFFFFFF); -void getEntry(UDSEntry &entry, LIBMTP_mtpdevice_t* device); -void getEntry(UDSEntry &entry, const LIBMTP_devicestorage_t* storage); -void getEntry(UDSEntry &entry, const LIBMTP_file_t* file); +void getEntry(UDSEntry &entry, LIBMTP_mtpdevice_t* device, const QString &url); +void getEntry(UDSEntry &entry, const LIBMTP_devicestorage_t* storage, const QString &url); +void getEntry(UDSEntry &entry, const LIBMTP_file_t* file, const QString &url); void resetDeviceStack(LIBMTP_mtpdevice_t* device); diff --git a/kioslave/network/ioslave/networkslave.cpp b/kioslave/network/ioslave/networkslave.cpp index d006b442..b433aec8 100644 --- a/kioslave/network/ioslave/networkslave.cpp +++ b/kioslave/network/ioslave/networkslave.cpp @@ -102,6 +102,7 @@ void NetworkSlave::stat(const KUrl &url) // fake the root entry, whenever listed it will list all services KIO::UDSEntry kioudsentry; kioudsentry.insert(KIO::UDSEntry::UDS_NAME, "."); + kioudsentry.insert(KIO::UDSEntry::UDS_URL, "network:/"); kioudsentry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); kioudsentry.insert(KIO::UDSEntry::UDS_ACCESS, S_IRWXU | S_IRWXG | S_IRWXO); kioudsentry.insert(KIO::UDSEntry::UDS_MIME_TYPE, "inode/directory"); @@ -123,12 +124,11 @@ void NetworkSlave::stat(const KUrl &url) const QString serviceurl = urlForService(kdnssdservice); KIO::UDSEntry kioudsentry; kioudsentry.insert(KIO::UDSEntry::UDS_NAME, kdnssdservice.name); + kioudsentry.insert(KIO::UDSEntry::UDS_URL, serviceurl); kioudsentry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFLNK); kioudsentry.insert(KIO::UDSEntry::UDS_ACCESS, S_IRWXU | S_IRWXG | S_IRWXO); kioudsentry.insert(KIO::UDSEntry::UDS_ICON_NAME, iconForService(servicemimetype)); kioudsentry.insert(KIO::UDSEntry::UDS_MIME_TYPE, servicemimetype); - // NOTE: UDS_URL is set because KFileItem concats UDS_NAME with itself otherwise - kioudsentry.insert(KIO::UDSEntry::UDS_URL, serviceurl); kioudsentry.insert(KIO::UDSEntry::UDS_TARGET_URL, serviceurl); statEntry(kioudsentry); finished(); @@ -163,11 +163,11 @@ void NetworkSlave::listDir(const KUrl &url) const QString serviceurl = urlForService(kdnssdservice); kioudsentry.clear(); kioudsentry.insert(KIO::UDSEntry::UDS_NAME, kdnssdservice.name); + kioudsentry.insert(KIO::UDSEntry::UDS_URL, serviceurl); kioudsentry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFLNK); kioudsentry.insert(KIO::UDSEntry::UDS_ACCESS, S_IRWXU | S_IRWXG | S_IRWXO); kioudsentry.insert(KIO::UDSEntry::UDS_ICON_NAME, iconForService(servicemimetype)); kioudsentry.insert(KIO::UDSEntry::UDS_MIME_TYPE, servicemimetype); - kioudsentry.insert(KIO::UDSEntry::UDS_URL, serviceurl); kioudsentry.insert(KIO::UDSEntry::UDS_TARGET_URL, serviceurl); listEntry(kioudsentry, false); } diff --git a/kioslave/remote/remoteimpl.cpp b/kioslave/remote/remoteimpl.cpp index 74fe490d..8d8f5c51 100644 --- a/kioslave/remote/remoteimpl.cpp +++ b/kioslave/remote/remoteimpl.cpp @@ -152,6 +152,7 @@ void RemoteImpl::createTopLevelEntry(KIO::UDSEntry &entry) const { entry.clear(); entry.insert( KIO::UDSEntry::UDS_NAME, QString::fromLatin1(".")); + entry.insert( KIO::UDSEntry::UDS_URL, QString::fromLatin1("remote:/")); entry.insert( KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); entry.insert( KIO::UDSEntry::UDS_ACCESS, 0777); entry.insert( KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("inode/directory")); @@ -187,8 +188,8 @@ bool RemoteImpl::createWizardEntry(KIO::UDSEntry &entry) const } entry.insert( KIO::UDSEntry::UDS_NAME, i18n("Add Network Folder")); - entry.insert( KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG); entry.insert( KIO::UDSEntry::UDS_URL, QString::fromLatin1(WIZARD_URL) ); + entry.insert( KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG); entry.insert( KIO::UDSEntry::UDS_TARGET_URL, url.path()); entry.insert( KIO::UDSEntry::UDS_ACCESS, 0500); entry.insert( KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("application/x-desktop")); diff --git a/kioslave/trash/kio_trash.cpp b/kioslave/trash/kio_trash.cpp index 75f2db83..41245630 100644 --- a/kioslave/trash/kio_trash.cpp +++ b/kioslave/trash/kio_trash.cpp @@ -232,6 +232,7 @@ void TrashProtocol::createTopLevelDirEntry(KIO::UDSEntry& entry) { entry.clear(); entry.insert( KIO::UDSEntry::UDS_NAME, QString::fromLatin1(".")); + entry.insert( KIO::UDSEntry::UDS_URL, QString::fromLatin1("trash:/")); entry.insert( KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); entry.insert( KIO::UDSEntry::UDS_ACCESS, 0700); entry.insert( KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("inode/directory")); @@ -284,7 +285,7 @@ void TrashProtocol::stat(const KUrl& url) TrashedFileInfo info; ok = impl.infoForFile( trashId, fileId, info ); if ( ok ) - ok = createUDSEntry( filePath, fileDisplayName, fileURL.fileName(), entry, info ); + ok = createUDSEntry( filePath, fileDisplayName, fileURL.fileName(), url.url(), entry, info ); if ( !ok ) { error( KIO::ERR_COULD_NOT_STAT, url.prettyUrl() ); @@ -373,7 +374,8 @@ void TrashProtocol::listDir(const KUrl& url) infoForItem.origPath += QLatin1Char('/'); infoForItem.origPath += fileName; - if (createUDSEntry(filePath, fileName, fileName, entry, infoForItem)) { + const QString fileUrl = url.url(KUrl::AddTrailingSlash) + fileName; + if (createUDSEntry(filePath, fileName, fileName, fileUrl, entry, infoForItem)) { listEntry( entry, false ); } } @@ -382,7 +384,9 @@ void TrashProtocol::listDir(const KUrl& url) finished(); } -bool TrashProtocol::createUDSEntry( const QString& physicalPath, const QString& displayFileName, const QString& internalFileName, KIO::UDSEntry& entry, const TrashedFileInfo& info ) +bool TrashProtocol::createUDSEntry( const QString& physicalPath, const QString& displayFileName, + const QString& internalFileName, const QString& compeleteUrl, + KIO::UDSEntry& entry, const TrashedFileInfo& info ) { QByteArray physicalPath_c = QFile::encodeName( physicalPath ); KDE_struct_stat buff; @@ -416,10 +420,9 @@ bool TrashProtocol::createUDSEntry( const QString& physicalPath, const QString& access &= 07555; // make it readonly, since it's in the trashcan Q_ASSERT(!internalFileName.isEmpty()); entry.insert( KIO::UDSEntry::UDS_NAME, internalFileName ); // internal filename, like "0-foo" + entry.insert( KIO::UDSEntry::UDS_URL, compeleteUrl); entry.insert( KIO::UDSEntry::UDS_DISPLAY_NAME, displayFileName ); // user-visible filename, like "foo" entry.insert( KIO::UDSEntry::UDS_FILE_TYPE, type ); - //if ( !url.isEmpty() ) - // entry.insert( KIO::UDSEntry::UDS_URL, url ); KMimeType::Ptr mt = KMimeType::findByUrl( KUrl(physicalPath), buff.st_mode ); if ( mt ) @@ -453,7 +456,7 @@ void TrashProtocol::listRoot() origURL.setPath( (*it).origPath ); entry.clear(); const QString fileDisplayName = (*it).fileId; - if ( createUDSEntry( (*it).physicalPath, fileDisplayName, url.fileName(), entry, *it ) ) + if ( createUDSEntry( (*it).physicalPath, fileDisplayName, url.fileName(), url.url(), entry, *it ) ) listEntry( entry, false ); } entry.clear(); diff --git a/kioslave/trash/kio_trash.h b/kioslave/trash/kio_trash.h index 74fd9f16..7ead88ca 100644 --- a/kioslave/trash/kio_trash.h +++ b/kioslave/trash/kio_trash.h @@ -61,7 +61,7 @@ private: void copyOrMove( const KUrl& src, const KUrl& dest, bool overwrite, CopyOrMove action ); void createTopLevelDirEntry(KIO::UDSEntry& entry); bool createUDSEntry( const QString& physicalPath, const QString& displayFileName, const QString& internalFileName, - KIO::UDSEntry& entry, const TrashedFileInfo& info ); + const QString &completeUrl, KIO::UDSEntry& entry, const TrashedFileInfo& info ); void listRoot(); void restore( const KUrl& trashURL ); void enterLoop(); diff --git a/libs/konq/konq_operations.cpp b/libs/konq/konq_operations.cpp index fc8b9e51..75c18127 100644 --- a/libs/konq/konq_operations.cpp +++ b/libs/konq/konq_operations.cpp @@ -767,7 +767,7 @@ void KonqOperations::slotStatResult( KJob * job ) else { KIO::StatJob * statJob = static_cast(job); - KFileItem item( statJob->statResult(), statJob->url() ); + KFileItem item( statJob->statResult() ); emit statFinished( item ); } // If we're only here for a stat, we're done. But not if we used _statUrl internally