From 465c89d5c4a19d33d735b9c5a0fb9f8b8d3100f7 Mon Sep 17 00:00:00 2001 From: Kurt Hindenburg Date: Fri, 14 Jan 2022 12:43:39 -0500 Subject: [PATCH] Add KIO version checks for insertOpenWithActionsTo() void KFileItemActions::insertOpenWithActionsTo(QAction*, QMenu*, const QString) requires KF 5.78 while void KFileItemActions::insertOpenWithActionsTo (QAction*, QMenu*, const QStringList) requires KF 5.82. For any KF version earlier, use void KFileItemActions::addOpenWithActionsTo(QMenu*, const QString) Fixes build on older systems after https://invent.kde.org/utilities/konsole/-/merge_requests/527 --- src/session/SessionController.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/session/SessionController.cpp b/src/session/SessionController.cpp index 8a17a26f..21451e68 100644 --- a/src/session/SessionController.cpp +++ b/src/session/SessionController.cpp @@ -50,6 +50,7 @@ #include #include +#include #include // Konsole @@ -1836,7 +1837,14 @@ void SessionController::showDisplayContextMenu(const QPoint &position) const KFileItemListProperties props({item}); QScopedPointer ac(new KFileItemActions(popup)); ac->setItemListProperties(props); + +#if KIO_VERSION >= QT_VERSION_CHECK(5, 82, 0) ac->insertOpenWithActionsTo(popup->actions().value(4, nullptr), popup, QStringList{qApp->desktopFileName()}); +#elif KIO_VERSION >= QT_VERSION_CHECK(5, 78, 0) + ac->insertOpenWithActionsTo(popup->actions().value(4, nullptr), popup, QString()); +#else + ac->addOpenWithActionsTo(popup); +#endif auto newActions = popup->actions(); for (auto* elm : old) {