commit:     559300b55404683b346eeb2b60b1c7cb5c73acf9
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 14 19:51:11 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 14 20:00:49 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=559300b5

kde-apps/dolphin: Revert "portalize drag urls"

KDE-bug: https://bugs.kde.org/457529
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=462928

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-apps/dolphin/dolphin-22.12.0-r1.ebuild         | 97 ++++++++++++++++++++++
 ...olphin-22.12.0-revert-portalize-drag-urls.patch | 94 +++++++++++++++++++++
 2 files changed, 191 insertions(+)

diff --git a/kde-apps/dolphin/dolphin-22.12.0-r1.ebuild 
b/kde-apps/dolphin/dolphin-22.12.0-r1.ebuild
new file mode 100644
index 000000000000..c125eb9bb985
--- /dev/null
+++ b/kde-apps/dolphin/dolphin-22.12.0-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.99.0
+QTMIN=5.15.5
+VIRTUALX_REQUIRED="test"
+inherit ecm gear.kde.org optfeature
+
+DESCRIPTION="Plasma filemanager focusing on usability"
+HOMEPAGE="https://apps.kde.org/dolphin/ https://userbase.kde.org/Dolphin";
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="activities semantic-desktop telemetry"
+
+DEPEND="
+       >=dev-qt/qtconcurrent-${QTMIN}:5
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       >=kde-frameworks/kbookmarks-${KFMIN}:5
+       >=kde-frameworks/kcmutils-${KFMIN}:5
+       >=kde-frameworks/kcodecs-${KFMIN}:5
+       >=kde-frameworks/kcompletion-${KFMIN}:5
+       >=kde-frameworks/kconfig-${KFMIN}:5
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+       >=kde-frameworks/kcoreaddons-${KFMIN}:5
+       >=kde-frameworks/kcrash-${KFMIN}:5
+       >=kde-frameworks/kdbusaddons-${KFMIN}:5
+       >=kde-frameworks/ki18n-${KFMIN}:5
+       >=kde-frameworks/kiconthemes-${KFMIN}:5
+       >=kde-frameworks/kio-${KFMIN}:5=
+       >=kde-frameworks/kitemviews-${KFMIN}:5
+       >=kde-frameworks/kjobwidgets-${KFMIN}:5
+       >=kde-frameworks/knewstuff-${KFMIN}:5
+       >=kde-frameworks/knotifications-${KFMIN}:5
+       >=kde-frameworks/kparts-${KFMIN}:5
+       >=kde-frameworks/kservice-${KFMIN}:5
+       >=kde-frameworks/ktextwidgets-${KFMIN}:5
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+       >=kde-frameworks/kwindowsystem-${KFMIN}:5
+       >=kde-frameworks/kxmlgui-${KFMIN}:5
+       >=kde-frameworks/solid-${KFMIN}:5
+       >=media-libs/phonon-4.11.0
+       activities? ( >=kde-frameworks/kactivities-${KFMIN}:5 )
+       semantic-desktop? (
+               >=kde-apps/baloo-widgets-${PVCUT}:5
+               >=kde-frameworks/baloo-${KFMIN}:5
+               >=kde-frameworks/kfilemetadata-${KFMIN}:5
+       )
+       telemetry? ( dev-libs/kuserfeedback:5 )
+"
+RDEPEND="${DEPEND}
+       >=kde-apps/kio-extras-${PVCUT}:5
+"
+
+PATCHES=( "${FILESDIR}/${P}-revert-portalize-drag-urls.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt5=ON
+               $(cmake_use_find_package activities KF5Activities)
+               $(cmake_use_find_package semantic-desktop KF5Baloo)
+               $(cmake_use_find_package semantic-desktop KF5BalooWidgets)
+               $(cmake_use_find_package semantic-desktop KF5FileMetaData)
+               $(cmake_use_find_package telemetry KUserFeedback)
+       )
+       ecm_src_configure
+}
+
+src_test() {
+       local myctestargs=(
+               # servicemenuinstaller requires ruby, no thanks
+               # dolphinmainwindowtest, kitemlistcontrollertest, 
kfileitemlistviewtest, kfileitemmodeltest hang forever
+               # placesitemmodeltest requires DBus
+               -E 
"(servicemenuinstaller|dolphinmainwindowtest|kfileitemlistviewtest|kfileitemmodeltest|kitemlistcontrollertest|placesitemmodeltest)"
+       )
+       ecm_src_test
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               optfeature "compress/extract and other actions" 
kde-apps/ark:${SLOT}
+               optfeature "crypto actions" kde-apps/kleopatra:${SLOT}
+               optfeature "video file thumbnails" kde-apps/ffmpegthumbs:${SLOT}
+               optfeature "graphics file thumbnails" 
kde-apps/thumbnailers:${SLOT}
+               optfeature "'Share' context menu actions" 
kde-frameworks/purpose:${SLOT}
+       fi
+       ecm_pkg_postinst
+}

diff --git 
a/kde-apps/dolphin/files/dolphin-22.12.0-revert-portalize-drag-urls.patch 
b/kde-apps/dolphin/files/dolphin-22.12.0-revert-portalize-drag-urls.patch
new file mode 100644
index 000000000000..417c3f340c6a
--- /dev/null
+++ b/kde-apps/dolphin/files/dolphin-22.12.0-revert-portalize-drag-urls.patch
@@ -0,0 +1,94 @@
+From c8aed8ac81d9f7f3dc93a7570037041228a98bf4 Mon Sep 17 00:00:00 2001
+From: Felix Ernst <felixer...@kde.org>
+Date: Wed, 14 Dec 2022 12:33:51 +0000
+Subject: [PATCH] Revert "portalize drag urls"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 8d7e600f63a1961294dfe2c278a710b4ce0716e9.
+
+While this revert unfortunately removes Dolphin's ability to copy to
+sandboxed applications, the bugs being temporarily fixed by this seem
+more important. See the bugs mentioned below for details.
+
+Especially copy-pasting needs to work flawlessly for an application
+like Dolphin. After the revert this will either work correctly or – in
+the case of sandboxed applications – not at all.
+
+CCBUG: 457529
+CCBUG: 462928
+---
+ src/kitemviews/kitemlistcontroller.cpp     | 4 +---
+ src/panels/folders/treeviewcontextmenu.cpp | 1 -
+ src/views/dolphinview.cpp                  | 5 +----
+ 3 files changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/src/kitemviews/kitemlistcontroller.cpp 
b/src/kitemviews/kitemlistcontroller.cpp
+index 955e418e8..29dd13aac 100644
+--- a/src/kitemviews/kitemlistcontroller.cpp
++++ b/src/kitemviews/kitemlistcontroller.cpp
+@@ -17,7 +17,6 @@
+ 
+ #include <KTwoFingerSwipe>
+ #include <KTwoFingerTap>
+-#include <KUrlMimeData>
+ 
+ #include <QAccessible>
+ #include <QApplication>
+@@ -1334,11 +1333,10 @@ void KItemListController::startDragging()
+         return;
+     }
+ 
+-    QMimeData *data = m_model->createMimeData(selectedItems);
++    QMimeData* data = m_model->createMimeData(selectedItems);
+     if (!data) {
+         return;
+     }
+-    KUrlMimeData::exportUrlsToPortal(data);
+ 
+     // The created drag object will be owned and deleted
+     // by QApplication::activeWindow().
+diff --git a/src/panels/folders/treeviewcontextmenu.cpp 
b/src/panels/folders/treeviewcontextmenu.cpp
+index 893a494fb..e0da9e976 100644
+--- a/src/panels/folders/treeviewcontextmenu.cpp
++++ b/src/panels/folders/treeviewcontextmenu.cpp
+@@ -168,7 +168,6 @@ void TreeViewContextMenu::populateMimeData(QMimeData* 
mimeData, bool cut)
+     bool dummy;
+     mostLocalUrls.append(m_fileItem.mostLocalUrl(&dummy));
+     KIO::setClipboardDataCut(mimeData, cut);
+-    KUrlMimeData::exportUrlsToPortal(mimeData);
+     KUrlMimeData::setUrls(kdeUrls, mostLocalUrls, mimeData);
+ }
+ 
+diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
+index e8603858f..88f275557 100644
+--- a/src/views/dolphinview.cpp
++++ b/src/views/dolphinview.cpp
+@@ -45,7 +45,6 @@
+ #include <KLocalizedString>
+ #include <KMessageBox>
+ #include <KProtocolManager>
+-#include <KUrlMimeData>
+ 
+ #include <kwidgetsaddons_version.h>
+ 
+@@ -802,14 +801,12 @@ void DolphinView::cutSelectedItemsToClipboard()
+ {
+     QMimeData* mimeData = selectionMimeData();
+     KIO::setClipboardDataCut(mimeData, true);
+-    KUrlMimeData::exportUrlsToPortal(mimeData);
+     QApplication::clipboard()->setMimeData(mimeData);
+ }
+ 
+ void DolphinView::copySelectedItemsToClipboard()
+ {
+-    QMimeData *mimeData = selectionMimeData();
+-    KUrlMimeData::exportUrlsToPortal(mimeData);
++    QMimeData* mimeData = selectionMimeData();
+     QApplication::clipboard()->setMimeData(mimeData);
+ }
+ 
+-- 
+GitLab
+

Reply via email to