X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f208acd5f68c8516b9f6a920cc229803637e23e9..bd839796f1e165016f8a4dfd01b222b31fb7773f:/src/dolphintabwidget.cpp diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 825ff3c7f..b2f838a40 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -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 &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);