/***************************************************************************
- * Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at> *
+ * Copyright (C) 2006 by Peter Penz <peter.penz19@gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
#ifndef DOLPHINCONTEXTMENU_H
#define DOLPHINCONTEXTMENU_H
-#include <kdesktopfileactions.h>
-#include <kfileitem.h>
-#include <kservice.h>
-#include <kurl.h>
+#include <KFileItem>
+#include <KService>
+#include <KUrl>
#include <konq_copytomenu.h>
-#include <QtCore/QObject>
+#include <QObject>
-#include <QtCore/QVector>
+#include <QVector>
#include <QScopedPointer>
/**
* @parent Pointer to the main window the context menu
* belongs to.
+ * @pos Position in screen coordinates.
* @fileInfo Pointer to the file item the context menu
* is applied. If 0 is passed, the context menu
* is above the viewport.
* should be opened.
*/
DolphinContextMenu(DolphinMainWindow* parent,
+ const QPoint& pos,
const KFileItem& fileInfo,
const KUrl& baseUrl);
* Adds the "Show menubar" action to the menu if the
* menubar is hidden.
*/
- void addShowMenubarAction();
-
- /**
- * Returns a name for adding the URL \a url to the Places panel.
- */
- QString placesName(const KUrl& url) const;
+ void addShowMenuBarAction();
bool placeExists(const KUrl& url) const;
QAction* createPasteAction();
- KFileItemListProperties& selectedItemsProperties();
+ KFileItemListProperties& selectedItemsProperties() const;
/**
* Returns the file item for m_baseUrl.
/**
* Updates m_removeAction to represent the 'Delete'-action if the shift-key
- * has been pressed. Otherwise it represents the 'Move to Trash'-action.
+ * has been pressed or the selection is not local. Otherwise it represents
+ * the 'Move to Trash'-action.
*/
void updateRemoveAction();
+ /**
+ * @return True if a moving to the trash should be done instead of
+ * deleting the selected items.
+ * @see updateRemoveAction(), slotRemoveActionTriggered()
+ */
+ bool moveToTrash() const;
+
private:
struct Entry
{
TrashContext = 2
};
+ QPoint m_pos;
DolphinMainWindow* m_mainWindow;
KFileItem m_fileInfo;
KFileItem* m_baseFileItem; /// File item for m_baseUrl
KFileItemList m_selectedItems;
- KFileItemListProperties* m_selectedItemsProperties;
+ mutable KFileItemListProperties* m_selectedItemsProperties;
int m_context;
KonqCopyToMenu m_copyToMenu;