]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
Merge branch 'master' into frameworks
[dolphin.git] / src / dolphinmainwindow.cpp
index 3b084ac8b486e1ae43ba608742e380232e88b05d..990995af59f644632207b722307ef75afc0c159f 100644 (file)
@@ -47,7 +47,6 @@
 #include "dolphin_generalsettings.h"
 
 #include <KAcceleratorManager>
-#include <KAction>
 #include <KActionCollection>
 #include <KActionMenu>
 #include <KConfig>
@@ -775,7 +774,8 @@ void DolphinMainWindow::togglePanelLockState()
 void DolphinMainWindow::slotPlacesPanelVisibilityChanged(bool visible)
 {
     foreach (DolphinTabPage* tabPage, m_viewTab) {
-        tabPage->setPlacesSelectorVisible(visible);
+        // The Places selector in the location bar should be shown if and only if the Places panel is hidden.
+        tabPage->setPlacesSelectorVisible(!visible);
     }
 }
 
@@ -1224,6 +1224,11 @@ void DolphinMainWindow::activeViewChanged()
     setActiveViewContainer(tabPage->activeViewContainer());
 }
 
+void DolphinMainWindow::closedTabsCountChanged(unsigned int count)
+{
+    actionCollection()->action("undo_close_tab")->setEnabled(count > 0);
+}
+
 void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContainer)
 {
     Q_ASSERT(viewContainer);
@@ -1353,6 +1358,15 @@ void DolphinMainWindow::setupActions()
             recentTabsMenu, SLOT(rememberClosedTab(KUrl,KUrl)));
     connect(recentTabsMenu, SIGNAL(restoreClosedTab(KUrl,KUrl)),
             this, SLOT(openNewActivatedTab(KUrl,KUrl)));
+    connect(recentTabsMenu, SIGNAL(closedTabsCountChanged(uint)),
+            this, SLOT(closedTabsCountChanged(uint)));
+
+    QAction* undoCloseTab = actionCollection()->addAction("undo_close_tab");
+    undoCloseTab->setText(i18nc("@action:inmenu File", "Undo close tab"));
+    undoCloseTab->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_T);
+    undoCloseTab->setIcon(QIcon::fromTheme("edit-undo"));
+    undoCloseTab->setEnabled(false);
+    connect(undoCloseTab, SIGNAL(triggered()), recentTabsMenu, SLOT(undoCloseTab()));
 
     KStandardAction::forward(this, SLOT(goForward()), actionCollection());
     KStandardAction::up(this, SLOT(goUp()), actionCollection());