From ceff785f22782a64693d15c2b6bae651270312c6 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sat, 4 May 2024 20:18:24 +0300 Subject: [PATCH] generic: adjust to KMimeType changes Signed-off-by: Ivailo Monev --- .../kate/project/kateprojecttreeviewcontextmenu.cpp | 2 +- kate/part/mode/katemodemanager.cpp | 3 +-- kate/src/filetree/katefiletreemodel.cpp | 3 +-- kdirshare/kded/kdirshareimpl.cpp | 5 +---- keditfiletype/tests/filetypestest.cpp | 2 +- kioslave/trash/kio_trash.cpp | 2 +- kmimetypefinder/kmimetypefinder.cpp | 11 +++++++---- konsole/src/SessionController.cpp | 2 +- qguiplatformplugin_kde/qguiplatformplugin_kde.cpp | 2 +- 9 files changed, 15 insertions(+), 17 deletions(-) diff --git a/kate/addons/kate/project/kateprojecttreeviewcontextmenu.cpp b/kate/addons/kate/project/kateprojecttreeviewcontextmenu.cpp index 6b26d202..aa3c6942 100644 --- a/kate/addons/kate/project/kateprojecttreeviewcontextmenu.cpp +++ b/kate/addons/kate/project/kateprojecttreeviewcontextmenu.cpp @@ -71,7 +71,7 @@ void KateProjectTreeViewContextMenu::exec(const QString& filename, const QPoint& * find correct mimetype to query for possible applications */ QMenu *openWithMenu = menu.addMenu(i18n("Open With")); - KMimeType::Ptr mimeType = KMimeType::findByPath(filename); + KMimeType::Ptr mimeType = KMimeType::findByUrl(KUrl(filename)); KService::List offers = KMimeTypeTrader::self()->query(mimeType->name(), "Application"); /** diff --git a/kate/part/mode/katemodemanager.cpp b/kate/part/mode/katemodemanager.cpp index e7f7c0cc..a3a1c3ff 100644 --- a/kate/part/mode/katemodemanager.cpp +++ b/kate/part/mode/katemodemanager.cpp @@ -241,8 +241,7 @@ QString KateModeManager::fileType (KateDocument *doc, const QString &fileToReadF // Try content-based mimetype KMimeType::Ptr mt; if (!fileToReadFrom.isEmpty()) { - int accuracy = 0; - mt = KMimeType::findByFileContent(fileToReadFrom, &accuracy); + mt = KMimeType::findByUrl(KUrl(fileToReadFrom)); if (!mt) mt = KMimeType::defaultMimeTypePtr(); } else { diff --git a/kate/src/filetree/katefiletreemodel.cpp b/kate/src/filetree/katefiletreemodel.cpp index 913dc55e..3c8016ce 100644 --- a/kate/src/filetree/katefiletreemodel.cpp +++ b/kate/src/filetree/katefiletreemodel.cpp @@ -1301,8 +1301,7 @@ void KateFileTreeModel::setupIcon(ProxyItem *item) icon_name = "document-save"; } else { - KUrl url = item->path(); - icon_name = KMimeType::findByUrl(url, 0, true, true)->iconName(); + icon_name = KMimeType::findByUrl(item->path(), 0, true)->iconName(); } if(item->flag(ProxyItem::ModifiedExternally) || item->flag(ProxyItem::DeletedExternally)) { diff --git a/kdirshare/kded/kdirshareimpl.cpp b/kdirshare/kded/kdirshareimpl.cpp index b594492b..5dbfa9d7 100644 --- a/kdirshare/kded/kdirshareimpl.cpp +++ b/kdirshare/kded/kdirshareimpl.cpp @@ -52,10 +52,7 @@ static quint16 getPort(const quint16 portmin, const quint16 portmax) static QString getFileMIME(const QString &filepath) { - const KMimeType::Ptr kmimetypeptr = KMimeType::findByUrl( - KUrl(filepath), - mode_t(0), true - ); + const KMimeType::Ptr kmimetypeptr = KMimeType::findByUrl(KUrl(filepath)); if (!kmimetypeptr.isNull()) { return kmimetypeptr->name(); } diff --git a/keditfiletype/tests/filetypestest.cpp b/keditfiletype/tests/filetypestest.cpp index 7f3aadb0..827e4807 100644 --- a/keditfiletype/tests/filetypestest.cpp +++ b/keditfiletype/tests/filetypestest.cpp @@ -273,7 +273,7 @@ private Q_SLOTS: QCOMPARE(mime->patterns(), patterns); // must sort them if more than one // Testcase for the shaman.xml bug - QCOMPARE(KMimeType::findByPath("/whatever/foo.pkg.tar.gz")->name(), QString("fake/unit-test-fake-mimetype")); + QCOMPARE(KMimeType::findByUrl(KUrl("/whatever/foo.pkg.tar.gz"))->name(), QString("fake/unit-test-fake-mimetype")); m_mimeTypeCreatedSuccessfully = true; } diff --git a/kioslave/trash/kio_trash.cpp b/kioslave/trash/kio_trash.cpp index 206fc340..943ccb57 100644 --- a/kioslave/trash/kio_trash.cpp +++ b/kioslave/trash/kio_trash.cpp @@ -423,7 +423,7 @@ bool TrashProtocol::createUDSEntry( const QString& physicalPath, const QString& //if ( !url.isEmpty() ) // entry.insert( KIO::UDSEntry::UDS_URL, url ); - KMimeType::Ptr mt = KMimeType::findByPath( physicalPath, buff.st_mode ); + KMimeType::Ptr mt = KMimeType::findByUrl( KUrl(physicalPath), buff.st_mode ); if ( mt ) entry.insert( KIO::UDSEntry::UDS_MIME_TYPE, mt->name() ); entry.insert( KIO::UDSEntry::UDS_ACCESS, access ); diff --git a/kmimetypefinder/kmimetypefinder.cpp b/kmimetypefinder/kmimetypefinder.cpp index 7f292059..31ff89cb 100644 --- a/kmimetypefinder/kmimetypefinder.cpp +++ b/kmimetypefinder/kmimetypefinder.cpp @@ -55,12 +55,15 @@ int main(int argc, char *argv[]) if (fileName == QLatin1String("-")) { QFile qstdin; qstdin.open(stdin, QIODevice::ReadOnly); - const QByteArray data = qstdin.readAll(); - mime = KMimeType::findByContent(data, &accuracy); + mime = KMimeType::findByContent(qstdin.readAll(), &accuracy); + } else if (args->isSet("f")) { + mime = KMimeType::findByName(fileName, &accuracy); } else if (args->isSet("c")) { - mime = KMimeType::findByFileContent(fileName, &accuracy); + QFile qfile(fileName); + qfile.open(QIODevice::ReadOnly); + mime = KMimeType::findByContent(qfile.read(16384), &accuracy); } else { - mime = KMimeType::findByPath(fileName, 0, args->isSet("f"), &accuracy); + mime = KMimeType::findByUrl(KUrl(fileName), 0, false, &accuracy); } if ( mime && mime->name() != KMimeType::defaultMimeType() ) { printf("%s\n", mime->name().toLatin1().constData()); diff --git a/konsole/src/SessionController.cpp b/konsole/src/SessionController.cpp index 7cd07f24..c6298f9d 100644 --- a/konsole/src/SessionController.cpp +++ b/konsole/src/SessionController.cpp @@ -463,7 +463,7 @@ void SessionController::updateOpenWithMenu(const QString &selectedText) return; // TODO: handle relative URL/path selection properly, it will cost a bit of I/O - KMimeType::Ptr mimeType = KMimeType::findByPath(searchText); + KMimeType::Ptr mimeType = KMimeType::findByUrl(KUrl(searchText)); KService::List offers = KMimeTypeTrader::self()->query(mimeType->name(), "Application"); for(KService::List::Iterator it = offers.begin(); it != offers.end(); ++it) { diff --git a/qguiplatformplugin_kde/qguiplatformplugin_kde.cpp b/qguiplatformplugin_kde/qguiplatformplugin_kde.cpp index fc5ebdf2..ad734100 100644 --- a/qguiplatformplugin_kde/qguiplatformplugin_kde.cpp +++ b/qguiplatformplugin_kde/qguiplatformplugin_kde.cpp @@ -80,7 +80,7 @@ public: QIcon fileSystemIcon(const QFileInfo &file) final { - KMimeType::Ptr mime = KMimeType::findByPath(file.filePath(), 0, true); + KMimeType::Ptr mime = KMimeType::findByUrl(KUrl(file.filePath())); if (!mime) return QIcon(); return KIcon(mime->iconName());