summaryrefslogtreecommitdiff
path: root/kde-apps/dolphin
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-29 18:03:51 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-29 18:03:51 +0000
commitd7ed2b01311f15ba54fe8ea872aab7d59ab2b193 (patch)
tree1814dd2b5bbf2e7639fdafbeef48d228cfaf5e9b /kde-apps/dolphin
parentabaa75b10f899ada8dd05b23cc03205064394bc6 (diff)
gentoo resync : 29.01.2021
Diffstat (limited to 'kde-apps/dolphin')
-rw-r--r--kde-apps/dolphin/Manifest3
-rw-r--r--kde-apps/dolphin/dolphin-20.12.1-r1.ebuild (renamed from kde-apps/dolphin/dolphin-20.12.1.ebuild)4
-rw-r--r--kde-apps/dolphin/files/dolphin-20.12.1-knetattach-button.patch193
3 files changed, 198 insertions, 2 deletions
diff --git a/kde-apps/dolphin/Manifest b/kde-apps/dolphin/Manifest
index 5a9050b3c8f7..d002c732bc60 100644
--- a/kde-apps/dolphin/Manifest
+++ b/kde-apps/dolphin/Manifest
@@ -1,5 +1,6 @@
+AUX dolphin-20.12.1-knetattach-button.patch 8072 BLAKE2B 97735000237dd7a27f2d78d889dddc70f77067bfefa04999a36b7626b866c226057268a5e04f7ef40b203cf72b39eb4589d3bebc16a93a4ae2ff311367f815bd SHA512 acd2f6414c28a4db1ec01dfa8532246caddd1c3ce77afa3e72270122972f608c66f09923495e9d68ec29199663c0a52f260d07603cefb084ad4a66c30d8d1e92
DIST dolphin-20.08.3.tar.xz 5094964 BLAKE2B 368eca6e1972361bdb02bb3b1d3b449074d7d48af7bb88df60447ac9a7c88e8562fcac185c96596c57520df3efb87859cd21ad19e3b8515ec4ce40ebc7d2b3a5 SHA512 6fb1533597d886a7a032b68dbe2d9d05c0b856c006ba06d08eeda5ae267530f528fa4c4b7a8e2caf1cb074284a27d01a223922b606fde238984588a7df3abe6c
DIST dolphin-20.12.1.tar.xz 5115268 BLAKE2B 12f0d39eda33615401858e9ea2f5ded1ec3b8308766dfc1c05d19bb9fd32f84ed8db808ae7035cebcbbd52ef9fe4def163574690a128a20052588ccb0bf76bd8 SHA512 a9f04b1dce709afebde3c60e356750ae2e6b32209cf9251845a348594047eeca1c98942de6125d9b4eaa1db596fc598ef9467185072d220c430e1499f5ef56e8
EBUILD dolphin-20.08.3.ebuild 3065 BLAKE2B d935f22318e5aa0dfdc22ba1f6dc9b6c9a79bd8e19509c75e918c7ee6855e8fabc55351d5e8bb0e01f349d305c448cafbee77fb6aaceef4e7afdd1c25892af39 SHA512 e78165d126936b7b1e324e3cbdc57f6af5632d27f3c9ed6be3a742d60a71c1edcf2949c78fa4ecf50c8661b841ac8a80fc80bd754e1c1a8d35cdb4b2e3afd3c3
-EBUILD dolphin-20.12.1.ebuild 3171 BLAKE2B 25ecb306c472a6b38563d478955cf9ece27b4195a1d7e1f7f985a34d4a8fb923d24392830d3fcd487990e1dc6bf7f237f261a2e178eb19664f4115ba2390f6c2 SHA512 92847a5f733306139a57db78d07ab168fdc2d914b01848a338020702e9ea288be1553fbfe3f90b6ab5e555f404acf43390ad2dd95e0aef05a3aaf259ba8b0717
+EBUILD dolphin-20.12.1-r1.ebuild 3245 BLAKE2B 02e730cff7fb9efde24d9556967abf7f451a0e91279b528b3a28b7fe4d5bffef26f27d50e965c85c7f803d591c828554bc15110629c2d8d4ea2c06caeaadf297 SHA512 2cbf076a35706ebb4d387df8e298b0a08e328753b02922af9fffb6417f7621263bd22ae0a6c6ac681caf79c0bdb48d5287b83e9721abc5081b7f5c857f73ee22
MISC metadata.xml 361 BLAKE2B 1974fb2be150af6e3276e6c55b54b4659fcdd781b58228b60bea6ceb605f0a5b412d5b6451231b47fd67856ecf9486dd30e3d440b6e9a35d1566fc09de9a5cd9 SHA512 2fea432f0da8502acb0e2bc467e6c010a54612c2850de6abf422304e8d260a5417f7361f66c6a697ae9e138d3b6714e3d8121ae4904e24804abc188758576176
diff --git a/kde-apps/dolphin/dolphin-20.12.1.ebuild b/kde-apps/dolphin/dolphin-20.12.1-r1.ebuild
index af47c4290036..0fbdb6a75231 100644
--- a/kde-apps/dolphin/dolphin-20.12.1.ebuild
+++ b/kde-apps/dolphin/dolphin-20.12.1-r1.ebuild
@@ -37,7 +37,7 @@ DEPEND="
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kiconthemes-${KFMIN}:5
>=kde-frameworks/kinit-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5=
>=kde-frameworks/kitemviews-${KFMIN}:5
>=kde-frameworks/kjobwidgets-${KFMIN}:5
>=kde-frameworks/knewstuff-${KFMIN}:5
@@ -62,6 +62,8 @@ RDEPEND="${DEPEND}
>=kde-apps/kio-extras-${PVCUT}:5
"
+PATCHES=( "${FILESDIR}/${P}-knetattach-button.patch" ) # KDE-Bug 431626
+
src_configure() {
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt5=ON
diff --git a/kde-apps/dolphin/files/dolphin-20.12.1-knetattach-button.patch b/kde-apps/dolphin/files/dolphin-20.12.1-knetattach-button.patch
new file mode 100644
index 000000000000..b66b6c7e0344
--- /dev/null
+++ b/kde-apps/dolphin/files/dolphin-20.12.1-knetattach-button.patch
@@ -0,0 +1,193 @@
+From 33270dd4423eea329b8f20db17f8d70ab7b108da Mon Sep 17 00:00:00 2001
+From: Norbert Preining <norbert@preining.info>
+Date: Tue, 19 Jan 2021 06:43:14 +0900
+Subject: [PATCH] Show button to open knetattach inline with URL nav on
+ remove:// view
+
+This is a backport of b1cadeba939155282a9fadf7d7b025d6529c489e
+
+ From b1cadeba939155282a9fadf7d7b025d6529c489e Mon Sep 17 00:00:00 2001
+ From: Nate Graham <nate@kde.org>
+ Date: Tue, 15 Dec 2020 23:03:00 -0700
+ Subject: [PATCH] Show button to open knetattach inline with URL nav on
+ Remote:// view
+
+ In conjunction with
+ https://invent.kde.org/frameworks/kio/-/merge_requests/260,
+ the net result is to hide the knetattach launcher in the view, and show
+ it inline with Dolphin's URL navigator toolbar when viewing the
+ remote:// view, just like how we add an "Empty Trash" button when
+ viewing trash://.
+
+The backport ensures that even with frameworks << 5.78 only one network
+button is shown.
+
+BUG: 431626
+---
+ src/dolphinnavigatorswidgetaction.cpp | 61 +++++++++++++++++++++++++++
+ src/dolphinnavigatorswidgetaction.h | 20 ++++++++-
+ 2 files changed, 80 insertions(+), 1 deletion(-)
+
+diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp
+index b8c77c69b..b25c60d0c 100644
+--- a/src/dolphinnavigatorswidgetaction.cpp
++++ b/src/dolphinnavigatorswidgetaction.cpp
+@@ -10,9 +10,13 @@
+ #include "trash/dolphintrash.h"
+
+ #include <KLocalizedString>
++#include <KNotificationJobUiDelegate>
++#include <KService>
+ #include <KXMLGUIFactory>
+ #include <KXmlGuiWindow>
+
++#include <KIO/ApplicationLauncherJob>
++
+ #include <QApplication>
+ #include <QDomDocument>
+ #include <QHBoxLayout>
+@@ -154,7 +158,13 @@ void DolphinNavigatorsWidgetAction::adjustSpacing()
+ }
+ int trailingSpacing = (m_globalXOfSplitter + m_splitter->width())
+ - (m_globalXOfPrimary + m_widthOfPrimary);
++#if KIO_VERSION < QT_VERSION_CHECK(5, 78, 0)
+ if (trailingSpacing < 0 || emptyTrashButton(Primary)->isVisible()) {
++#else
++ if (trailingSpacing < 0 || emptyTrashButton(Primary)->isVisible()
++ || networkFolderButton(Primary)->isVisible()
++ ) {
++#endif
+ trailingSpacing = 0;
+ }
+ const int widthLeftForUrlNavigator = m_splitter->widget(0)->width() - leadingSpacing - trailingSpacing;
+@@ -181,7 +191,13 @@ void DolphinNavigatorsWidgetAction::adjustSpacing()
+
+ trailingSpacing = (m_globalXOfSplitter + m_splitter->width())
+ - (m_globalXOfSecondary + m_widthOfSecondary);
++#if KIO_VERSION < QT_VERSION_CHECK(5, 78, 0)
+ if (trailingSpacing < 0 || emptyTrashButton(Secondary)->isVisible()) {
++#else
++ if (trailingSpacing < 0 || emptyTrashButton(Secondary)->isVisible()
++ || networkFolderButton(Secondary)->isVisible()
++ ) {
++#endif
+ trailingSpacing = 0;
+ } else {
+ const int widthLeftForUrlNavigator2 = m_splitter->widget(1)->width() - trailingSpacing;
+@@ -212,6 +228,11 @@ QWidget *DolphinNavigatorsWidgetAction::createNavigatorWidget(Side side) const
+ auto emptyTrashButton = newEmptyTrashButton(urlNavigator, navigatorWidget);
+ layout->addWidget(emptyTrashButton);
+
++#if !(KIO_VERSION < QT_VERSION_CHECK(5, 78, 0))
++ auto networkFolderButton = newNetworkFolderButton(urlNavigator, navigatorWidget);
++ layout->addWidget(networkFolderButton);
++#endif
++
+ connect(urlNavigator, &KUrlNavigator::urlChanged, this, [this]() {
+ // We have to wait for DolphinUrlNavigator::sizeHint() to update which
+ // happens a little bit later than when urlChanged is emitted.
+@@ -249,6 +270,38 @@ QPushButton *DolphinNavigatorsWidgetAction::newEmptyTrashButton(const DolphinUrl
+ return emptyTrashButton;
+ }
+
++#if !(KIO_VERSION < QT_VERSION_CHECK(5, 78, 0))
++QPushButton *DolphinNavigatorsWidgetAction::networkFolderButton(DolphinNavigatorsWidgetAction::Side side)
++{
++ int sideIndex = (side == Primary ? 0 : 1);
++ if (side == Primary) {
++ return static_cast<QPushButton *>(m_splitter->widget(sideIndex)->layout()->itemAt(3)->widget());
++ }
++ return static_cast<QPushButton *>(m_splitter->widget(sideIndex)->layout()->itemAt(2)->widget());
++}
++
++QPushButton *DolphinNavigatorsWidgetAction::newNetworkFolderButton(const DolphinUrlNavigator *urlNavigator, QWidget *parent) const
++{
++ auto networkFolderButton = new QPushButton(QIcon::fromTheme(QStringLiteral("folder-add")),
++ i18nc("@action:button", "Add Network Folder"), parent);
++ networkFolderButton->setFlat(true);
++ connect(networkFolderButton, &QPushButton::clicked,
++ this, [networkFolderButton]() {
++ KService::Ptr service = KService::serviceByDesktopName(QStringLiteral("org.kde.knetattach"));
++ auto *job = new KIO::ApplicationLauncherJob(service, networkFolderButton);
++ auto *delegate = new KNotificationJobUiDelegate;
++ delegate->setAutoErrorHandlingEnabled(true);
++ job->setUiDelegate(delegate);
++ job->start();
++ });
++ networkFolderButton->hide();
++ connect(urlNavigator, &KUrlNavigator::urlChanged, this, [networkFolderButton, urlNavigator]() {
++ networkFolderButton->setVisible(urlNavigator->locationUrl().scheme() == QLatin1String("remote"));
++ });
++ return networkFolderButton;
++}
++#endif
++
+ QWidget *DolphinNavigatorsWidgetAction::spacing(Side side, Position position) const
+ {
+ int sideIndex = (side == Primary ? 0 : 1);
+@@ -257,9 +310,17 @@ QWidget *DolphinNavigatorsWidgetAction::spacing(Side side, Position position) co
+ return m_splitter->widget(sideIndex)->layout()->itemAt(0)->widget();
+ }
+ if (side == Primary) {
++#if KIO_VERSION < QT_VERSION_CHECK(5, 78, 0)
+ return m_splitter->widget(sideIndex)->layout()->itemAt(3)->widget();
++#else
++ return m_splitter->widget(sideIndex)->layout()->itemAt(4)->widget();
++#endif
+ }
++#if KIO_VERSION < QT_VERSION_CHECK(5, 78, 0)
+ return m_splitter->widget(sideIndex)->layout()->itemAt(2)->widget();
++#else
++ return m_splitter->widget(sideIndex)->layout()->itemAt(3)->widget();
++#endif
+ }
+
+ void DolphinNavigatorsWidgetAction::updateText()
+diff --git a/src/dolphinnavigatorswidgetaction.h b/src/dolphinnavigatorswidgetaction.h
+index bbd8cf127..ce199b3f0 100644
+--- a/src/dolphinnavigatorswidgetaction.h
++++ b/src/dolphinnavigatorswidgetaction.h
+@@ -10,6 +10,7 @@
+
+ #include "dolphinurlnavigator.h"
+
++#include <kio_version.h>
+ #include <QSplitter>
+ #include <QTimer>
+ #include <QWidgetAction>
+@@ -30,7 +31,8 @@ class QPushButton;
+ * The secondary side only exists for split view and is created by
+ * createSecondaryUrlNavigator() when necessary.
+ * - Each side is a QWidget which I call NavigatorWidget with a QHBoxLayout.
+- * - Each NavigatorWidget consists an UrlNavigator, an emptyTrashButton and spacing.
++ * - Each NavigatorWidget consists an UrlNavigator, an emptyTrashButton, a
++ * networkFolderButton (for frameworks >= 5.78), and spacing.
+ * - Only the primary navigatorWidget has leading spacing. Both have trailing spacing.
+ * The spacing is there to align the UrlNavigator with its DolphinViewContainer.
+ */
+@@ -131,6 +133,22 @@ private:
+ */
+ QPushButton *newEmptyTrashButton(const DolphinUrlNavigator *urlNavigator, QWidget *parent) const;
+
++#if !(KIO_VERSION < QT_VERSION_CHECK(5, 78, 0))
++ /**
++ * Used to retrieve the networkFolderButtons for the navigatorWidgets on
++ * both sides.
++ */
++ QPushButton *networkFolderButton(Side side);
++
++ /**
++ * Creates a new add "network folder" button.
++ * @param urlNavigator Only when this UrlNavigator shows the remote directory
++ * will the button be visible.
++ * @param parent The object that should be the button's parent.
++ */
++ QPushButton *newNetworkFolderButton(const DolphinUrlNavigator *urlNavigator, QWidget *parent) const;
++#endif
++
+ enum Position {
+ Leading,
+ Trailing
+--
+GitLab
+