]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphintabwidget.h
Changes the tabName function to return the name of a specific tab
[dolphin.git] / src / dolphintabwidget.h
index 98bcd985abc37cdd3657da8a4f47b73794da245a..0cb662966a76a4a07b45da950edb811a6ee54f22 100644 (file)
@@ -21,7 +21,7 @@
 #define DOLPHIN_TAB_WIDGET_H
 
 #include <QTabWidget>
-#include <KUrl>
+#include <QUrl>
 
 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<KUrl>& dirs);
+    void openDirectories(const QList<QUrl>& 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<KUrl>& files);
+    void openFiles(const QList<QUrl> &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