X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/592e1730e268c680d1d7d7a7fca234b33775dc99..289ef9fa49c9a0a0e648a8545acf70bc6e00342c:/src/dolphintabwidget.h diff --git a/src/dolphintabwidget.h b/src/dolphintabwidget.h index 98bcd985a..0cb662966 100644 --- a/src/dolphintabwidget.h +++ b/src/dolphintabwidget.h @@ -21,7 +21,7 @@ #define DOLPHIN_TAB_WIDGET_H #include -#include +#include class DolphinViewContainer; class DolphinTabPage; @@ -39,6 +39,18 @@ public: */ DolphinTabPage* currentTabPage() const; + /** + * @return the next tab page. If the current active tab is the last tab, + * it returns the first tab. If there is only one tab, returns nullptr + */ + DolphinTabPage* nextTabPage() const; + + /** + * @return the previous tab page. If the current active tab is the first tab, + * it returns the last tab. If there is only one tab, returns nullptr + */ + DolphinTabPage* prevTabPage() const; + /** * @return Tab page at the given \a index (can be 0 if the index is out-of-range) */ @@ -70,13 +82,13 @@ signals: /** * Is emitted when a tab has been closed. */ - void rememberClosedTab(const KUrl& url, const QByteArray& state); + void rememberClosedTab(const QUrl& url, const QByteArray& state); /** * Is emitted when the url of the current tab has been changed. This signal * is also emitted when the active view has been changed. */ - void currentUrlChanged(const KUrl& url); + void currentUrlChanged(const QUrl& url); public slots: /** @@ -89,26 +101,27 @@ public slots: * Opens a new tab showing the URL \a primaryUrl and the optional URL * \a secondaryUrl and activates the tab. */ - void openNewActivatedTab(const KUrl& primaryUrl, const KUrl& secondaryUrl = KUrl()); + void openNewActivatedTab(const QUrl& primaryUrl, const QUrl& secondaryUrl = QUrl()); /** * Opens a new tab in the background showing the URL \a primaryUrl and the * optional URL \a secondaryUrl. */ - void openNewTab(const KUrl& primaryUrl, const KUrl& secondaryUrl = KUrl()); + void openNewTab(const QUrl &primaryUrl, const QUrl &secondaryUrl = QUrl()); /** - * Opens each directory in \p dirs in a separate tab. If the "split view" - * option is enabled, 2 directories are collected within one tab. + * Opens each directory in \p dirs in a separate tab. If \a splitView is set, + * 2 directories are collected within one tab. + * \pre \a dirs must contain at least one url. */ - void openDirectories(const QList& dirs); + void openDirectories(const QList& dirs, bool splitView); /** - * Opens the directory which contains the files \p files - * and selects all files (implements the --select option - * of Dolphin). + * Opens the directories which contain the files \p files and selects all files. + * If \a splitView is set, 2 directories are collected within one tab. + * \pre \a files must contain at least one url. */ - void openFiles(const QList& files); + void openFiles(const QList &files, bool splitView); /** * Closes the currently active tab. @@ -168,23 +181,26 @@ private slots: * The active view url of a tab has been changed so update the text and the * icon of the corresponding tab. */ - void tabUrlChanged(const KUrl& url); + void tabUrlChanged(const QUrl& url); void currentTabChanged(int index); protected: - virtual void tabInserted(int index); - virtual void tabRemoved(int index); + void tabInserted(int index) override; + void tabRemoved(int index) override; private: /** - * Returns the name of the tab for the URL \a url. + * @param tabPage The tab page to get the name of + * @return The name of the tab page */ - QString tabName(const KUrl& url) const; + QString tabName(DolphinTabPage* tabPage) const; private: /** Caches the (negated) places panel visibility */ bool m_placesSelectorVisible; + + int m_lastViewedTab; }; -#endif \ No newline at end of file +#endif