#include <QWidget>
class QActionGroup;
-class KAction;
-class KToggleAction;
class DolphinController;
-class KDirLister;
-class KFileItemDelegate;
-class KUrl;
-class DolphinModel;
class DolphinColumnView;
class DolphinDetailsView;
class DolphinIconsView;
class DolphinMainWindow;
+class DolphinModel;
class DolphinSortFilterProxyModel;
+class IconManager;
+class KAction;
+class KActionCollection;
+class KDirLister;
+class KFileItemDelegate;
+class KUrl;
+class KToggleAction;
class QModelIndex;
class ViewProperties;
-namespace KIO
-{
- class PreviewJob;
-}
/**
* @short Represents a view for the directory content.
* Changes the view mode for the current directory to \a mode.
* If the view properties should be remembered for each directory
* (GeneralSettings::globalViewProps() returns false), then the
- * changed view mode will be be stored automatically.
+ * changed view mode will be stored automatically.
*/
void setMode(Mode mode);
Mode mode() const;
- /**
- * Turns on the file preview for the all files of the current directory,
- * if \a show is true.
- * If the view properties should be remembered for each directory
- * (GeneralSettings::globalViewProps() returns false), then the
- * preview setting will be be stored automatically.
- */
- void setShowPreview(bool show);
+ /** See setShowPreview */
bool showPreview() const;
- /**
- * Shows all hidden files of the current directory,
- * if \a show is true.
- * If the view properties should be remembered for each directory
- * (GeneralSettings::globalViewProps() returns false), then the
- * show hidden file setting will be be stored automatically.
- */
- void setShowHiddenFiles(bool show);
+ /** See setShowHiddenFiles */
bool showHiddenFiles() const;
- /**
- * Summarizes all sorted items by their category \a categorized
- * is true.
- * If the view properties should be remembered for each directory
- * (GeneralSettings::globalViewProps() returns false), then the
- * categorized sorting setting will be be stored automatically.
- */
- void setCategorizedSorting(bool categorized);
+ /** See setCategorizedSorting */
bool categorizedSorting() const;
/**
static KToggleAction* columnsModeAction(KActionCollection* collection);
/**
- * Creates the rename action.
- * This code is here to share it between the mainwindow and the part
+ * Updates the state of the 'Additional Information' actions in \a collection.
*/
- 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);
-
- /**
- * Creates the "new directory" action.
- * This code is here to share it between the mainwindow and the part
- */
- static KAction* createNewDirAction(KActionCollection* collection);
-
- /**
- * Creates the "sort descending" action.
- * This code is here to share it between the mainwindow and the part
- */
- static KAction* createSortDescendingAction(KActionCollection* collection);
-
- /**
- * Creates an action group with all the "show additional information" actions in it.
- * This code is here to share it between the mainwindow and the part
- */
- static QActionGroup* createAdditionalInformationActionGroup(KActionCollection* collection);
+ void updateAdditionalInfoActions(KActionCollection* collection);
/**
* Returns the action name corresponding to the current view mode
/** Pastes the clipboard data to this view. */
void paste();
+ /**
+ * Turns on the file preview for the all files of the current directory,
+ * if \a show is true.
+ * If the view properties should be remembered for each directory
+ * (GeneralSettings::globalViewProps() returns false), then the
+ * preview setting will be stored automatically.
+ */
+ void setShowPreview(bool show);
+
+ /**
+ * Shows all hidden files of the current directory,
+ * if \a show is true.
+ * If the view properties should be remembered for each directory
+ * (GeneralSettings::globalViewProps() returns false), then the
+ * show hidden file setting will be stored automatically.
+ */
+ void setShowHiddenFiles(bool show);
+
+ /**
+ * Summarizes all sorted items by their category \a categorized
+ * is true.
+ * If the view properties should be remembered for each directory
+ * (GeneralSettings::globalViewProps() returns false), then the
+ * categorized sorting setting will be stored automatically.
+ */
+ void setCategorizedSorting(bool categorized);
+
/** Switches between an ascending and descending sorting order. */
void toggleSortOrder();
+ /**
+ * Switches on or off the displaying of additional information
+ * as specified by \a action.
+ */
+ void toggleAdditionalInfo(QAction* action);
+
signals:
/**
* Is emitted if the view has been activated by e. g. a mouse click.
/** Is emitted if the sort order (ascending or descending) has been changed. */
void sortOrderChanged(Qt::SortOrder order);
- /** Is emitted if the additional information for an item has been changed. */
- void additionalInfoChanged(const KFileItemDelegate::InformationList& info);
+ /** Is emitted if the additional information shown for this view has been changed. */
+ void additionalInfoChanged();
/**
* Is emitted if information of an item is requested to be shown e. g. in the sidebar.
*/
void triggerItem(const KFileItem& index);
- /**
- * Generates a preview image for each file item in \a items.
- * The current preview settings (maximum size, 'Show Preview' menu)
- * are respected.
- */
- void generatePreviews(const KFileItemList& items);
-
- /**
- * Replaces the icon of the item \a item by the preview pixmap
- * \a pixmap.
- */
- void replaceIcon(const KFileItem& item, const QPixmap& pixmap);
-
void emitSelectionChangedSignal();
/**
*/
void emitContentsMoved();
- /** Applies an item effect to all cut items of the clipboard. */
- void updateCutItems();
-
/**
* Updates the status bar to show hover information for the
* item \a item. If currently other items are selected,
*/
void slotDeleteFileFinished(KJob* job);
- /**
- * Is invoked when the preview job has been finished and
- * set m_previewJob to 0.
- */
- void slotPreviewJobFinished(KJob* job);
-
private:
void loadDirectory(const KUrl& url, bool reload = false);
*/
bool isCutItem(const KFileItem& item) const;
- /** Applies an item effect to all cut items. */
- void applyCutItemEffect();
-
/**
* Returns true, if the ColumnView is activated. As the column view
* requires some special handling for iterating through directories,
}
private:
- /**
- * Remembers the original pixmap for an item before
- * the cut effect is applied.
- */
- struct CutItem
- {
- KUrl url;
- QPixmap pixmap;
- };
-
bool m_active;
bool m_showPreview;
bool m_loadingDirectory;
KDirLister* m_dirLister;
DolphinSortFilterProxyModel* m_proxyModel;
- KIO::PreviewJob* m_previewJob;
-
- QList<CutItem> m_cutItemsCache;
+ IconManager* m_iconManager;
KUrl m_rootUrl;
};