From 2751f152e75f2f880f8ea8b4b39893e140418352 Mon Sep 17 00:00:00 2001 From: Tian Shilin Date: Mon, 3 Aug 2026 14:19:44 +0800 Subject: [PATCH] fix(editor): improve mixed-language file name display in tabs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Increase the maximum tab width to avoid squeezing mixed-language names. 增大标签页最大宽度,避免中英文混合文件名被过度挤压。 Log: 优化中英文混合文件名标签显示 PMS: BUG-370145 Influence: 标签页可展示更完整的中英文混合文件名,减少字符显示不清晰问题。 --- src/controls/tabbar.cpp | 8 ++++---- tests/src/controls/ut_tabbar.cpp | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/controls/tabbar.cpp b/src/controls/tabbar.cpp index 6d7373c5..3eee2c62 100644 --- a/src/controls/tabbar.cpp +++ b/src/controls/tabbar.cpp @@ -862,8 +862,8 @@ QSize Tabbar::tabSizeHint(int index) const if (index >= 0) { int total = this->width(); // 计算每个tab宽度:标签数未溢出时使用固定最大宽度,溢出时等分 - const int maxTabWidth = 160; - const int minTabWidth = 110; + const int maxTabWidth = 200; + const int minTabWidth = (index == currentIndex()) ? 160 : 110; int tabCount = DTabBar::count(); int tabWidth = maxTabWidth; @@ -898,9 +898,9 @@ QSize Tabbar::maximumTabSizeHint(int index) const qDebug() << "Enter maximumTabSizeHint, index:" << index; Q_UNUSED(index) #ifdef DTKWIDGET_CLASS_DSizeMode - return QSize(160, DGuiApplicationHelper::isCompactMode() ? s_TabbarHeightCompact : s_TabbarHeight); + return QSize(200, DGuiApplicationHelper::isCompactMode() ? s_TabbarHeightCompact : s_TabbarHeight); #else - return QSize(160, 40); + return QSize(200, 40); #endif qDebug() << "Exit maximumTabSizeHint"; } diff --git a/tests/src/controls/ut_tabbar.cpp b/tests/src/controls/ut_tabbar.cpp index fcbf6ca1..ce698e04 100644 --- a/tests/src/controls/ut_tabbar.cpp +++ b/tests/src/controls/ut_tabbar.cpp @@ -291,7 +291,7 @@ TEST(UT_Tabbar_maximumTabSizeHint, UT_Tabbar_maximumTabSizeHint) Tabbar * tab = new Tabbar(); tab->addTab("/.cache/deepin/deepin-editor","aa"); - EXPECT_EQ(tab->maximumTabSizeHint(0),QSize(160, 40)); + EXPECT_EQ(tab->maximumTabSizeHint(0),QSize(200, 40)); EXPECT_NE(tab,nullptr); @@ -813,4 +813,3 @@ TEST(UT_Tabbar_tr, UT_Tabbar_tr) EXPECT_FALSE(tab->tr("Close other tabs").isEmpty()); tab->deleteLater(); } -