#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
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)
*/
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
*/
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.
/**
* 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,
*/
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.
/** 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.
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