Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dolphin for openSUSE:Factory checked 
in at 2021-01-29 14:55:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dolphin (Old)
 and      /work/SRC/openSUSE:Factory/.dolphin.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dolphin"

Fri Jan 29 14:55:02 2021 rev:77 rq:866947 version:20.12.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/dolphin/dolphin.changes  2021-01-08 
17:34:55.733016577 +0100
+++ /work/SRC/openSUSE:Factory/.dolphin.new.28504/dolphin.changes       
2021-01-29 14:55:04.553330966 +0100
@@ -1,0 +2,9 @@
+Mon Jan 25 22:14:27 UTC 2021 - Luca Beltrame <[email protected]>
+
+- Add upstream patch to properly show the network button in the
+  URL navigator (kde#431626):
+  - 0001-Show-button-to-open-knetattach-inline-with-URL-nav-o.patch
+- Refreshed patches:
+  - 0001-Update-cached-viewContainer-geometry-every-time-they.patch
+
+-------------------------------------------------------------------

New:
----
  0001-Show-button-to-open-knetattach-inline-with-URL-nav-o.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dolphin.spec ++++++
--- /var/tmp/diff_new_pack.Wag2Vj/_old  2021-01-29 14:55:08.145336251 +0100
+++ /var/tmp/diff_new_pack.Wag2Vj/_new  2021-01-29 14:55:08.149336257 +0100
@@ -31,7 +31,9 @@
 Source3:        dolphinsu.desktop
 Patch0:         dolphin-go_up.diff
 # PATCH-FIX-UPSTREAM
-Patch1:         0001-Update-cached-viewContainer-geometry-every-time-they.patch
+Patch1:         0001-Show-button-to-open-knetattach-inline-with-URL-nav-o.patch
+# PATCH-FIX-UPSTREAM
+Patch2:         0001-Update-cached-viewContainer-geometry-every-time-they.patch
 # PATCH-FIX-OPENSUSE
 Patch100:       0001-Revert-Disallow-executing-Dolphin-as-root-on-Linux.patch
 BuildRequires:  extra-cmake-modules >= 1.6.0

++++++ 0001-Show-button-to-open-knetattach-inline-with-URL-nav-o.patch ++++++
>From 33270dd4423eea329b8f20db17f8d70ab7b108da Mon Sep 17 00:00:00 2001
From: Norbert Preining <[email protected]>
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 <[email protected]>
  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
-- 
2.30.0

++++++ 0001-Update-cached-viewContainer-geometry-every-time-they.patch ++++++
--- /var/tmp/diff_new_pack.Wag2Vj/_old  2021-01-29 14:55:08.181336304 +0100
+++ /var/tmp/diff_new_pack.Wag2Vj/_new  2021-01-29 14:55:08.185336310 +0100
@@ -9,11 +9,11 @@
  src/dolphintabpage.cpp                | 26 ++++-------
  3 files changed, 57 insertions(+), 49 deletions(-)
 
-diff --git a/src/dolphinnavigatorswidgetaction.cpp 
b/src/dolphinnavigatorswidgetaction.cpp
-index b8c77c69b..e534b9bb4 100644
---- a/src/dolphinnavigatorswidgetaction.cpp
-+++ b/src/dolphinnavigatorswidgetaction.cpp
-@@ -53,31 +53,12 @@ void 
DolphinNavigatorsWidgetAction::createSecondaryUrlNavigator()
+Index: dolphin-20.12.1/src/dolphinnavigatorswidgetaction.cpp
+===================================================================
+--- dolphin-20.12.1.orig/src/dolphinnavigatorswidgetaction.cpp 2021-01-25 
23:18:02.080476301 +0100
++++ dolphin-20.12.1/src/dolphinnavigatorswidgetaction.cpp      2021-01-25 
23:18:14.684426507 +0100
+@@ -57,31 +57,12 @@
      updateText();
  }
  
@@ -50,7 +50,7 @@
      adjustSpacing();
  }
  
-@@ -139,6 +120,7 @@ void DolphinNavigatorsWidgetAction::deleteWidget(QWidget 
*widget)
+@@ -143,6 +124,7 @@
  
  void DolphinNavigatorsWidgetAction::adjustSpacing()
  {
@@ -58,8 +58,8 @@
      Q_ASSERT(m_globalXOfSplitter != INT_MIN);
      Q_ASSERT(m_globalXOfPrimary  != INT_MIN);
      Q_ASSERT(m_widthOfPrimary    != INT_MIN);
-@@ -262,6 +244,38 @@ QWidget *DolphinNavigatorsWidgetAction::spacing(Side 
side, Position position) co
-     return m_splitter->widget(sideIndex)->layout()->itemAt(2)->widget();
+@@ -323,6 +305,38 @@
+ #endif
  }
  
 +void DolphinNavigatorsWidgetAction::updateCachedViewGeometry()
@@ -97,28 +97,27 @@
  void DolphinNavigatorsWidgetAction::updateText()
  {
      const int urlNavigatorsAmount = m_splitter->count() > 1 && 
m_splitter->widget(1)->isVisible() ?
-diff --git a/src/dolphinnavigatorswidgetaction.h 
b/src/dolphinnavigatorswidgetaction.h
-index bbd8cf127..32d52e5d1 100644
---- a/src/dolphinnavigatorswidgetaction.h
-+++ b/src/dolphinnavigatorswidgetaction.h
-@@ -10,6 +10,7 @@
- 
+Index: dolphin-20.12.1/src/dolphinnavigatorswidgetaction.h
+===================================================================
+--- dolphin-20.12.1.orig/src/dolphinnavigatorswidgetaction.h   2021-01-25 
23:18:02.080476301 +0100
++++ dolphin-20.12.1/src/dolphinnavigatorswidgetaction.h        2021-01-25 
23:18:46.064299606 +0100
+@@ -11,6 +11,7 @@
  #include "dolphinurlnavigator.h"
  
+ #include <kio_version.h>
 +#include <QPointer>
  #include <QSplitter>
  #include <QTimer>
  #include <QWidgetAction>
-@@ -52,17 +53,12 @@ public:
-      */
+@@ -55,16 +56,11 @@
      void createSecondaryUrlNavigator();
  
--    /**
+     /**
 -     * Notify the primary UrlNavigator of changes in geometry of the 
ViewContainer it tries to be
 -     * aligned with. Only call this method if there is no secondary 
UrlNavigator.
 -     */
 -    void followViewContainerGeometry(int globalXOfPrimary,   int 
widthOfPrimary);
-     /**
+-    /**
       * Notify this widget of changes in geometry of the ViewContainers it 
tries to be
       * aligned with.
       */
@@ -129,7 +128,7 @@
  
      bool isInToolbar() const;
  
-@@ -141,11 +137,19 @@ private:
+@@ -159,12 +155,20 @@
       */
      QWidget *spacing(Side side, Position position) const;
  
@@ -140,20 +139,21 @@
       */
      void updateText();
  
-+    /**
+     /**
 +     * The viewContainers are only remembered for the adjustSpacing 
calculations.
 +     */
 +    QPointer<const QWidget> m_primaryViewContainer;
 +    QPointer<const QWidget> m_secondaryViewContainer;
 +
-     /**
++    /**
       * The defaultWidget() of this QWidgetAction.
       */
-diff --git a/src/dolphintabpage.cpp b/src/dolphintabpage.cpp
-index 138822cfd..d64c87d75 100644
---- a/src/dolphintabpage.cpp
-+++ b/src/dolphintabpage.cpp
-@@ -167,7 +167,8 @@ void 
DolphinTabPage::connectNavigators(DolphinNavigatorsWidgetAction *navigators
+     std::unique_ptr<QSplitter> m_splitter;
+Index: dolphin-20.12.1/src/dolphintabpage.cpp
+===================================================================
+--- dolphin-20.12.1.orig/src/dolphintabpage.cpp        2021-01-02 
14:42:54.000000000 +0100
++++ dolphin-20.12.1/src/dolphintabpage.cpp     2021-01-25 23:18:14.684426507 
+0100
+@@ -167,7 +167,8 @@
          auto secondaryNavigator = navigatorsWidget->secondaryUrlNavigator();
          m_secondaryViewContainer->connectUrlNavigator(secondaryNavigator);
      }
@@ -163,7 +163,7 @@
  }
  
  void DolphinTabPage::disconnectNavigators()
-@@ -182,7 +183,12 @@ void DolphinTabPage::disconnectNavigators()
+@@ -182,7 +183,12 @@
  bool DolphinTabPage::eventFilter(QObject *watched, QEvent *event)
  {
      if (event->type() == QEvent::Resize && m_navigatorsWidget) {
@@ -177,7 +177,7 @@
          return false;
      }
      return QWidget::eventFilter(watched, event);
-@@ -201,22 +207,6 @@ void 
DolphinTabPage::insertNavigatorsWidget(DolphinNavigatorsWidgetAction* navig
+@@ -201,22 +207,6 @@
      }
  }
  
@@ -200,6 +200,3 @@
  void DolphinTabPage::markUrlsAsSelected(const QList<QUrl>& urls)
  {
      m_primaryViewContainer->view()->markUrlsAsSelected(urls);
--- 
-2.25.1
-

Reply via email to