#include "dolphinremoveaction.h"
#include <KActionCollection>
-#include <kfileitemactionplugin.h>
-#include <kabstractfileitemactionplugin.h>
+#include <KAbstractFileItemActionPlugin>
#include <KFileItemActions>
#include <KFileItemListProperties>
#include <KIO/RestoreJob>
#include <KIO/EmptyTrashJob>
#include <KIO/JobUiDelegate>
+#include <KIO/Paste>
#include <KJobWidgets>
-#include <QMenu>
#include <KMimeTypeTrader>
-#include <KMimeType>
#include <KNewFileMenu>
-#include <konq_operations.h>
#include <KService>
#include <KLocalizedString>
#include <KStandardAction>
#include <KToolBar>
+#include <QApplication>
+#include <QClipboard>
+#include <QKeyEvent>
#include <QMenuBar>
+#include <QMenu>
+
#include <panels/places/placesitem.h>
#include <panels/places/placesitemmodel.h>
// insert 'Copy To' and 'Move To' sub menus
if (GeneralSettings::showCopyMoveMenu()) {
- m_copyToMenu.setItems(m_selectedItems);
+ m_copyToMenu.setUrls(m_selectedItems.urlList());
m_copyToMenu.setReadOnly(!selectedItemsProps.supportsWriting());
+ m_copyToMenu.setAutoErrorHandlingEnabled(true);
m_copyToMenu.addActionsTo(this);
}
QAction* action = 0;
const bool isDir = !m_fileInfo.isNull() && m_fileInfo.isDir();
if (isDir && (m_selectedItems.count() == 1)) {
- const QPair<bool, QString> pasteInfo = KonqOperations::pasteInfo(m_fileInfo.url());
- action = new QAction(QIcon::fromTheme("edit-paste"), i18nc("@action:inmenu", "Paste Into Folder"), this);
- action->setEnabled(pasteInfo.first);
+ const QMimeData *mimeData = QApplication::clipboard()->mimeData();
+ bool canPaste;
+ const QString text = KIO::pasteActionText(mimeData, &canPaste, m_fileInfo);
+ action = new QAction(QIcon::fromTheme("edit-paste"), text, this);
+ action->setEnabled(canPaste);
connect(action, &QAction::triggered, m_mainWindow, &DolphinMainWindow::pasteIntoFolder);
} else {
action = m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Paste));
KFileItem DolphinContextMenu::baseFileItem()
{
if (!m_baseFileItem) {
- m_baseFileItem = new KFileItem(KFileItem::Unknown, KFileItem::Unknown, m_baseUrl);
+ m_baseFileItem = new KFileItem(m_baseUrl);
}
return *m_baseFileItem;
}
continue;
}
- // Old API (kdelibs-4.6.0 only)
- KFileItemActionPlugin* plugin = service->createInstance<KFileItemActionPlugin>();
- if (plugin) {
- plugin->setParent(this);
- addActions(plugin->actions(props, m_mainWindow));
- }
- // New API (kdelibs >= 4.6.1)
KAbstractFileItemActionPlugin* abstractPlugin = service->createInstance<KAbstractFileItemActionPlugin>();
if (abstractPlugin) {
abstractPlugin->setParent(this);
const DolphinView* view = m_mainWindow->activeViewContainer()->view();
const QList<QAction*> versionControlActions = view->versionControlActions(m_selectedItems);
if (!versionControlActions.isEmpty()) {
- foreach (QAction* action, versionControlActions) {
- addAction(action);
- }
+ addActions(versionControlActions);
addSeparator();
}
}
void DolphinContextMenu::addCustomActions()
{
- foreach (QAction* action, m_customActions) {
- addAction(action);
- }
+ addActions(m_customActions);
}