]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphintabwidget.h
Build with QT_NO_KEYWORDS
[dolphin.git] / src / dolphintabwidget.h
index 1eca71c5dccfc9ae8c294a225fa3d43b33c47512..e0146d7c71bb5d25671a7d63c2c2da9c311359bb 100644 (file)
@@ -7,11 +7,13 @@
 #ifndef DOLPHIN_TAB_WIDGET_H
 #define DOLPHIN_TAB_WIDGET_H
 
+#include "dolphinnavigatorswidgetaction.h"
+#include "dolphintabpage.h"
+
 #include <QTabWidget>
 #include <QUrl>
 
 class DolphinViewContainer;
-class DolphinTabPage;
 class KConfigGroup;
 
 class DolphinTabWidget : public QTabWidget
@@ -19,20 +21,12 @@ class DolphinTabWidget : public QTabWidget
     Q_OBJECT
 
 public:
+
     /**
-     * @brief Controls where tabs are placed
+     * @param navigatorsWidget The navigatorsWidget which is always going to be connected
+     *                         to the active tabPage.
      */
-    enum TabPlacement {
-        /**
-          * The new tab is placed after the current tab
-          */
-        AfterCurrentTab,
-        /**
-          * The new tab is placed after the last tab
-          */
-        AfterLastTab
-    };
-    explicit DolphinTabWidget(QWidget* parent);
+    explicit DolphinTabWidget(DolphinNavigatorsWidgetAction *navigatorsWidget, QWidget *parent);
 
     /**
      * @return Tab page at the current index (can be 0 if tabs count is smaller than 1)
@@ -71,7 +65,7 @@ public:
      */
     bool isUrlOpen(const QUrl& url) const;
 
-signals:
+Q_SIGNALS:
     /**
      * Is emitted when the active view has been changed, by changing the current
      * tab or by activating another view when split view is enabled in the current
@@ -96,7 +90,7 @@ signals:
      */
     void currentUrlChanged(const QUrl& url);
 
-public slots:
+public Q_SLOTS:
     /**
      * Opens a new view with the current URL that is part of a tab and activates
      * the tab.
@@ -111,11 +105,9 @@ public slots:
 
     /**
      * Opens a new tab in the background showing the URL \a primaryUrl and the
-     * optional URL \a secondaryUrl. \a tabPlacement controls where the new tab
-     * is placed.
+     * optional URL \a secondaryUrl.
      */
-    void openNewTab(const QUrl &primaryUrl, const QUrl &secondaryUrl = QUrl(),
-                    DolphinTabWidget::TabPlacement tabPlacement = AfterLastTab);
+    void openNewTab(const QUrl &primaryUrl, const QUrl &secondaryUrl = QUrl());
 
     /**
      * Opens each directory in \p dirs in a separate tab. If \a splitView is set,
@@ -163,13 +155,6 @@ public slots:
      */
     void activatePrevTab();
 
-    /**
-     * Is invoked if the Places panel got visible/invisible and takes care
-     * that the places-selector of all views is only shown if the Places panel
-     * is invisible.
-     */
-    void slotPlacesPanelVisibilityChanged(bool visible);
-
     /**
      * Is called when the user wants to reopen a previously closed tab from
      * the recent tabs menu.
@@ -182,7 +167,7 @@ public slots:
     /** Moves all selected items to the inactive view. */
     void moveToInactiveSplitView();
 
-private slots:
+private Q_SLOTS:
     /**
      * Opens the tab with the index \a index in a new Dolphin instance and closes
      * this tab.
@@ -231,10 +216,8 @@ private:
     QPair<int, bool> indexByUrl(const QUrl& url) const;
 
 private:
-    /** Caches the (negated) places panel visibility */
-    bool m_placesSelectorVisible;
-
-    int m_lastViewedTab;
+    QPointer<DolphinTabPage> m_lastViewedTab;
+    QPointer<DolphinNavigatorsWidgetAction> m_navigatorsWidget;
 };
 
 #endif