]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.h
Fix temporary regression of sorting introduced by SVN commit 1126410
[dolphin.git] / src / dolphinview.h
index 95a2ad3b1ced3a30366ea1df4851bb1f44eb5c1f..352841f4a0a28746bf8e36dee3153e1f40790405 100644 (file)
 
 typedef KIO::FileUndoManager::CommandType CommandType;
 
-class DolphinController;
 class DolphinColumnViewContainer;
 class DolphinDetailsView;
 class DolphinIconsView;
 class DolphinModel;
 class DolphinSortFilterProxyModel;
+class DolphinViewController;
 class KFilePreviewGenerator;
 class KAction;
 class KActionCollection;
 class KDirLister;
 class KUrl;
+class ViewModeController;
 class ViewProperties;
 class DolphinDetailsViewExpander;
 
@@ -112,7 +113,9 @@ public:
         SortByOwner,
         SortByGroup,
         SortByType,
-        MaxSortEnum = SortByType
+        SortByDestination,
+        SortByPath,
+        MaxSortingEnum = SortByPath
     };
 
     /**
@@ -132,7 +135,7 @@ public:
      * Returns the current active URL, where all actions are applied.
      * The URL navigator is synchronized with this URL.
      */
-    const KUrl& url() const;
+    KUrl url() const;
 
     /**
      * Returns the root URL of the view, which is defined as the first
@@ -208,23 +211,6 @@ public:
 
     QItemSelectionModel* selectionModel() const;
 
-    /**
-     * 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.
-     */
-    void setContentsPosition(int x, int y);
-
-    /**
-     * Sets the upper left position of the view content
-     * to (x,y) after the directory loading is finished.
-     * This is useful when going back or forward in history.
-     */
-    void setRestoredContentsPosition(const QPoint& pos);
-
-    /** Returns the upper left position of the view content. */
-    QPoint contentsPosition() const;
-
     /**
      * Sets the zoom level to \a level. It is assured that the used
      * level is adjusted to be inside the range ZoomLevelInfo::minimumLevel() and
@@ -279,16 +265,6 @@ public:
      */
     void refresh();
 
-    /**
-     * Changes the directory of the view to \a url. If \a rootUrl is empty, the view
-     * properties from \a url are used for adjusting the view mode and the other properties.
-     * If \a rootUrl is not empty, the view properties from the root URL are considered
-     * instead. Specifying a root URL is only required if a view having a different root URL
-     * (e. g. the column view) should be restored. Usually using DolphinView::setUrl()
-     * is enough for changing the current URL.
-     */
-    void updateView(const KUrl& url, const KUrl& rootUrl);
-
     /**
      * Filters the currently shown items by \a nameFilter. All items
      * which contain the given filter string will be shown.
@@ -338,15 +314,6 @@ public:
     void setTabsForFilesEnabled(bool tabsForFiles);
     bool isTabsForFilesEnabled() const;
 
-    /**
-     * Marks the item \a url as active item as soon as it has
-     * been loaded by the directory lister. This is useful mark
-     * the previously visited directory as active when going
-     * back in history (the URL is known, but the item is not
-     * loaded yet).
-     */
-    void activateItem(const KUrl& url);
-
     /**
      * Returns true if the current view allows folders to be expanded,
      * i.e. presents a hierarchical view to the user.
@@ -356,12 +323,12 @@ public:
     /**
      * Restores the view state (current item, contents position, details view expansion state)
      */
-    void restoreState(QDataStream &stream);
+    void restoreState(QDataStreamstream);
 
     /**
      * Saves the view state (current item, contents position, details view expansion state)
      */
-    void saveState(QDataStream &stream);
+    void saveState(QDataStreamstream);
 
 public slots:
     /**
@@ -471,12 +438,6 @@ signals:
     /** Is emitted if URL of the view has been changed to \a url. */
     void urlChanged(const KUrl& url);
 
-    /**
-     * Is emitted if the view requests a changing of the current
-     * URL to \a url (see DolphinController::triggerUrlChangeRequest()).
-     */
-    void requestUrlChange(const KUrl& url);
-
     /**
      * Is emitted when clicking on an item with the left mouse button.
      */
@@ -523,9 +484,6 @@ signals:
      */
     void requestItemInfo(const KFileItem& item);
 
-    /** Is emitted if the contents has been moved to \a x, \a y. */
-    void contentsMoved(int x, int y);
-
     /**
      * Is emitted whenever the selection has been changed.
      */
@@ -647,12 +605,6 @@ private slots:
      */
     void updateAdditionalInfo(const KFileItemDelegate::InformationList& info);
 
-    /**
-     * Emits the signal contentsMoved with the current coordinates
-     * of the viewport as parameters.
-     */
-    void emitContentsMoved();
-
     /**
      * Updates the status bar to show hover information for the
      * item \a item. If currently other items are selected,
@@ -673,12 +625,6 @@ private slots:
      */
     void slotDeleteFileFinished(KJob* job);
 
-    /**
-     * Is emitted if the controller requests a changing of the current
-     * URL to \a url
-     */
-    void slotRequestUrlChange(const KUrl& url);
-
     /**
      * Invoked when the directory lister has completed the loading of
      * items. Assures that pasted items and renamed items get seleced.
@@ -784,7 +730,10 @@ private:
         ViewAccessor(DolphinSortFilterProxyModel* proxyModel);
         ~ViewAccessor();
 
-        void createView(QWidget* parent, DolphinController* controller, Mode mode);
+        void createView(QWidget* parent,
+                        DolphinViewController* dolphinViewController,
+                        const ViewModeController* viewModeController,
+                        Mode mode);
         void deleteView();
 
         /**
@@ -832,7 +781,6 @@ private:
 
     bool m_active : 1;
     bool m_showPreview : 1;
-    bool m_loadingDirectory : 1;
     bool m_storedCategorizedSorting : 1;
     bool m_tabsForFiles : 1;
     bool m_isContextMenuOpen : 1;   // TODO: workaround for Qt-issue 207192
@@ -844,7 +792,8 @@ private:
 
     QVBoxLayout* m_topLayout;
 
-    DolphinController* m_controller;
+    DolphinViewController* m_dolphinViewController;
+    ViewModeController* m_viewModeController;
     ViewAccessor m_viewAccessor;
 
     QItemSelectionModel* m_selectionModel; // allow to switch views without losing the selection