+void DolphinContextMenu::addShowMenubarAction(KMenu* menu)
+{
+ KAction* showMenuBar = m_mainWindow->showMenuBarAction();
+ if (!m_mainWindow->menuBar()->isVisible()) {
+ // TODO: it should not be necessary to uncheck the menu
+ // bar action, but currently the action states don't get
+ // updated if the menu is disabled
+ showMenuBar->setChecked(false);
+ menu->addAction(showMenuBar);
+ menu->addSeparator();
+ }
+}
+
+QString DolphinContextMenu::placesName(const KUrl& url) const
+{
+ QString name = url.fileName();
+ if (name.isEmpty()) {
+ name = url.host();
+ }
+ return name;
+}
+
+QAction* DolphinContextMenu::createPasteAction()
+{
+ QAction* action = 0;
+ if ((m_selectedItems.count() == 1) && m_fileInfo.isDir()) {
+ action = new QAction(KIcon("edit-paste"), i18nc("@action:inmenu", "Paste Into Folder"), this);
+ const QMimeData* mimeData = QApplication::clipboard()->mimeData();
+ const KUrl::List pasteData = KUrl::List::fromMimeData(mimeData);
+ action->setEnabled(!pasteData.isEmpty() && capabilities().supportsWriting());
+ connect(action, SIGNAL(triggered()), m_mainWindow, SLOT(pasteIntoFolder()));
+ } else {
+ action = m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Paste));
+ }
+
+ return action;
+}
+
+FileItemCapabilities& DolphinContextMenu::capabilities()
+{
+ if (m_capabilities == 0) {
+ m_capabilities = new FileItemCapabilities(m_selectedItems);
+ }
+ return *m_capabilities;
+}
+