#include <kparts/part.h>
#include <kfileitem.h>
#include <kfileitemdelegate.h>
+#include <konq_fileundomanager.h>
#include <kio/job.h>
#include <QBoxLayout>
#include <QListView>
#include <QWidget>
+class KAction;
class KToggleAction;
class DolphinController;
class KDirLister;
*/
static KToggleAction* columnsModeAction(KActionCollection* collection);
+ /**
+ * Creates the rename action.
+ * This code is here to share it between the mainwindow and the part
+ */
+ static KAction* createRenameAction(KActionCollection* collection);
+
+ /**
+ * Creates the "move to trash" action.
+ * This code is here to share it between the mainwindow and the part
+ */
+ static KAction* createMoveToTrashAction(KActionCollection* collection);
+
+ /**
+ * Creates the delete action.
+ * This code is here to share it between the mainwindow and the part
+ */
+ static KAction* createDeleteAction(KActionCollection* collection);
+
/**
* Returns the action name corresponding to the current view mode
*/
QString currentViewModeActionName() const;
+ /**
+ * Returns the state of the paste action:
+ * first is whether the action should be enabled
+ * second is the text for the action
+ */
+ QPair<bool, QString> pasteInfo() const;
+
public slots:
/**
* Changes the directory to \a url. If the current directory is equal to
*/
void changeSelection(const KFileItemList& selection);
+ /**
+ * Triggers the renaming of the currently selected items, where
+ * the user must input a new name for the items.
+ */
+ void renameSelectedItems();
+
+ /**
+ * Moves all selected items to the trash.
+ */
+ void trashSelectedItems();
+
+ /**
+ * Deletes all selected items.
+ */
+ void deleteSelectedItems();
+
+ /**
+ * Copies all selected items to the clipboard and marks
+ * the items as cutted.
+ */
+ void cutSelectedItems();
+
+ /** Copies all selected items to the clipboard. */
+ void copySelectedItems();
+
+ /** Pastes the clipboard data to this view. */
+ void paste();
signals:
/**
*/
void errorMessage(const QString& msg);
+ /**
+ * Is emitted if an "operation completed" message with the content \a msg
+ * should be shown.
+ */
+ void operationCompletedMessage(const QString& msg);
+
/**
* Is emitted after DolphinView::setUrl() has been invoked and
* the path \a url is currently loaded. If this signal is emitted,
*/
void startedPathLoading(const KUrl& url);
+ /**
+ * Is emitted when renaming, copying, moving, linking etc.
+ * Used for feedback in the mainwindow.
+ */
+ void doingOperation(KonqFileUndoManager::CommandType type);
+
protected:
/** @see QWidget::mouseReleaseEvent */
virtual void mouseReleaseEvent(QMouseEvent* event);
*/
void clearHoverInformation();
+ /**
+ * Indicates in the status bar that the delete operation
+ * of the job \a job has been finished.
+ */
+ void slotDeleteFileFinished(KJob* job);
+
private:
void loadDirectory(const KUrl& url, bool reload = false);
*/
void createView();
+ void deleteView();
+
/**
* Returns a pointer to the currently used item view, which is either
* a ListView or a TreeView.
DolphinDetailsView* m_detailsView;
DolphinColumnView* m_columnView;
KFileItemDelegate* m_fileItemDelegate;
+ QItemSelectionModel* m_selectionModel;
DolphinModel* m_dolphinModel;
KDirLister* m_dirLister;