X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8eb9b508ca87fb1d634d8b8ba62c054ed04466d2..7165ea7afdf150600025f9c8ec28dadfe0b28406:/src/views/dolphinviewactionhandler.h diff --git a/src/views/dolphinviewactionhandler.h b/src/views/dolphinviewactionhandler.h index 72e768375..f931b3b9c 100644 --- a/src/views/dolphinviewactionhandler.h +++ b/src/views/dolphinviewactionhandler.h @@ -1,5 +1,6 @@ /*************************************************************************** * Copyright (C) 2008 by David Faure * + * Copyright (C) 2012 by Peter Penz * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -21,10 +22,9 @@ #ifndef DOLPHINVIEWACTIONHANDLER_H #define DOLPHINVIEWACTIONHANDLER_H -#include "libdolphin_export.h" -#include -#include +#include "dolphin_export.h" #include "views/dolphinview.h" + #include class KToggleAction; @@ -37,7 +37,7 @@ class KActionCollection; * @short Handles all actions for DolphinView * * The action handler owns all the actions and slots related to DolphinView, - * but can the view that is acts upon can be switched to another one + * but the view that it acts upon can be switched to another one * (this is used in the case of split views). * * The purpose of this class is also to share this code between DolphinMainWindow @@ -47,7 +47,7 @@ class KActionCollection; * @see DolphinMainWindow * @see DolphinPart */ -class LIBDOLPHINPRIVATE_EXPORT DolphinViewActionHandler : public QObject +class DOLPHIN_EXPORT DolphinViewActionHandler : public QObject { Q_OBJECT @@ -84,7 +84,7 @@ public Q_SLOTS: Q_SIGNALS: /** * Emitted by DolphinViewActionHandler when the user triggered an action. - * This is only used for clearining the statusbar in DolphinMainWindow. + * This is only used for clearing the statusbar in DolphinMainWindow. */ void actionBeingHandled(); @@ -93,7 +93,7 @@ Q_SIGNALS: * The receiver of the signal (DolphinMainWindow or DolphinPart) invokes * the method createDirectory of their KNewFileMenu instance. */ - void createDirectory(); + void createDirectoryTriggered(); private Q_SLOTS: /** @@ -111,7 +111,7 @@ private Q_SLOTS: * Moves the selected items of the active view to the trash. * This methods adds "shift means del" handling. */ - void slotTrashActivated(Qt::MouseButtons, Qt::KeyboardModifiers); + void slotTrashActivated(); /** * Deletes the selected items of the active view. @@ -124,16 +124,16 @@ private Q_SLOTS: void togglePreview(bool); /** Updates the state of the 'Show preview' menu action. */ - void slotShowPreviewChanged(); + void slotPreviewsShownChanged(bool shown); /** Increases the size of the current set view mode. */ void zoomIn(); /** Decreases the size of the current set view mode. */ void zoomOut(); - - /** Switches between an ascending and descending sorting order. */ - void toggleSortOrder(); + + /** Resets the size of the current set view mode to default. */ + void zoomReset(); /** Switches between a separate sorting and a mixed sorting of files and folders. */ void toggleSortFoldersFirst(); @@ -151,18 +151,18 @@ private Q_SLOTS: /** * Updates the state of the 'Sort by' actions. */ - void slotSortingChanged(DolphinView::Sorting sorting); + void slotSortRoleChanged(const QByteArray& role); /** * Updates the state of the 'Zoom In' and 'Zoom Out' actions. */ - void slotZoomLevelChanged(int level); + void slotZoomLevelChanged(int current, int previous); /** * Switches on or off the displaying of additional information * as specified by \a action. */ - void toggleAdditionalInfo(QAction* action); + void toggleVisibleRole(QAction* action); /** * Changes the sorting of the current view. @@ -172,17 +172,18 @@ private Q_SLOTS: /** * Updates the state of the 'Additional Information' actions. */ - void slotAdditionalInfoChanged(); + void slotVisibleRolesChanged(const QList& current, + const QList& previous); /** - * Switches between sorting by categories or not. + * Switches between sorting by groups or not. */ - void toggleSortCategorization(bool); + void toggleGroupedSorting(bool); /** * Updates the state of the 'Categorized sorting' menu action. */ - void slotCategorizedSortingChanged(); + void slotGroupedSortingChanged(bool sortCategorized); /** * Switches between showing and hiding of hidden marked files @@ -192,7 +193,12 @@ private Q_SLOTS: /** * Updates the state of the 'Show hidden files' menu action. */ - void slotShowHiddenFilesChanged(); + void slotHiddenFilesShownChanged(bool shown); + + /** + * Updates the state of the 'Create Folder...' action. + */ + void slotWriteStateChanged(bool isFolderWritable); /** * Opens the view properties dialog, which allows to modify the properties @@ -216,16 +222,14 @@ private: void createActions(); /** - * Creates an action group with all the "show additional information" actions in it. - * Helper method for createActions(); + * Creates an action-group out of all roles from KFileItemModel. + * Dependent on the group-prefix either a radiobutton-group is + * created for sorting (prefix is "sort_by_") or a checkbox-group + * is created for additional information (prefix is "show_"). + * The changes of actions are reported to slotSortTriggered() or + * toggleAdditionalInfo(). */ - QActionGroup* createAdditionalInformationActionGroup(); - - /** - * Creates an action group with all the "sort by" actions in it. - * Helper method for createActions(); - */ - QActionGroup* createSortByActionGroup(); + QActionGroup* createFileItemRolesActionGroup(const QString& groupPrefix); /** * Returns the "switch to icons mode" action. @@ -234,19 +238,22 @@ private: KToggleAction* iconsModeAction(); /** - * Returns the "switch to details mode" action. + * Returns the "switch to compact mode" action. * Helper method for createActions(); */ - KToggleAction* detailsModeAction(); + KToggleAction* compactModeAction(); /** - * Returns the "switch to columns mode" action. + * Returns the "switch to details mode" action. * Helper method for createActions(); */ - KToggleAction* columnsModeAction(); + KToggleAction* detailsModeAction(); KActionCollection* m_actionCollection; DolphinView* m_currentView; + + QHash m_sortByActions; + QHash m_visibleRoles; }; #endif /* DOLPHINVIEWACTIONHANDLER_H */