]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphintabwidget.cpp
Check if the item supports sequencing before looking for sequence pixmaps
[dolphin.git] / src / dolphintabwidget.cpp
index 825ff3c7f8c76642edf9175fca5e40a0193fa9a1..b2f838a40ab7e44b4a4241fd893407c344d8cf56 100644 (file)
@@ -38,6 +38,7 @@ DolphinTabWidget::DolphinTabWidget(DolphinNavigatorsWidgetAction *navigatorsWidg
     connect(tabBar, &DolphinTabBar::tabDragMoveEvent, this, &DolphinTabWidget::tabDragMoveEvent);
     connect(tabBar, &DolphinTabBar::tabDropEvent, this, &DolphinTabWidget::tabDropEvent);
     connect(tabBar, &DolphinTabBar::tabDetachRequested, this, &DolphinTabWidget::detachTab);
+    connect(tabBar, &DolphinTabBar::tabRenamed, this, &DolphinTabWidget::renameTab);
 
     setTabBar(tabBar);
     setDocumentMode(true);
@@ -122,6 +123,13 @@ void DolphinTabWidget::refreshViews()
 void DolphinTabWidget::updateTabName(int index)
 {
     Q_ASSERT(index >= 0);
+
+    if (!tabPageAt(index)->customLabel().isEmpty()) {
+        QString name = tabPageAt(index)->customLabel();
+        tabBar()->setTabText(index, name);
+        return;
+    }
+
     tabBar()->setTabText(index, tabName(tabPageAt(index)));
 }
 
@@ -170,7 +178,7 @@ void DolphinTabWidget::openNewActivatedTab(const QUrl &primaryUrl, const QUrl &s
     }
 }
 
-void DolphinTabWidget::openNewTab(const QUrl &primaryUrl, const QUrl &secondaryUrl, DolphinTabWidget::NewTabPosition position)
+DolphinTabPage *DolphinTabWidget::openNewTab(const QUrl &primaryUrl, const QUrl &secondaryUrl, DolphinTabWidget::NewTabPosition position)
 {
     QWidget *focusWidget = QApplication::focusWidget();
 
@@ -202,6 +210,7 @@ void DolphinTabWidget::openNewTab(const QUrl &primaryUrl, const QUrl &secondaryU
         // in background, assure that the previous focused widget gets the focus back.
         focusWidget->setFocus();
     }
+    return tabPage;
 }
 
 void DolphinTabWidget::openDirectories(const QList<QUrl> &dirs, bool splitView)
@@ -471,6 +480,12 @@ void DolphinTabWidget::currentTabChanged(int index)
     m_lastViewedTab = tabPage;
 }
 
+void DolphinTabWidget::renameTab(int index, const QString &name)
+{
+    tabPageAt(index)->setCustomLabel(name);
+    updateTabName(index);
+}
+
 void DolphinTabWidget::tabInserted(int index)
 {
     QTabWidget::tabInserted(index);