]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphintabwidget.cpp
Port to KF6 rename of KUserFeedback
[dolphin.git] / src / dolphintabwidget.cpp
index ff2f246aeda85846127d77fef7dccaef08efc6d3..11a720d20cf069477e13407fc38576aa1f520baf 100644 (file)
@@ -15,6 +15,7 @@
 #include <KIO/CommandLauncherJob>
 #include <KLocalizedString>
 #include <KShell>
+#include <KStringHandler>
 #include <kio/global.h>
 
 #include <QApplication>
@@ -34,12 +35,12 @@ DolphinTabWidget::DolphinTabWidget(DolphinNavigatorsWidgetAction *navigatorsWidg
     connect(tabBar, &DolphinTabBar::openNewActivatedTab, this, QOverload<int>::of(&DolphinTabWidget::openNewActivatedTab));
     connect(tabBar, &DolphinTabBar::tabDropEvent, this, &DolphinTabWidget::tabDropEvent);
     connect(tabBar, &DolphinTabBar::tabDetachRequested, this, &DolphinTabWidget::detachTab);
-    tabBar->hide();
 
     setTabBar(tabBar);
     setDocumentMode(true);
     setElideMode(Qt::ElideRight);
     setUsesScrollButtons(true);
+    setTabBarAutoHide(true);
 }
 
 DolphinTabPage *DolphinTabWidget::currentTabPage() const
@@ -450,7 +451,7 @@ void DolphinTabWidget::tabInserted(int index)
 {
     QTabWidget::tabInserted(index);
 
-    if (count() > 1) {
+    if (tabBar()->isVisible()) {
         // Resolve all pending tab icons
         for (int i = 0; i < count(); ++i) {
             const QUrl url = tabPageAt(i)->activeViewContainer()->url();
@@ -463,8 +464,6 @@ void DolphinTabWidget::tabInserted(int index)
                 tabBar()->setTabToolTip(index, url.toDisplayString(QUrl::PreferLocalFile));
             }
         }
-
-        tabBar()->show();
     }
 
     Q_EMIT tabCountChanged(count());
@@ -474,12 +473,6 @@ void DolphinTabWidget::tabRemoved(int index)
 {
     QTabWidget::tabRemoved(index);
 
-    // If only one tab is left, then remove the tab entry so that
-    // closing the last tab is not possible.
-    if (count() < 2) {
-        tabBar()->hide();
-    }
-
     Q_EMIT tabCountChanged(count());
 }
 
@@ -507,7 +500,7 @@ QString DolphinTabWidget::tabName(DolphinTabPage *tabPage) const
 
     // Make sure that a '&' inside the directory name is displayed correctly
     // and not misinterpreted as a keyboard shortcut in QTabBar::setTabText()
-    return name.replace('&', QLatin1String("&&"));
+    return KStringHandler::rsqueeze(name.replace('&', QLatin1String("&&")), 40 /* default maximum visible folder name visible */);
 }
 
 DolphinViewContainer *DolphinTabWidget::viewContainerAt(DolphinTabWidget::ViewIndex viewIndex) const