X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/be9746e87bb6a42e641dbf36c528a60fb564420a..ec00f379dc42b00a64ab1af25bb4bb1a06bd7449:/src/dolphinview.h diff --git a/src/dolphinview.h b/src/dolphinview.h index 24c4f60a1..fa47ba8a5 100644 --- a/src/dolphinview.h +++ b/src/dolphinview.h @@ -22,6 +22,10 @@ #ifndef DOLPHINVIEW_H #define DOLPHINVIEW_H +#include + +#include "libdolphin_export.h" + #include #include #include @@ -60,7 +64,7 @@ class ViewProperties; * @see DolphinDetailsView * @see DolphinColumnView */ -class DolphinView : public QWidget +class LIBDOLPHINPRIVATE_EXPORT DolphinView : public QWidget { Q_OBJECT @@ -102,7 +106,9 @@ public: SortByOwner, SortByGroup, SortByType, - MaxSortEnum = SortByType + SortByRating, + SortByTags, + MaxSortEnum = SortByTags }; /** @@ -115,16 +121,12 @@ public: * @param proxyModel Used proxy model which specifies the sorting. The * model is not owned by the view and won't get * deleted. - * @param mode Used display mode (IconsView, DetailsView or ColumnsView). - * @param showHiddenFiles If true, hidden files will be shown in the view. */ DolphinView(QWidget* parent, const KUrl& url, KDirLister* dirLister, KDirModel* dirModel, - DolphinSortFilterProxyModel* proxyModel, - Mode mode = IconsView, - bool showHiddenFiles = false); + DolphinSortFilterProxyModel* proxyModel); virtual ~DolphinView(); @@ -199,12 +201,6 @@ public: */ bool supportsCategorizedSorting() const; - /** - * Triggers the renaming of the currently selected items, where - * the user must input a new name for the items. - */ - void renameSelectedItems(); - /** * Selects all items. * @see DolphinView::selectedItems() @@ -228,7 +224,7 @@ public: * selected. * @see DolphinView::selectedUrls() */ - KFileItemList selectedItems() const; + QList selectedItems() const; /** * Returns a list of URLs for all selected items. An empty list @@ -240,28 +236,17 @@ public: /** * Returns the file item for the given model index \a index. */ - KFileItem* fileItem(const QModelIndex index) const; + KFileItem fileItem(const QModelIndex& index) const; /** - * Renames the filename of the source URL by the new file name. - * If the new file name already exists, a dialog is opened which - * asks the user to enter a new name. - */ - void rename(const KUrl& source, const QString& newName); - - /** - * Returns the x-position of the view content. - * The content of the view might be larger than the visible area + * Sets the upper left position of the view content + * to (x,y). The content of the view might be larger than the visible area * and hence a scrolling must be done. */ - int contentsX() const; + void setContentsPosition(int x, int y); - /** - * Returns the y-position of the view content. - * The content of the view might be larger than the visible area - * and hence a scrolling must be done. - */ - int contentsY() const; + /** Returns the upper left position of the view content. */ + QPoint contentsPosition() const; /** Increases the size of the current set view mode. */ void zoomIn(); @@ -303,7 +288,7 @@ public: void reload(); /** - * Refreshs the view to get synchronized with the (updated) Dolphin settings. + * Refreshes the view to get synchronized with the (updated) Dolphin settings. * This method only needs to get invoked if the view settings for the Icons View, * Details View or Columns View have been changed. */ @@ -322,7 +307,7 @@ public slots: * will actually get selected. The view will e.g. not select items which * are not in the currently displayed folder. */ - void changeSelection(const KFileItemList& selection); + void changeSelection(const QList& selection); signals: /** @@ -333,6 +318,11 @@ signals: /** Is emitted if URL of the view has been changed to \a url. */ void urlChanged(const KUrl& url); + /** + * Is emitted when clicking on an item + */ + void itemTriggered(const KFileItem& item); + /** * Is emitted if the view mode (IconsView, DetailsView, * PreviewsView) has been changed. @@ -354,14 +344,14 @@ signals: /** Is emitted if the sort order (ascending or descending) has been changed. */ void sortOrderChanged(Qt::SortOrder order); - /** Is emitted if the addtional information for an item has been changed. */ + /** Is emitted if the additional information for an item has been changed. */ void additionalInfoChanged(KFileItemDelegate::AdditionalInformation info); /** * Is emitted if information of an item is requested to be shown e. g. in the sidebar. - * It the URL is empty, no item information request is pending. + * If item is null, no item information request is pending. */ - void requestItemInfo(const KUrl& url); + void requestItemInfo(const KFileItem& item); /** Is emitted if the contents has been moved to \a x, \a y. */ void contentsMoved(int x, int y); @@ -369,19 +359,14 @@ signals: /** * Is emitted whenever the selection has been changed. */ - void selectionChanged(const KFileItemList& selection); - - /** - * Is emitted whenever the filter bar has been turned show or hidden. - */ - void showFilterBarChanged(bool shown); + void selectionChanged(const QList& selection); /** * Is emitted if a context menu is requested for the item \a item, * which is part of \a url. If the item is 0, the context menu * for the URL should be shown. */ - void requestContextMenu(KFileItem* item, const KUrl& url); + void requestContextMenu(const KFileItem& item, const KUrl& url); /** * Is emitted if the URLs \a are dropped to the destination URL @@ -391,6 +376,18 @@ signals: */ void urlsDropped(const KUrl::List& urls, const KUrl& destination); + /** + * Is emitted if an information message with the content \a msg + * should be shown. + */ + void infoMessage(const QString& msg); + + /** + * Is emitted if an error message with the content \a msg + * should be shown. + */ + void errorMessage(const QString& msg); + protected: /** @see QWidget::mouseReleaseEvent */ virtual void mouseReleaseEvent(QMouseEvent* event); @@ -414,7 +411,7 @@ private slots: * The current preview settings (maximum size, 'Show Preview' menu) * are respected. */ - void generatePreviews(const KFileItemList& items); + void generatePreviews(const QList& items); /** * Replaces the icon of the item \a item by the preview pixmap @@ -422,12 +419,6 @@ private slots: */ void showPreview(const KFileItem& item, const QPixmap& pixmap); - /** - * Restores the x- and y-position of the contents if the - * current view is part of the history. - */ - void restoreContentsPos(); - void emitSelectionChangedSignal(); /** @@ -490,16 +481,25 @@ private: void startDirLister(const KUrl& url, bool reload = false); /** - * Creates a new view representing the given view mode (DolphinView::mode()). - * The current view will get deleted. + * Returns the URL where the view properties should be stored. Usually + * DolphinView::url() is returned, but in the case of a Column View the + * view properties are always stored in the directory represented by the + * first column. It is recommendend whenever using the ViewProperties class + * to use DolphinView::viewPropertiesUrl() as URL. */ - void createView(); + KUrl viewPropertiesUrl() const; /** - * Selects all items by using the selection flags \a flags. This is a helper - * method for the slots DolphinView::selectAll() and DolphinView::invertSelection(). + * Applies the view properties which are defined by the current URL + * m_url to the DolphinView properties. */ - void selectAll(QItemSelectionModel::SelectionFlags flags); + void applyViewProperties(const KUrl& url); + + /** + * Creates a new view representing the given view mode (DolphinView::mode()). + * The current view will get deleted. + */ + void createView(); /** * Returns a pointer to the currently used item view, which is either @@ -522,6 +522,12 @@ private: /** Applies an item effect to all cut items. */ void applyCutItemEffect(); + /** + * Updates the color of the viewport depending from the + * activation state (see DolphinView::isActive()). + */ + void updateViewportColor(); + /** * Returns true, if the ColumnView is activated. As the column view * requires some special handling for iterating through directories, @@ -544,7 +550,7 @@ private: }; bool m_active; - bool m_blockContentsMovedSignal; + bool m_loadingDirectory; bool m_initializeColumnView; Mode m_mode;