]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Close Dolphin if last tab closed
authorAlexander Saoutkin <a.saoutkin@gmail.com>
Sat, 27 Oct 2018 09:23:52 +0000 (11:23 +0200)
committerElvis Angelaccio <elvis.angelaccio@kde.org>
Sat, 27 Oct 2018 09:24:49 +0000 (11:24 +0200)
Summary:
Allows closing of last tab via shortcut or menubar (File->Close Tab), which then results in closing dolphin.

FEATURE: 397101

Test Plan: [Manual] Check closing tab closes dolphin via shortcut and menubar.

Reviewers: #dolphin, ngraham, #vdg, elvisangelaccio

Reviewed By: #dolphin, ngraham, #vdg, elvisangelaccio

Subscribers: thsurrel, svenmauch, abetts, elvisangelaccio, ngraham, #dolphin, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D15278

src/dolphinmainwindow.cpp
src/dolphintabwidget.cpp

index d9adde66bcde47f7264a42de05e4d64a7af223d6..b14f5289cd0c31344d1aa10329e0f74f6586b530 100644 (file)
@@ -995,7 +995,6 @@ void DolphinMainWindow::activeViewChanged(DolphinViewContainer* viewContainer)
 void DolphinMainWindow::tabCountChanged(int count)
 {
     const bool enableTabActions = (count > 1);
-    actionCollection()->action(KStandardAction::name(KStandardAction::Close))->setEnabled(enableTabActions);
     actionCollection()->action(QStringLiteral("activate_next_tab"))->setEnabled(enableTabActions);
     actionCollection()->action(QStringLiteral("activate_prev_tab"))->setEnabled(enableTabActions);
 }
@@ -1048,7 +1047,6 @@ void DolphinMainWindow::setupActions()
     QAction* closeTab = KStandardAction::close(
             m_tabWidget, static_cast<void(DolphinTabWidget::*)()>(&DolphinTabWidget::closeTab), actionCollection());
     closeTab->setText(i18nc("@action:inmenu File", "Close Tab"));
-    closeTab->setEnabled(false);
 
     KStandardAction::quit(this, &DolphinMainWindow::quit, actionCollection());
 
index edb7247cc611d2edd556d797643b553128136283..0cbe4529d6b49c4d12db753f35900287d1b621b8 100644 (file)
@@ -226,7 +226,8 @@ void DolphinTabWidget::closeTab(const int index)
     Q_ASSERT(index < count());
 
     if (count() < 2) {
-        // Never close the last tab.
+        // Close Dolphin when closing the last tab.
+        parentWidget()->close();
         return;
     }