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);
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)));
}
}
}
-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();
// 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)
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);