#include <QUrl>
#include <QWidget>
-class QSplitter;
+class DolphinNavigatorsWidgetAction;
class DolphinViewContainer;
+class QSplitter;
class KFileItemList;
class DolphinTabPage : public QWidget
*/
int selectedItemsCount() const;
+ /**
+ * Connects a navigatorsWidget to this. It will be connected to the DolphinViewContainers
+ * managed by this tab. For alignment purposes this will from now on notify the
+ * navigatorsWidget when this tab or its viewContainers are resized.
+ */
+ void connectNavigators(DolphinNavigatorsWidgetAction *navigatorsWidget);
+
+ /**
+ * Makes it so this tab and its DolphinViewContainers aren't controlled by any
+ * UrlNavigators anymore.
+ */
+ void disconnectNavigators();
+
+ /**
+ * Calls resizeNavigators() when a watched object is resized.
+ */
+ bool eventFilter(QObject *watched, QEvent *event) override;
+
+ void insertNavigatorsWidget(DolphinNavigatorsWidgetAction *navigatorsWidget);
+
+ /**
+ * Notify the connected DolphinNavigatorsWidgetAction of geometry changes which it
+ * needs for visual alignment.
+ */
+ void resizeNavigators() const;
+
/**
* Marks the items indicated by \p urls to get selected after the
* directory DolphinView::url() has been loaded. Note that nothing
*/
void markUrlAsCurrent(const QUrl& url);
- /**
- * Sets the places selector visible, if \a visible is true.
- * The places selector allows to select the places provided
- * by the places model passed in the constructor. Per default
- * the places selector is visible.
- */
- void setPlacesSelectorVisible(bool visible);
-
/**
* Refreshes the views of the main window by recreating them according to
* the given Dolphin settings.
signals:
void activeViewChanged(DolphinViewContainer* viewContainer);
void activeViewUrlChanged(const QUrl& url);
+ void splitterMoved(int pos, int index);
private slots:
/**
private:
QSplitter* m_splitter;
+ QPointer<DolphinNavigatorsWidgetAction> m_navigatorsWidget;
QPointer<DolphinViewContainer> m_primaryViewContainer;
QPointer<DolphinViewContainer> m_secondaryViewContainer;