From 625599462a8ec82f0e43267d333b3ed74a4401bf Mon Sep 17 00:00:00 2001 From: ambar chakravartty Date: Mon, 27 Jan 2025 16:50:13 +0530 Subject: Added code for a "Rename Tab" feature. BUG: 197009 --- src/dolphintabwidget.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/dolphintabwidget.cpp') diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 5ad2a368c..41b2a3eb9 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)->title().isEmpty()) { + QString name = tabPageAt(index)->title(); + tabBar()->setTabText(index, name); + return; + } + tabBar()->setTabText(index, tabName(tabPageAt(index))); } @@ -472,6 +480,16 @@ void DolphinTabWidget::currentTabChanged(int index) m_lastViewedTab = tabPage; } +void DolphinTabWidget::renameTab(int index, const QString &name) +{ + if (name.isEmpty()) { + updateTabName(index); + } else { + tabPageAt(index)->setTitle(name); + tabBar()->setTabText(index, name); + } +} + void DolphinTabWidget::tabInserted(int index) { QTabWidget::tabInserted(index); @@ -506,6 +524,7 @@ QString DolphinTabWidget::tabName(DolphinTabPage *tabPage) const if (!tabPage) { return QString(); } + // clang-format off QString name; if (tabPage->splitViewEnabled()) { -- cgit v1.3