X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ed2d352c42a6d517d4f29b3582c0e00aa34fe647..787fa3eebdeeb2707a78d9e72a082f89c2e05bb2:/src/dolphintabwidget.cpp diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 03f09ca86..11a720d20 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -34,12 +35,12 @@ DolphinTabWidget::DolphinTabWidget(DolphinNavigatorsWidgetAction *navigatorsWidg connect(tabBar, &DolphinTabBar::openNewActivatedTab, this, QOverload::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 @@ -392,7 +393,7 @@ void DolphinTabWidget::tabDropEvent(int index, QDropEvent *event) const auto urls = event->mimeData()->urls(); for (const QUrl &url : urls) { - auto *job = KIO::statDetails(url, KIO::StatJob::SourceSide, KIO::StatDetail::StatBasic, KIO::JobFlag::HideProgressInfo); + auto *job = KIO::stat(url, KIO::StatJob::SourceSide, KIO::StatDetail::StatBasic, KIO::JobFlag::HideProgressInfo); connect(job, &KJob::result, this, [this, job]() { if (!job->error() && job->statResult().isDir()) { openNewTab(job->url(), QUrl(), NewTabPosition::AtEnd); @@ -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