]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewactionhandler.h
Let the user choose if folders are always shown first in the views of
[dolphin.git] / src / dolphinviewactionhandler.h
index a11d19bb188c3df98d60547374ff3a226794c093..91875ec0cd0838f181bba3de04228dd5605a5cbc 100644 (file)
 #ifndef DOLPHINVIEWACTIONHANDLER_H
 #define DOLPHINVIEWACTIONHANDLER_H
 
+#include "dolphinview.h"
 #include "libdolphin_export.h"
 #include <QtCore/QObject>
+class KToggleAction;
 class QAction;
 class QActionGroup;
 class DolphinView;
@@ -54,6 +56,22 @@ public:
      */
     void setCurrentView(DolphinView* view);
 
+    /**
+     * Returns the view that this action handler should work on.
+     */
+    DolphinView* currentView();
+
+    /**
+     * Returns the name of the action for the current viewmode
+     */
+    QString currentViewModeActionName() const;
+
+    /**
+     * Returns m_actionCollection
+     */
+    KActionCollection* actionCollection();
+
+public Q_SLOTS:
     /**
      * Update all actions in the 'View' menu, i.e. those that depend on the
      * settings in the current view.
@@ -67,12 +85,18 @@ Q_SIGNALS:
      */
     void actionBeingHandled();
 
+    /**
+     * Emitted if the user requested creating a new directory by the F10 key.
+     * The receiver of the signal (DolphinMainWindow or DolphinPart) invokes
+     * the method createDirectory of their KNewMenu instance.
+     */
+    void createDirectory();
+
 private Q_SLOTS:
     /**
-     * Opens the dialog for creating a directory. Is connected
-     * with the key shortcut for "new directory" (F10).
+     * Emitted when the user requested a change of view mode
      */
-    void slotCreateDir();
+    void slotViewModeActionTriggered(QAction*);
 
     /**
      * Let the user input a name for the selected item(s) and trigger
@@ -108,17 +132,40 @@ private Q_SLOTS:
     /** Switches between an ascending and descending sorting order. */
     void toggleSortOrder();
 
+    /** Switches between a separate sorting and a mixed sorting of files and folders. */
+    void toggleSortFoldersFirst();
+
     /**
      * Updates the state of the 'Sort Ascending/Descending' action.
      */
     void slotSortOrderChanged(Qt::SortOrder order);
 
+    /**
+     * Updates the state of the 'Sort Folders First' action.
+     */
+    void slotSortFoldersFirstChanged(bool foldersFirst);
+
+    /**
+     * Updates the state of the 'Sort by' actions.
+     */
+    void slotSortingChanged(DolphinView::Sorting sorting);
+
+    /**
+     * Updates the state of the 'Zoom In' and 'Zoom Out' actions.
+     */
+    void slotZoomLevelChanged(int level);
+
     /**
      * Switches on or off the displaying of additional information
      * as specified by \a action.
      */
     void toggleAdditionalInfo(QAction* action);
 
+    /**
+     * Changes the sorting of the current view.
+     */
+    void slotSortTriggered(QAction*);
+
     /**
      * Updates the state of the 'Additional Information' actions.
      */
@@ -144,6 +191,25 @@ private Q_SLOTS:
      */
     void slotShowHiddenFilesChanged();
 
+    /**
+     * Opens the view properties dialog, which allows to modify the properties
+     * of the currently active view.
+     */
+    void slotAdjustViewProperties();
+
+    /**
+     * Opens the Find File dialog for the currently shown directory.
+     */
+    void slotFindFile();
+
+    /**
+     * Connected to the "properties" action.
+     * Opens the properties dialog for the selected items of the
+     * active view. The properties dialog shows information
+     * like name, size and permissions.
+     */
+    void slotProperties();
+
 private:
     /**
      * Create all the actions.
@@ -156,10 +222,33 @@ private:
      */
     QActionGroup* createAdditionalInformationActionGroup();
 
+    /**
+     * Creates an action group with all the "sort by" actions in it.
+     * Helper method for createActions();
+     */
+    QActionGroup* createSortByActionGroup();
+
+    /**
+     * Returns the "switch to icons mode" action.
+     * Helper method for createActions();
+     */
+    KToggleAction* iconsModeAction();
+
+    /**
+     * Returns the "switch to details mode" action.
+     * Helper method for createActions();
+     */
+    KToggleAction* detailsModeAction();
+
+    /**
+     * Returns the "switch to columns mode" action.
+     * Helper method for createActions();
+     */
+    KToggleAction* columnsModeAction();
+
+
     KActionCollection* m_actionCollection;
     DolphinView* m_currentView;
 };
 
-
 #endif /* DOLPHINVIEWACTIONHANDLER_H */
-