X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/67ebd66f94356b4e66005b1072919cb7b5e858bb..ad5d3367c7fef4c3c11188a768f21a2ee2b3c025:/src/dolphinviewcontainer.h diff --git a/src/dolphinviewcontainer.h b/src/dolphinviewcontainer.h index ee1193f19..822d8072d 100644 --- a/src/dolphinviewcontainer.h +++ b/src/dolphinviewcontainer.h @@ -8,9 +8,9 @@ #define DOLPHINVIEWCONTAINER_H #include "config-kactivities.h" +#include "dolphinurlnavigator.h" #include "views/dolphinview.h" -#include #include #include #include @@ -85,12 +85,58 @@ public: const DolphinStatusBar* statusBar() const; DolphinStatusBar* statusBar(); - const KUrlNavigator* urlNavigator() const; - KUrlNavigator* urlNavigator(); + /** + * @return An UrlNavigator that is controlling this view + * or nullptr if there is none. + * @see connectUrlNavigator() + * @see disconnectUrlNavigator() + * + * Use urlNavigatorInternal() if you want to access the history. + * @see urlNavigatorInternal() + */ + const DolphinUrlNavigator *urlNavigator() const; + /** + * @return An UrlNavigator that is controlling this view + * or nullptr if there is none. + * @see connectUrlNavigator() + * @see disconnectUrlNavigator() + * + * Use urlNavigatorInternal() if you want to access the history. + * @see urlNavigatorInternal() + */ + DolphinUrlNavigator *urlNavigator(); + + /** + * @return An UrlNavigator that contains this view's history. + * Use urlNavigator() instead when not accessing the history. + */ + const DolphinUrlNavigator *urlNavigatorInternal() const; + /** + * @return An UrlNavigator that contains this view's history. + * Use urlNavigator() instead when not accessing the history. + */ + DolphinUrlNavigator *urlNavigatorInternal(); const DolphinView* view() const; DolphinView* view(); + /** + * @param urlNavigator The UrlNavigator that is supposed to control + * this view. + */ + void connectUrlNavigator(DolphinUrlNavigator *urlNavigator); + + inline void connectToInternalUrlNavigator() + { + connectUrlNavigator(m_urlNavigator); + } + + /** + * Disconnects the navigator that is currently controling the view. + * This method completely reverses connectUrlNavigator(). + */ + void disconnectUrlNavigator(); + /** * Shows the message \msg with the given type non-modal above * the view-content. @@ -197,6 +243,8 @@ private slots: void updateDirectorySortingProgress(int percent); + void updateNavigatorWidgetVisibility(); + /** * Updates the statusbar to show an undetermined progress with the correct * context information whether a searching or a directory loading is done. @@ -281,14 +329,6 @@ private slots: /** Requests the focus for the view \a m_view. */ void requestFocus(); - /** - * Saves the currently used URL completion mode of - * the URL navigator. - */ - void saveUrlCompletionMode(KCompletion::CompletionMode completion); - - void slotReturnPressed(); - /** * Gets the search URL from the searchbox and starts searching. */ @@ -329,7 +369,19 @@ private: private: QVBoxLayout* m_topLayout; QWidget* m_navigatorWidget; - KUrlNavigator* m_urlNavigator; + + /** + * The UrlNavigator within the m_navigatorWidget. m_urlNavigator is + * used even when another UrlNavigator is controlling the view to keep + * track of this view containers history. + */ + DolphinUrlNavigator *m_urlNavigator; + + /** + * The UrlNavigator that is currently connected to the view. This could + * either be m_urlNavigator, the urlNavigator in the toolbar or nullptr. + */ + QPointer m_urlNavigatorConnected; QPushButton* m_emptyTrashButton; DolphinSearchBox* m_searchBox; bool m_searchModeEnabled;