+ void setCustomActions(const QList<QAction*>& actions);
+
+ /**
+ * Opens the context menu model and returns the requested
+ * command, that should be triggered by the caller. If
+ * Command::None has been returned, either the context-menu
+ * had been closed without executing an action or an
+ * already available action from the main-window has been
+ * executed.
+ */
+ Command open();
+
+ /**
+ * TODO: This method is a workaround for a X11-issue in combination
+ * with KModifierKeyInfo: When constructing KModifierKeyInfo in the
+ * constructor of the context menu, the user interface might freeze.
+ * To bypass this, the KModifierKeyInfo is constructed in DolphinMainWindow
+ * directly after starting the application. Remove this method, if
+ * the X11-issue got fixed (contact the maintainer of KModifierKeyInfo for
+ * more details).
+ */
+ static void initializeModifierKeyInfo();
+
+private slots:
+ /**
+ * Is invoked if a key modifier has been pressed and updates the context
+ * menu to show the 'Delete' action instead of the 'Move To Trash' action
+ * if the shift-key has been pressed.
+ */
+ void slotKeyModifierPressed(Qt::Key key, bool pressed);
+
+ /**
+ * Triggers the 'Delete'-action if the shift-key has been pressed, otherwise
+ * the 'Move to Trash'-action gets triggered.
+ */
+ void slotRemoveActionTriggered();