]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinnavigatorswidgetaction.h
Merge remote-tracking branch 'origin/release/20.12'
[dolphin.git] / src / dolphinnavigatorswidgetaction.h
index f343e6a1c23a1dc8dd32debf45b6d24d54be9417..bbd8cf127fc9e51deb4515da2894718eb22455b0 100644 (file)
@@ -41,13 +41,6 @@ class DolphinNavigatorsWidgetAction : public QWidgetAction
 public:
     DolphinNavigatorsWidgetAction(QWidget *parent = nullptr);
 
-    /**
-     * Adds this action to the mainWindow's toolbar and saves the change
-     * in the users ui configuration file.
-     * @return true if successful. Otherwise false.
-     */
-    bool addToToolbarAndSave(KXmlGuiWindow *mainWindow);
-
     /**
      * The secondary UrlNavigator is only created on-demand. Such an action is not necessary
      * for the primary UrlNavigator which is created preemptively.
@@ -71,6 +64,8 @@ public:
     void followViewContainersGeometry(int globalXOfPrimary,   int widthOfPrimary,
                                       int globalXOfSecondary, int widthOfSecondary);
 
+    bool isInToolbar() const;
+
     /**
      * @return the primary UrlNavigator.
      */
@@ -87,6 +82,20 @@ public:
      */
     void setSecondaryNavigatorVisible(bool visible);
 
+protected:
+    /**
+     * There should always ever be one navigatorsWidget for this action so
+     * this method always returns the same widget and reparents it.
+     * You normally don't have to use this method directly because
+     * QWidgetAction::requestWidget() is used to obtain the navigatorsWidget
+     * and to steal it from whereever it was prior.
+     * @param parent the new parent of the navigatorsWidget.
+     */
+    QWidget *createWidget(QWidget *parent) override;
+
+    /** @see QWidgetAction::deleteWidget() */
+    void deleteWidget(QWidget *widget) override;
+
 private:
     /**
      * Adjusts the width of the spacings used to align the UrlNavigators with ViewContainers.