]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.h
Provide the "sort by" actions in dolphinpart (konqueror); share and simplify the...
[dolphin.git] / src / dolphinmainwindow.h
index 278ffffc74fc783c4be66677dd6c01fd38f59f74..a7204703997619f3870a1d7f3f09942a9a3ac036 100644 (file)
@@ -34,6 +34,8 @@
 
 #include <QtCore/QList>
 
+class KAction;
+class DolphinViewActionHandler;
 class DolphinApplication;
 class DolphinViewContainer;
 class KNewMenu;
@@ -102,14 +104,7 @@ public:
 public slots:
     /**
      * Handles the dropping of URLs to the given
-     * destination. A context menu with the options
-     * 'Move Here', 'Copy Here', 'Link Here' and
-     * 'Cancel' is offered to the user.
-     * @param urls        List of URLs which have been
-     *                    dropped.
-     * @param destination Destination URL, where the
-     *                    list or URLs should be moved,
-     *                    copied or linked to.
+     * destination. This is only called by the TreeViewSidebarPage.
      */
     void dropUrls(const KUrl::List& urls,
                   const KUrl& destination);
@@ -160,38 +155,21 @@ signals:
     void requestItemInfo(const KFileItem& item);
 
 protected:
-    /** @see QMainWindow::closeEvent */
+    /** @see QMainWindow::closeEvent() */
     virtual void closeEvent(QCloseEvent* event);
 
-    /**
-     * This method is called when it is time for the app to save its
-     * properties for session management purposes.
-     */
-    void saveProperties(KConfig*);
+    /** @see KMainWindow::saveProperties() */
+    virtual void saveProperties(KConfigGroup& group);
 
-    /**
-     * This method is called when this app is restored.  The KConfig
-     * object points to the session management config file that was saved
-     * with @ref saveProperties
-     */
-    void readProperties(KConfig*);
+    /** @see KMainWindow::readProperties() */
+    virtual void readProperties(const KConfigGroup& group);
 
 private slots:
+    void clearStatusBar();
+
     /** Updates the 'Create New...' sub menu. */
     void updateNewMenu();
 
-    /**
-     * Let the user input a name for the selected item(s) and trigger
-     * a renaming afterwards.
-     */
-    void rename();
-
-    /** Moves the selected items of the active view to the trash. */
-    void moveToTrash();
-
-    /** Deletes the selected items of the active view. */
-    void deleteItems();
-
     /**
      * Opens the properties window for the selected items of the
      * active view. The properties windows shows information
@@ -245,60 +223,6 @@ private slots:
      */
     void invertSelection();
 
-    /** The current active view is switched to a new view mode. */
-    void setViewMode(QAction *);
-
-    /** The sorting of the current view should be done by the name. */
-    void sortByName();
-
-    /** The sorting of the current view should be done by the size. */
-    void sortBySize();
-
-    /** The sorting of the current view should be done by the date. */
-    void sortByDate();
-
-    /** The sorting of the current view should be done by the permissions. */
-    void sortByPermissions();
-
-    /** The sorting of the current view should be done by the owner. */
-    void sortByOwner();
-
-    /** The sorting of the current view should be done by the group. */
-    void sortByGroup();
-
-    /** The sorting of the current view should be done by the type. */
-    void sortByType();
-
-    /** The sorting of the current view should be done by the rating. */
-    void sortByRating();
-
-    /** The sorting of the current view should be done by tags. */
-    void sortByTags();
-
-    /** Switches between an ascending and descending sorting order. */
-    void toggleSortOrder();
-
-    /** Switches between sorting by categories or not. */
-    void toggleSortCategorization();
-
-    /** Switches between showing the size as additional information for the item or not. */
-    void toggleSizeInfo();
-
-    /** Switchtes between showing the date as additional information for the item or not. */
-    void toggleDateInfo();
-
-    /** Switchtes between showing the permissions as additional information for the item or not. */
-    void togglePermissionsInfo();
-
-    /** Switchtes between showing the owner as additional information for the item or not. */
-    void toggleOwnerInfo();
-
-    /** Switchtes between showing the group as additional information for the item or not. */
-    void toggleGroupInfo();
-
-    /** Switches between showing the MIME type as additional information for the item or not. */
-    void toggleMimeInfo();
-
     /**
      * Switches between one and two views:
      * If one view is visible, it will get split into two views.
@@ -312,29 +236,13 @@ private slots:
     /** Stops the loading process for the current active view. */
     void stopLoading();
 
-    /** Switches between showing a preview of the file content and showing the icon. */
-    void togglePreview();
-
-    /**
-     * Switches between showing and hiding of hidden marked files dependent
-     * from the current state of the 'Show Hidden Files' menu toggle action.
-     */
-    void toggleShowHiddenFiles();
-
     /**
-     * Toggles between showing and hiding of the filter bar dependent
-     * from the current state of the 'Show Filter Bar' menu toggle action.
+     * Toggles between showing and hiding of the filter bar
      */
-    void toggleFilterBarVisibility();
-
-    /** Increases the size of the current set view mode. */
-    void zoomIn();
-
-    /** Decreases the size of the current set view mode. */
-    void zoomOut();
+    void toggleFilterBarVisibility(bool show);
 
     /**
-     * Toggles between edit and brose mode of the navigation bar.
+     * Toggles between edit and browse mode of the navigation bar.
      */
     void toggleEditLocation();
 
@@ -377,26 +285,8 @@ private slots:
     /** Opens the settings dialog for Dolphin. */
     void editSettings();
 
-    /** Updates the state of all 'View' menu actions. */
-    void slotViewModeChanged();
-
-    /** Updates the state of the 'Show preview' menu action. */
-    void slotShowPreviewChanged();
-
-    /** Updates the state of the 'Show hidden files' menu action. */
-    void slotShowHiddenFilesChanged();
-
-    /** Updates the state of the 'Categorized sorting' menu action. */
-    void slotCategorizedSortingChanged();
-
-    /** Updates the state of the 'Sort by' actions. */
-    void slotSortingChanged(DolphinView::Sorting sorting);
-
-    /** Updates the state of the 'Sort Ascending/Descending' action. */
-    void slotSortOrderChanged(Qt::SortOrder order);
-
-    /** Updates the state of the 'Additional Information' actions. */
-    void slotAdditionalInfoChanged(KFileItemDelegate::InformationList info);
+    /** Updates the state of the 'Show Full Location' action. */
+    void slotEditableStateChanged(bool editable);
 
     /**
      * Updates the state of the 'Edit' menu actions and emits
@@ -443,7 +333,6 @@ private:
     void updateEditActions();
     void updateViewActions();
     void updateGoActions();
-    void clearStatusBar();
 
     /**
      * Connects the signals from the created DolphinView with
@@ -461,14 +350,6 @@ private:
      */
     void updateSplitAction();
 
-    /**
-     * Helper method for the slots toggleDateInfo(), toggleSizeInfo()
-     * and toggleMimeInfo(). Applies \a info dependent from the  current
-     * checked state of the action \a actionName to the file item delegate.
-     */
-    void toggleAdditionalInfo(const char* actionName,
-                              KFileItemDelegate::Information info);
-
 private:
     /**
      * DolphinMainWindow supports up to two views beside each other.
@@ -503,6 +384,8 @@ private:
 
     DolphinViewContainer* m_viewContainer[SecondaryView + 1];
 
+    DolphinViewActionHandler* m_actionHandler;
+
     /// remember pending undo operations until they are finished
     QList<KonqFileUndoManager::CommandType> m_undoCommandTypes;
 };