#include "dolphincontextmenu.h"
+#include "dolphin_generalsettings.h"
#include "dolphinmainwindow.h"
#include "dolphinnewfilemenu.h"
-#include "dolphinviewcontainer.h"
-#include "dolphin_generalsettings.h"
#include "dolphinremoveaction.h"
+#include "dolphinviewcontainer.h"
+#include "panels/places/placesitem.h"
+#include "panels/places/placesitemmodel.h"
+#include "trash/dolphintrash.h"
+#include "views/dolphinview.h"
+#include "views/viewmodecontroller.h"
-#include <KActionCollection>
#include <KAbstractFileItemActionPlugin>
+#include <KActionCollection>
#include <KFileItemActions>
#include <KFileItemListProperties>
-#include <KIO/RestoreJob>
#include <KIO/EmptyTrashJob>
#include <KIO/JobUiDelegate>
#include <KIO/Paste>
+#include <KIO/RestoreJob>
#include <KJobWidgets>
+#include <KLocalizedString>
#include <KMimeTypeTrader>
#include <KNewFileMenu>
#include <KPluginMetaData>
#include <KService>
-#include <KLocalizedString>
#include <KStandardAction>
#include <KToolBar>
#include <QApplication>
#include <QClipboard>
#include <QKeyEvent>
-#include <QMenuBar>
#include <QMenu>
+#include <QMenuBar>
#include <QMimeDatabase>
-#include <panels/places/placesitem.h>
-#include <panels/places/placesitemmodel.h>
-
-
-#include "views/dolphinview.h"
-#include "views/viewmodecontroller.h"
-
DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent,
const QPoint& pos,
const KFileItem& fileInfo,
Q_ASSERT(m_context & TrashContext);
QAction* emptyTrashAction = new QAction(QIcon::fromTheme(QStringLiteral("trash-empty")), i18nc("@action:inmenu", "Empty Trash"), this);
- KConfig trashConfig(QStringLiteral("trashrc"), KConfig::SimpleConfig);
- emptyTrashAction->setEnabled(!trashConfig.group("Status").readEntry("Empty", true));
+ emptyTrashAction->setEnabled(!Trash::isEmpty());
addAction(emptyTrashAction);
addCustomActions();
addShowMenuBarAction();
if (exec(m_pos) == emptyTrashAction) {
- KIO::JobUiDelegate uiDelegate;
- uiDelegate.setWindow(m_mainWindow);
- if (uiDelegate.askDeleteConfirmation(QList<QUrl>(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation)) {
- KIO::Job* job = KIO::emptyTrash();
- KJobWidgets::setWindow(job, m_mainWindow);
- job->uiDelegate()->setAutoErrorHandlingEnabled(true);
- }
+ Trash::empty(m_mainWindow);
}
}
const KFileItemListProperties& selectedItemsProps = selectedItemsProperties();
if (m_selectedItems.count() == 1) {
+ if (m_fileInfo.isLink()) {
+ addAction(m_mainWindow->actionCollection()->action(QStringLiteral("show_target")));
+ addSeparator();
+ }
if (m_fileInfo.isDir()) {
// setup 'Create New' menu
DolphinNewFileMenu* newFileMenu = new DolphinNewFileMenu(m_mainWindow->actionCollection(), m_mainWindow);
bool DolphinContextMenu::placeExists(const QUrl& url) const
{
+ Q_UNUSED(url)
// Creating up a PlacesItemModel to find out if 'url' is one of the Places
// can be expensive because the model asks Solid for the devices which are
// available, which can take some time.
fileItemActions.setParentWidget(m_mainWindow);
// insert 'Open With...' action or sub menu
- fileItemActions.addOpenWithActionsTo(this, QStringLiteral("DesktopEntryName != 'dolphin'"));
+ fileItemActions.addOpenWithActionsTo(this, QStringLiteral("DesktopEntryName != '%1'").arg(qApp->desktopFileName()));
// insert 'Actions' sub menu
fileItemActions.addServiceActionsTo(this);