]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphintabwidget.cpp
Merge branch 'Applications/18.04'
[dolphin.git] / src / dolphintabwidget.cpp
index da1ced4b31124cb86cf3242fabcf6f678352aea9..a5c2f8c98c77e48dd72d02aaec36f5bf92838483 100644 (file)
 #include "dolphintabpage.h"
 #include "dolphinviewcontainer.h"
 
-#include <QApplication>
-#include <QDropEvent>
 #include <KConfigGroup>
+#include <KRun>
 #include <KShell>
 #include <kio/global.h>
-#include <KRun>
+
+#include <QApplication>
+#include <QDropEvent>
 
 DolphinTabWidget::DolphinTabWidget(QWidget* parent) :
     QTabWidget(parent),
     m_placesSelectorVisible(true),
-    m_previousTab(0)
+    m_lastViewedTab(0)
 {
     connect(this, &DolphinTabWidget::tabCloseRequested,
             this, static_cast<void (DolphinTabWidget::*)(int)>(&DolphinTabWidget::closeTab));
@@ -60,6 +61,18 @@ DolphinTabPage* DolphinTabWidget::currentTabPage() const
     return tabPageAt(currentIndex());
 }
 
+DolphinTabPage* DolphinTabWidget::nextTabPage() const
+{
+    const int index = currentIndex() + 1;
+    return tabPageAt(index < count() ? index : 0);
+}
+
+DolphinTabPage* DolphinTabWidget::prevTabPage() const
+{
+    const int index = currentIndex() - 1;
+    return tabPageAt(index >= 0 ? index : (count() - 1));
+}
+
 DolphinTabPage* DolphinTabWidget::tabPageAt(const int index) const
 {
     return static_cast<DolphinTabPage*>(widget(index));
@@ -91,10 +104,7 @@ void DolphinTabWidget::readProperties(const KConfigGroup& group)
         } else {
             // Tab state created with Dolphin <= 4.14.x
             const QByteArray state = group.readEntry("Tab " % QString::number(i), QByteArray());
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
             tabPageAt(i)->restoreStateV1(state);
-#pragma GCC diagnostic pop
         }
     }
 
@@ -307,8 +317,8 @@ void DolphinTabWidget::tabUrlChanged(const QUrl& url)
 
 void DolphinTabWidget::currentTabChanged(int index)
 {
-    // previous tab deactivation
-    if (DolphinTabPage* tabPage = tabPageAt(m_previousTab)) {
+    // last-viewed tab deactivation
+    if (DolphinTabPage* tabPage = tabPageAt(m_lastViewedTab)) {
         tabPage->setActive(false);
     }
     DolphinTabPage* tabPage = tabPageAt(index);
@@ -316,7 +326,7 @@ void DolphinTabWidget::currentTabChanged(int index)
     emit activeViewChanged(viewContainer);
     emit currentUrlChanged(viewContainer->url());
     tabPage->setActive(true);
-    m_previousTab = index;
+    m_lastViewedTab = index;
 }
 
 void DolphinTabWidget::tabInserted(int index)