]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix regression introduced in 4.5 and allow to add the menu actions "Show Information...
authorPeter Penz <peter.penz19@gmail.com>
Sun, 19 Dec 2010 12:48:24 +0000 (12:48 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Sun, 19 Dec 2010 12:48:24 +0000 (12:48 +0000)
BUG: 250847
FIXED-IN: 4.6.0

svn path=/trunk/KDE/kdebase/apps/; revision=1207728

src/dolphinmainwindow.cpp
src/dolphinmainwindow.h

index 3ee891f41c5b56c153edd4bc2f461377258328b3..46b28cada484aa22f3806d9207237277eb77aaf4 100644 (file)
@@ -1591,6 +1591,7 @@ void DolphinMainWindow::setupDockWidgets()
     QAction* infoAction = infoDock->toggleViewAction();
     infoAction->setIcon(KIcon("dialog-information"));
     infoAction->setShortcut(Qt::Key_F11);
+    addActionCloneToCollection(infoAction, "show_information_panel");
 
     addDockWidget(Qt::RightDockWidgetArea, infoDock);
     connect(this, SIGNAL(urlChanged(KUrl)),
@@ -1610,6 +1611,7 @@ void DolphinMainWindow::setupDockWidgets()
     QAction* foldersAction = foldersDock->toggleViewAction();
     foldersAction->setShortcut(Qt::Key_F7);
     foldersAction->setIcon(KIcon("folder"));
+    addActionCloneToCollection(foldersAction, "show_folders_panel");
 
     addDockWidget(Qt::LeftDockWidgetArea, foldersDock);
     connect(this, SIGNAL(urlChanged(KUrl)),
@@ -1630,6 +1632,7 @@ void DolphinMainWindow::setupDockWidgets()
     QAction* terminalAction = terminalDock->toggleViewAction();
     terminalAction->setShortcut(Qt::Key_F4);
     terminalAction->setIcon(KIcon("utilities-terminal"));
+    addActionCloneToCollection(terminalAction, "show_terminal_panel");
 
     addDockWidget(Qt::BottomDockWidgetArea, terminalDock);
     connect(this, SIGNAL(urlChanged(KUrl)),
@@ -1648,6 +1651,7 @@ void DolphinMainWindow::setupDockWidgets()
     QAction* filterAction = filterDock->toggleViewAction();
     filterAction->setShortcut(Qt::Key_F12);
     filterAction->setIcon(KIcon("view-filter"));
+    addActionCloneToCollection(filterAction, "show_filter_panel");
     addDockWidget(Qt::RightDockWidgetArea, filterDock);
     connect(this, SIGNAL(urlChanged(KUrl)),
             filterPanel, SLOT(setUrl(KUrl)));
@@ -1678,6 +1682,7 @@ void DolphinMainWindow::setupDockWidgets()
     QAction* placesAction = placesDock->toggleViewAction();
     placesAction->setShortcut(Qt::Key_F9);
     placesAction->setIcon(KIcon("bookmarks"));
+    addActionCloneToCollection(placesAction, "show_places_panel");
 
     addDockWidget(Qt::LeftDockWidgetArea, placesDock);
     connect(placesPanel, SIGNAL(urlChanged(KUrl, Qt::MouseButtons)),
@@ -1919,6 +1924,14 @@ QString DolphinMainWindow::squeezedText(const QString& text) const
     return fm.elidedText(text, Qt::ElideMiddle, fm.maxWidth() * 10);
 }
 
+void DolphinMainWindow::addActionCloneToCollection(QAction* action, const QString& actionName)
+{
+    KAction* actionClone = actionCollection()->addAction(actionName);
+    actionClone->setText(action->text());
+    actionClone->setIcon(action->icon());
+    connect(actionClone, SIGNAL(triggered()), action, SLOT(trigger()));
+}
+
 DolphinMainWindow::UndoUiInterface::UndoUiInterface() :
     KIO::FileUndoManager::UiInterface()
 {
index fdfa931442163b2f06f90b033ff690a6fe2121fc..9a57b545238613aaffc08b6d98b75f5f52a9821a 100644 (file)
@@ -503,6 +503,15 @@ private:
 
     QString squeezedText(const QString& text) const;
 
+    /**
+     * Adds a clone of the action \a action to the action-collection with
+     * the name \a actionName, so that the action \a action also can be
+     * added to the toolbar by the user. This is useful if the creation of
+     * \a action is e.g. done in Qt and hence cannot be added directly
+     * to the action-collection.
+     */
+    void addActionCloneToCollection(QAction* action, const QString& actionName);
+
 private:
     /**
      * Implements a custom error handling for the undo manager. This