From 8bb2fec99a9e28bc3a7805da332fad6355a690a7 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Thu, 6 Oct 2022 14:41:24 +0300 Subject: [PATCH] generic: drop support for archive KIO slaves KIO was designed around remote protocols and is very much not suitable for archive browsing for example Signed-off-by: Ivailo Monev --- kdecore/sycoca/kprotocolinfo.cpp | 12 ++---------- kdecore/sycoca/kprotocolinfo.h | 2 -- kdecore/sycoca/kprotocolinfo_p.h | 1 - kio/kio/kprotocolmanager.cpp | 18 ------------------ kio/kio/kprotocolmanager.h | 13 ------------- kio/tests/kprotocolinfotest.cpp | 8 -------- 6 files changed, 2 insertions(+), 52 deletions(-) diff --git a/kdecore/sycoca/kprotocolinfo.cpp b/kdecore/sycoca/kprotocolinfo.cpp index 69808cfa..2632e54c 100644 --- a/kdecore/sycoca/kprotocolinfo.cpp +++ b/kdecore/sycoca/kprotocolinfo.cpp @@ -68,7 +68,6 @@ KProtocolInfo::KProtocolInfo(const QString &path) m_supportsListing = ( m_listing.count() > 0 ); m_defaultMimetype = config.readEntry( "defaultMimetype" ); m_determineMimetypeFromExtension = config.readEntry( "determineMimetypeFromExtension", true ); - d->archiveMimetype = config.readEntry("archiveMimetype", QStringList()); m_icon = config.readEntry( "Icon" ); m_config = config.readEntry( "config", m_name ); m_maxSlaves = config.readEntry( "maxInstances", 1); @@ -143,7 +142,7 @@ KProtocolInfo::load( QDataStream& _str) >> d->capabilities >> d->proxyProtocol >> i_canRenameFromFile >> i_canRenameToFile >> i_canDeleteRecursive >> i_fileNameUsedForCopying - >> d->archiveMimetype >> d->maxSlavesPerHost; + >> d->maxSlavesPerHost; m_inputType = (Type) i_inputType; m_outputType = (Type) i_outputType; @@ -221,7 +220,7 @@ KProtocolInfoPrivate::save( QDataStream& _str) << capabilities << proxyProtocol << i_canRenameFromFile << i_canRenameToFile << i_canDeleteRecursive << i_fileNameUsedForCopying - << archiveMimetype << maxSlavesPerHost; + << maxSlavesPerHost; } @@ -384,13 +383,6 @@ QString KProtocolInfo::defaultMimeType() const return m_defaultMimetype; } - -QStringList KProtocolInfo::archiveMimeTypes() const -{ - Q_D(const KProtocolInfo); - return d->archiveMimetype; -} - bool KProtocolInfo::supportsListing() const { return m_supportsListing; diff --git a/kdecore/sycoca/kprotocolinfo.h b/kdecore/sycoca/kprotocolinfo.h index 1ad7136a..3ee1f8e5 100644 --- a/kdecore/sycoca/kprotocolinfo.h +++ b/kdecore/sycoca/kprotocolinfo.h @@ -295,8 +295,6 @@ public: bool supportsListing() const; /// @internal. Use KProtocolManager instead. QString defaultMimeType() const; - /// @internal. Use KProtocolManager instead. - QStringList archiveMimeTypes() const; protected: QString m_name; diff --git a/kdecore/sycoca/kprotocolinfo_p.h b/kdecore/sycoca/kprotocolinfo_p.h index f63c2fb4..a25584db 100644 --- a/kdecore/sycoca/kprotocolinfo_p.h +++ b/kdecore/sycoca/kprotocolinfo_p.h @@ -48,7 +48,6 @@ public: KProtocolInfo *q; QString docPath; QString protClass; - QStringList archiveMimetype; bool showPreviews : 1; bool canRenameFromFile : 1; bool canRenameToFile : 1; diff --git a/kio/kio/kprotocolmanager.cpp b/kio/kio/kprotocolmanager.cpp index ff7ef519..19e0c979 100644 --- a/kio/kio/kprotocolmanager.cpp +++ b/kio/kio/kprotocolmanager.cpp @@ -122,8 +122,6 @@ public: QString noProxyFor; QList noProxySubnets; QCache cachedProxyData; - - QMap protocolForArchiveMimetypes; }; K_GLOBAL_STATIC(KProtocolManagerPrivate, kProtocolManagerPrivate) @@ -879,22 +877,6 @@ QString KProtocolManager::defaultMimetype( const KUrl &url ) return prot->m_defaultMimetype; } -QString KProtocolManager::protocolForArchiveMimetype( const QString& mimeType ) -{ - PRIVATE_DATA; - if (d->protocolForArchiveMimetypes.isEmpty()) { - const KProtocolInfo::List allProtocols = KProtocolInfoFactory::self()->allProtocols(); - for (KProtocolInfo::List::const_iterator it = allProtocols.begin(); - it != allProtocols.end(); ++it) { - const QStringList archiveMimetypes = (*it)->archiveMimeTypes(); - Q_FOREACH(const QString& mime, archiveMimetypes) { - d->protocolForArchiveMimetypes.insert(mime, (*it)->name()); - } - } - } - return d->protocolForArchiveMimetypes.value(mimeType); -} - QString KProtocolManager::charsetFor(const KUrl& url) { return KIO::SlaveConfig::self()->configData(url.scheme(), url.host(), QLatin1String("Charset")); diff --git a/kio/kio/kprotocolmanager.h b/kio/kio/kprotocolmanager.h index 3b585f04..73477b29 100644 --- a/kio/kio/kprotocolmanager.h +++ b/kio/kio/kprotocolmanager.h @@ -522,19 +522,6 @@ public: */ static bool isSourceProtocol( const KUrl &url ); - /** - * Returns which protocol handles this mimetype, if it's an archive mimetype. - * For instance zip:/ handles application/x-zip. - * - * This is defined in the protocol description file using an entry like - * "archiveMimetype=application/x-zip" - * - * @param mimetype the mimetype to check - * @return the protocol that can handle this archive mimetype, for instance "zip". - * @since 4.1 - */ - static QString protocolForArchiveMimetype( const QString& mimeType ); - /*=============================== OTHERS ====================================*/ diff --git a/kio/tests/kprotocolinfotest.cpp b/kio/tests/kprotocolinfotest.cpp index 4a60b344..167732bb 100644 --- a/kio/tests/kprotocolinfotest.cpp +++ b/kio/tests/kprotocolinfotest.cpp @@ -52,13 +52,5 @@ int main(int argc, char **argv) { kDebug() << "kio_imap capabilities: " << capabilities; //assert(capabilities.contains("ACL")); - if (!QFile::exists(KStandardDirs::locate("services", "zip.protocol"))) { - //QSKIP("kdebase not installed", SkipAll); - } else { - QString zip = KProtocolManager::protocolForArchiveMimetype("application/zip"); - assert( zip == "zip"); - } - - return 0; }