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)),
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)),
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)),
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)));
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)),
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()
{
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