From ed5882e4403cda5c3a5cc36819907ae313f4d5a3 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 3 May 2024 05:28:55 +0300 Subject: [PATCH] generic: adjust to slave changes Signed-off-by: Ivailo Monev --- dolphin/src/search/filenamesearchprotocol.cpp | 5 +- dolphin/src/search/filenamesearchprotocol.h | 11 +++-- kioslave/camera/kio_camera.cpp | 46 +++++++------------ kioslave/mtp/kio_mtp.cpp | 40 ---------------- kioslave/mtp/kio_mtp.h | 17 ++++--- kioslave/network/ioslave/networkslave.cpp | 24 ---------- kioslave/network/ioslave/networkslave.h | 11 ++--- kioslave/thumbnail/thumbnail.cpp | 1 - kioslave/thumbnail/thumbnail.h | 2 +- kioslave/trash/kio_trash.cpp | 7 --- kioslave/trash/kio_trash.h | 1 - kioslave/trash/trashimpl.cpp | 1 + 12 files changed, 41 insertions(+), 125 deletions(-) diff --git a/dolphin/src/search/filenamesearchprotocol.cpp b/dolphin/src/search/filenamesearchprotocol.cpp index 97ca270d..1e30efae 100644 --- a/dolphin/src/search/filenamesearchprotocol.cpp +++ b/dolphin/src/search/filenamesearchprotocol.cpp @@ -116,8 +116,9 @@ void FileNameSearchProtocol::searchDirectory(const KUrl& directory) if (addItem) { KIO::UDSEntry entry = item.entry(); - entry.insert(KIO::UDSEntry::UDS_URL, item.url().url() ); - listEntry(entry,false); + entry.insert(KIO::UDSEntry::UDS_URL, item.url().url()); + entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, item.mimetype()); + listEntry(entry, false); } if (item.isDir()) { diff --git a/dolphin/src/search/filenamesearchprotocol.h b/dolphin/src/search/filenamesearchprotocol.h index 521bfd3e..7aa7d5dc 100644 --- a/dolphin/src/search/filenamesearchprotocol.h +++ b/dolphin/src/search/filenamesearchprotocol.h @@ -36,21 +36,22 @@ class KUrl; * item. If the query item "checkContent" is set to "yes", all files with * a text MIME type will be checked for the content. */ -class FileNameSearchProtocol : public KIO::SlaveBase { +class FileNameSearchProtocol : public KIO::SlaveBase +{ public: - FileNameSearchProtocol(const QByteArray& app); + FileNameSearchProtocol(const QByteArray &app); virtual ~FileNameSearchProtocol(); - virtual void listDir(const KUrl& url); + void listDir(const KUrl &url) final; private: - void searchDirectory(const KUrl& directory); + void searchDirectory(const KUrl &directory); /** * @return True, if the pattern m_searchPattern is part of * the file \a fileName. */ - bool contentContainsPattern(const KUrl& fileName) const; + bool contentContainsPattern(const KUrl &fileName) const; void cleanup(); diff --git a/kioslave/camera/kio_camera.cpp b/kioslave/camera/kio_camera.cpp index 93539c80..b7b350db 100644 --- a/kioslave/camera/kio_camera.cpp +++ b/kioslave/camera/kio_camera.cpp @@ -274,18 +274,12 @@ void KameraProtocol::get(const KUrl &url) if (info.preview.fields & GP_FILE_INFO_SIZE) { totalSize(info.preview.size); } - if (info.preview.fields & GP_FILE_INFO_TYPE) { - mimeType(info.preview.type); - } } else { kDebug(7123) << "get() retrieving the full-scale photo"; fileType = GP_FILE_TYPE_NORMAL; if (info.file.fields & GP_FILE_INFO_SIZE) { totalSize(info.file.size); } - if (info.preview.fields & GP_FILE_INFO_TYPE) { - mimeType(info.file.type); - } } // fetch the data @@ -315,11 +309,6 @@ void KameraProtocol::get(const KUrl &url) return; } } - // emit the mimetype - // NOTE: we must first get the file, so that CameraFile->name would be set - const char *fileMimeType; - gp_file_get_mime_type(m_file, &fileMimeType); - mimeType(fileMimeType); // We need to pass left over data here. Some camera drivers do not // implement progress callbacks! @@ -392,12 +381,10 @@ void KameraProtocol::stat(const KUrl &url) void KameraProtocol::statRoot(void) { KIO::UDSEntry entry; - - entry.insert(KIO::UDSEntry::UDS_NAME, QString::fromLocal8Bit("/")); - - 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_NAME, QString::fromLatin1("/")); + 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")); statEntry(entry); finished(); // If we just do this call, timeout right away if no other requests are @@ -450,8 +437,9 @@ 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_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)); + 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")); statEntry(entry); finished(); return; @@ -651,7 +639,7 @@ void KameraProtocol::listDir(const KUrl &yurl) entry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFDIR); 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)); + entry.insert(KIO::UDSEntry::UDS_NAME, path_quote(xname)); // do not confuse regular users with the @usb... entry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, *it); listEntry(entry, false); @@ -871,7 +859,7 @@ void KameraProtocol::translateTextToUDS(KIO::UDSEntry &udsEntry, const QString & udsEntry.clear(); - udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFREG); + 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_SIZE,strlen(text)); @@ -884,22 +872,22 @@ void KameraProtocol::translateFileToUDS(KIO::UDSEntry &udsEntry, const CameraFil udsEntry.clear(); - udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFREG); - udsEntry.insert(KIO::UDSEntry::UDS_NAME,path_quote(name)); - udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME,name); + udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG); + udsEntry.insert(KIO::UDSEntry::UDS_NAME, path_quote(name)); + udsEntry.insert(KIO::UDSEntry::UDS_DISPLAY_NAME, name); if (info.file.fields & GP_FILE_INFO_SIZE) { udsEntry.insert(KIO::UDSEntry::UDS_SIZE,info.file.size); } if (info.file.fields & GP_FILE_INFO_MTIME) { - udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME,info.file.mtime); + udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME, info.file.mtime); } else { - udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME,time(NULL)); + udsEntry.insert(KIO::UDSEntry::UDS_MODIFICATION_TIME, time(NULL)); } if (info.file.fields & GP_FILE_INFO_TYPE) { - udsEntry.insert(KIO::UDSEntry::UDS_MIME_TYPE,QString::fromLatin1(info.file.type)); + udsEntry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1(info.file.type)); } if (info.file.fields & GP_FILE_INFO_PERMISSIONS) { @@ -917,8 +905,8 @@ void KameraProtocol::translateDirectoryToUDS(KIO::UDSEntry &udsEntry, const QStr udsEntry.clear(); - udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE,S_IFDIR); - udsEntry.insert(KIO::UDSEntry::UDS_NAME,path_quote(dirname)); + udsEntry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); + udsEntry.insert(KIO::UDSEntry::UDS_NAME, 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/mtp/kio_mtp.cpp b/kioslave/mtp/kio_mtp.cpp index 5dd4c03d..dbe4c3f9 100644 --- a/kioslave/mtp/kio_mtp.cpp +++ b/kioslave/mtp/kio_mtp.cpp @@ -398,45 +398,6 @@ void MTPSlave::stat(const KUrl& url) finished(); } -void MTPSlave::mimetype(const KUrl& url) -{ - int check = checkUrl(url); - switch (check) - { - case 0: { - break; - } - case 1: { - finished(); - return; - } - case 2: { - error(ERR_DOES_NOT_EXIST, url.path()); - return; - } - default: { - error(ERR_MALFORMED_URL, url.path()); - return; - } - } - - kDebug(KIO_MTP) << url.path(); - - QStringList pathItems = url.path().split(QLatin1Char('/'), QString::SkipEmptyParts); - - QPair pair = getPath(url.path()); - - if (pair.first) { - if (pathItems.size() > 2) { - mimetype(getMimetype(((LIBMTP_file_t*)pair.first)->filetype)); - } else { - mimetype(QString::fromLatin1("inode/directory")); - } - } else { - error(ERR_DOES_NOT_EXIST, url.path()); - } -} - void MTPSlave::put(const KUrl& url, int, JobFlags flags) { int check = checkUrl(url); @@ -535,7 +496,6 @@ void MTPSlave::get(const KUrl& url) if (pair.first) { LIBMTP_file_t *file = (LIBMTP_file_t*)pair.first; - mimeType(getMimetype(file->filetype)); totalSize(file->filesize); LIBMTP_mtpdevice_t *device = pair.second; diff --git a/kioslave/mtp/kio_mtp.h b/kioslave/mtp/kio_mtp.h index ee9339c6..728f29a4 100644 --- a/kioslave/mtp/kio_mtp.h +++ b/kioslave/mtp/kio_mtp.h @@ -72,15 +72,14 @@ public: MTPSlave(const QByteArray& app); virtual ~MTPSlave(); - virtual void listDir(const KUrl& url); - virtual void stat(const KUrl& url); - virtual void mimetype(const KUrl& url); - virtual void get(const KUrl& url); - virtual void put(const KUrl& url, int, JobFlags flags); - virtual void copy(const KUrl& src, const KUrl& dest, int, JobFlags flags); - virtual void mkdir(const KUrl& url, int); - virtual void del(const KUrl& url, bool); - virtual void rename(const KUrl& src, const KUrl& dest, JobFlags flags); + void listDir(const KUrl& url) final; + void stat(const KUrl& url) final; + void get(const KUrl& url) final; + void put(const KUrl& url, int, JobFlags flags) final; + void copy(const KUrl& src, const KUrl& dest, int, JobFlags flags) final; + void mkdir(const KUrl& url, int) final; + void del(const KUrl& url, bool) final; + void rename(const KUrl& src, const KUrl& dest, JobFlags flags) final; }; #endif //#endif KIO_MTP_H diff --git a/kioslave/network/ioslave/networkslave.cpp b/kioslave/network/ioslave/networkslave.cpp index 9fe05196..0e34219e 100644 --- a/kioslave/network/ioslave/networkslave.cpp +++ b/kioslave/network/ioslave/networkslave.cpp @@ -75,30 +75,6 @@ NetworkSlave::~NetworkSlave() delete m_kdnssd; } -void NetworkSlave::mimetype(const KUrl &url) -{ - if (!KDNSSD::isSupported()) { - error(KIO::ERR_UNSUPPORTED_ACTION, url.prettyUrl()); - return; - } - if (!m_kdnssd) { - m_kdnssd = new KDNSSD(); - } - if (!m_kdnssd->startBrowse()) { - error(KIO::ERR_SLAVE_DEFINED, m_kdnssd->errorString()); - return; - } - foreach (const KDNSSDService &kdnssdservice, m_kdnssd->services()) { - // qDebug() << Q_FUNC_INFO << kdnssdservice.url << url.prettyUrl(); - if (kdnssdservice.url == url.prettyUrl()) { - mimeType(mimeForService(kdnssdservice)); - finished(); - return; - } - } - error(KIO::ERR_DOES_NOT_EXIST, url.prettyUrl()); -} - void NetworkSlave::stat(const KUrl &url) { if (!KDNSSD::isSupported()) { diff --git a/kioslave/network/ioslave/networkslave.h b/kioslave/network/ioslave/networkslave.h index 96352967..9839ae93 100644 --- a/kioslave/network/ioslave/networkslave.h +++ b/kioslave/network/ioslave/networkslave.h @@ -31,14 +31,13 @@ class NetworkSlave : public KIO::SlaveBase { public: NetworkSlave(const QByteArray &programSocket); - virtual ~NetworkSlave(); + ~NetworkSlave(); -public: // KIO::SlaveBase API - virtual void mimetype(const KUrl &url); - virtual void stat(const KUrl &url); - virtual void listDir(const KUrl &url); +public: + void stat(const KUrl &url) final; + void listDir(const KUrl &url) final; -private: // data +private: KDNSSD *m_kdnssd; }; diff --git a/kioslave/thumbnail/thumbnail.cpp b/kioslave/thumbnail/thumbnail.cpp index 1ec6e89e..8e07ada2 100644 --- a/kioslave/thumbnail/thumbnail.cpp +++ b/kioslave/thumbnail/thumbnail.cpp @@ -217,7 +217,6 @@ void ThumbnailProtocol::get(const KUrl &url) const QString imgpath = KTemporaryFile::filePath(QString::fromLatin1("XXXXXXXXXX%1").arg(thumbExt)); img.save(imgpath, thumbFormat); - mimeType(KMimeType::findByPath(imgpath)->name()); data(QFile::encodeName(imgpath)); finished(); } diff --git a/kioslave/thumbnail/thumbnail.h b/kioslave/thumbnail/thumbnail.h index e7e947a0..48feb8b2 100644 --- a/kioslave/thumbnail/thumbnail.h +++ b/kioslave/thumbnail/thumbnail.h @@ -43,7 +43,7 @@ public: ThumbnailProtocol(const QByteArray &app); virtual ~ThumbnailProtocol(); - virtual void get(const KUrl &url); + void get(const KUrl &url) final; protected: ThumbCreator* getThumbCreator(const QString& plugin); diff --git a/kioslave/trash/kio_trash.cpp b/kioslave/trash/kio_trash.cpp index 1bf68f78..206fc340 100644 --- a/kioslave/trash/kio_trash.cpp +++ b/kioslave/trash/kio_trash.cpp @@ -535,8 +535,6 @@ void TrashProtocol::get( const KUrl& url ) KIO::Job* job = KIO::get( fileURL, KIO::HideProgressInfo ); connect( job, SIGNAL( data( KIO::Job*, const QByteArray& ) ), this, SLOT( slotData( KIO::Job*, const QByteArray& ) ) ); - connect( job, SIGNAL( mimetype( KIO::Job*, const QString& ) ), - this, SLOT( slotMimetype( KIO::Job*, const QString& ) ) ); connect( job, SIGNAL( result(KJob*) ), this, SLOT( jobFinished(KJob*) ) ); enterLoop(); @@ -547,11 +545,6 @@ void TrashProtocol::slotData( KIO::Job*, const QByteArray&arr ) data( arr ); } -void TrashProtocol::slotMimetype( KIO::Job*, const QString& mt ) -{ - mimeType( mt ); -} - void TrashProtocol::jobFinished( KJob* job ) { if ( job->error() ) diff --git a/kioslave/trash/kio_trash.h b/kioslave/trash/kio_trash.h index 82b6f4ad..74fd9f16 100644 --- a/kioslave/trash/kio_trash.h +++ b/kioslave/trash/kio_trash.h @@ -54,7 +54,6 @@ Q_SIGNALS: private Q_SLOTS: void slotData( KIO::Job*, const QByteArray& ); - void slotMimetype( KIO::Job*, const QString& ); void jobFinished( KJob* job ); private: diff --git a/kioslave/trash/trashimpl.cpp b/kioslave/trash/trashimpl.cpp index 44aa97a7..5bc6b2b4 100644 --- a/kioslave/trash/trashimpl.cpp +++ b/kioslave/trash/trashimpl.cpp @@ -523,6 +523,7 @@ bool TrashImpl::synchronousDel( const QString& path, bool setLastErrorCode, bool enterLoop(); } + kDebug() << "deleting " << url; KIO::DeleteJob *job = KIO::del( url, KIO::HideProgressInfo ); connect( job, SIGNAL( result(KJob*) ), this, SLOT( jobFinished(KJob*) ) );