]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.h
use "Sort by" instead of "Sort By"
[dolphin.git] / src / dolphinview.h
index 223c52dbfda3d0a257fef6ad882d6e5beb233766..fa47ba8a50980db9edbe41afdbb37747c138517c 100644 (file)
@@ -24,6 +24,8 @@
 
 #include <config-nepomuk.h>
 
+#include "libdolphin_export.h"
+
 #include <kparts/part.h>
 #include <kfileitem.h>
 #include <kfileitemdelegate.h>
@@ -62,7 +64,7 @@ class ViewProperties;
  * @see DolphinDetailsView
  * @see DolphinColumnView
  */
-class DolphinView : public QWidget
+class LIBDOLPHINPRIVATE_EXPORT DolphinView : public QWidget
 {
     Q_OBJECT
 
@@ -222,7 +224,7 @@ public:
      * selected.
      * @see DolphinView::selectedUrls()
      */
-    KFileItemList selectedItems() const;
+    QList<KFileItem> selectedItems() const;
 
     /**
      * Returns a list of URLs for all selected items. An empty list
@@ -234,7 +236,7 @@ public:
     /**
      * Returns the file item for the given model index \a index.
      */
-    KFileItem* fileItem(const QModelIndex index) const;
+    KFileItem fileItem(const QModelIndex& index) const;
 
     /**
      * Sets the upper left position of the view content
@@ -286,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.
      */
@@ -305,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<KFileItem>& selection);
 
 signals:
     /**
@@ -316,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.
@@ -342,9 +349,9 @@ signals:
 
     /**
      * 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);
@@ -352,14 +359,14 @@ signals:
     /**
      * Is emitted whenever the selection has been changed.
      */
-    void selectionChanged(const KFileItemList& selection);
+    void selectionChanged(const QList<KFileItem>& 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
@@ -404,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<KFileItem>& items);
 
     /**
      * Replaces the icon of the item \a item by the preview pixmap
@@ -473,6 +480,15 @@ private slots:
 private:
     void startDirLister(const KUrl& url, bool reload = false);
 
+    /**
+     * 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.
+     */
+    KUrl viewPropertiesUrl() const;
+
     /**
      * Applies the view properties which are defined by the current URL
      * m_url to the DolphinView properties.
@@ -485,12 +501,6 @@ private:
      */
     void createView();
 
-    /**
-     * Selects all items by using the selection flags \a flags. This is a helper
-     * method for the slots DolphinView::selectAll() and DolphinView::invertSelection().
-     */
-    void selectAll(QItemSelectionModel::SelectionFlags flags);
-
     /**
      * Returns a pointer to the currently used item view, which is either
      * a ListView or a TreeView.
@@ -512,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,