X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/be9746e87bb6a42e641dbf36c528a60fb564420a..ec00f379dc42b00a64ab1af25bb4bb1a06bd7449:/src/dolphinmainwindow.h diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h index c4e303be3..81b8f02c1 100644 --- a/src/dolphinmainwindow.h +++ b/src/dolphinmainwindow.h @@ -25,6 +25,8 @@ #include "dolphinview.h" #include "sidebarpage.h" +#include + #include #include #include @@ -53,27 +55,33 @@ public: virtual ~DolphinMainWindow(); /** - * Activates the given view, which means that - * all menu actions are applied to this view. When - * having a split view setup the nonactive view + * Returns the currently active view. + * All menu actions are applied to this view. When + * having a split view setup, the nonactive view * is usually shown in darker colors. */ - void setActiveView(DolphinViewContainer* view); + inline DolphinViewContainer* activeViewContainer() const; /** - * Returns the currently active view. See - * DolphinMainWindow::setActiveView() for more details. + * Returns true, if the main window contains two instances + * of a view container. The active view constainer can be + * accessed by DolphinMainWindow::activeViewContainer(). */ - DolphinViewContainer* activeViewContainer() const - { - return m_activeViewContainer; - } + inline bool isSplit() const; + + /** + * If the main window contains two instances of a view container + * (DolphinMainWindow::isSplit() returns true), then the + * two views get toggled (the right view is on the left, the left + * view on the right). + */ + void toggleViews(); /** Renames the item represented by \a oldUrl to \a newUrl. */ void rename(const KUrl& oldUrl, const KUrl& newUrl); /** - * Refreshs the views of the main window by recreating them dependent from + * Refreshes the views of the main window by recreating them dependent from * the given Dolphin settings. */ void refreshViews(); @@ -82,10 +90,7 @@ public: * Returns the 'Create New...' sub menu which also can be shared * with other menus (e. g. a context menu). */ - KNewMenu* newMenu() const - { - return m_newMenu; - } + inline KNewMenu* newMenu() const; public slots: /** @@ -105,10 +110,7 @@ public slots: /** * Returns the main window ID used through DBus. */ - int getId() const - { - return m_id; - } + inline int getId() const; /** * Inform all affected dolphin components (sidebars, views) of an URL @@ -120,7 +122,7 @@ public slots: * Inform all affected dolphin components that a selection change is * requested. */ - void changeSelection(const KFileItemList& selection); + void changeSelection(const QList& selection); /** Stores all settings and quits Dolphin. */ void quit(); @@ -136,7 +138,7 @@ signals: * Is sent if the selection of the currently active view has * been changed. */ - void selectionChanged(const KFileItemList& selection); + void selectionChanged(const QList& selection); /** * Is sent if the url of the currently active view has @@ -146,9 +148,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); protected: /** @see QMainWindow::closeEvent */ @@ -190,6 +192,12 @@ private slots: */ void properties(); + /** + * Shows the error information from the places model + * in the status bar. + */ + void slotHandlePlacesError(const QString &message); + /** * Shows the error information of the job \a job * in the status bar. @@ -272,6 +280,12 @@ private slots: /** 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(); @@ -390,10 +404,10 @@ private slots: * Updates the state of the 'Edit' menu actions and emits * the signal selectionChanged(). */ - void slotSelectionChanged(const KFileItemList& selection); + void slotSelectionChanged(const QList& selection); /** Emits the signal requestItemInfo(). */ - void slotRequestItemInfo(const KUrl& url); + void slotRequestItemInfo(const KFileItem&); /** * Updates the state of the 'Back' and 'Forward' menu @@ -413,9 +427,15 @@ private slots: private: DolphinMainWindow(int id); void init(); - void loadSettings(); - void setupAccel(); + /** + * Activates the given view, which means that + * all menu actions are applied to this view. When + * having a split view setup, the nonactive view + * is usually shown in darker colors. + */ + void setActiveViewContainer(DolphinViewContainer* view); + void setupActions(); void setupDockWidgets(); void updateHistory(); @@ -437,21 +457,20 @@ private: /** * Updates the text of the split action: - * If \a isSplit is true, the text is set to "Split", + * If two views are shown, the text is set to "Split", * otherwise the text is set to "Join". The icon - * is updated to match with the text. + * is updated to match with the text and the currently active view. */ - void updateSplitAction(bool isSplit); + void updateSplitAction(); private: /** - * DolphinMainWindowsupports only one or two views, which - * are handled internally as primary and secondary view. + * DolphinMainWindow supports up to two views beside each other. */ enum ViewIndex { - PrimaryIdx = 0, - SecondaryIdx = 1 + PrimaryView = 0, ///< View shown on the left side of the main window. + SecondaryView = 1 ///< View shown on the left side of the main window. }; /** @@ -459,7 +478,7 @@ private: * assures that all errors are shown in the status bar of Dolphin * instead as modal error dialog with an OK button. */ -class UndoUiInterface : public KonqUndoManager::UiInterface + class UndoUiInterface : public KonqUndoManager::UiInterface { public: UndoUiInterface(DolphinMainWindow* mainWin); @@ -475,11 +494,31 @@ class UndoUiInterface : public KonqUndoManager::UiInterface DolphinViewContainer* m_activeViewContainer; int m_id; - DolphinViewContainer* m_viewContainer[SecondaryIdx + 1]; + DolphinViewContainer* m_viewContainer[SecondaryView + 1]; /// remember pending undo operations until they are finished QList m_undoCommandTypes; }; +DolphinViewContainer* DolphinMainWindow::activeViewContainer() const +{ + return m_activeViewContainer; +} + +bool DolphinMainWindow::isSplit() const +{ + return m_viewContainer[SecondaryView] != 0; +} + +KNewMenu* DolphinMainWindow::newMenu() const +{ + return m_newMenu; +} + +int DolphinMainWindow::getId() const +{ + return m_id; +} + #endif // DOLPHIN_MAINWINDOW_H