]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.h
allow to show/hide the menubar
[dolphin.git] / src / dolphinmainwindow.h
index 8970b89cb92e66e4918d08d46f736f0166d94de1..ef694513c3a37f609bc0c47e2c66e24173cf51d1 100644 (file)
 
 #include <config-nepomuk.h>
 
-#include <kxmlguiwindow.h>
+#include <kfileitemdelegate.h>
+#include <konq_fileundomanager.h>
 #include <ksortablelist.h>
-#include <konq_undo.h>
+#include <kxmlguiwindow.h>
 
 #include <QtCore/QList>
 
@@ -92,6 +93,12 @@ public:
      */
     KNewMenu* newMenu() const;
 
+    /**
+     * Returns the 'Show Menubar' action which can be shared with
+     * other menus (e. g. a context menu).
+     */
+    KAction* showMenuBarAction() const;
+
 public slots:
     /**
      * Handles the dropping of URLs to the given
@@ -122,7 +129,7 @@ public slots:
      * Inform all affected dolphin components that a selection change is
      * requested.
      */
-    void changeSelection(const QList<KFileItem>& selection);
+    void changeSelection(const KFileItemList& selection);
 
     /** Stores all settings and quits Dolphin. */
     void quit();
@@ -138,7 +145,7 @@ signals:
      * Is sent if the selection of the currently active view has
      * been changed.
      */
-    void selectionChanged(const QList<KFileItem>& selection);
+    void selectionChanged(const KFileItemList& selection);
 
     /**
      * Is sent if the url of the currently active view has
@@ -198,18 +205,6 @@ private slots:
      */
     void slotHandlePlacesError(const QString &message);
 
-    /**
-     * Shows the error information of the job \a job
-     * in the status bar.
-     */
-    void slotHandleJobError(KJob* job);
-
-    /**
-     * Indicates in the status bar that the delete operation
-     * of the job \a job has been finished.
-     */
-    void slotDeleteFileFinished(KJob* job);
-
     /**
      * Updates the state of the 'Undo' menu action dependent
      * from the parameter \a available.
@@ -250,14 +245,8 @@ private slots:
      */
     void invertSelection();
 
-    /** The current active view is switched to the icons mode. */
-    void setIconsView();
-
-    /** The current active view is switched to the details mode. */
-    void setDetailsView();
-
-    /** The current active view is switched to the column mode. */
-    void setColumnView();
+    /** 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();
@@ -292,20 +281,23 @@ private slots:
     /** Switches between sorting by categories or not. */
     void toggleSortCategorization();
 
-    /**
-     * Clears any additional information for an item except for the
-     * name and the icon.
-     */
-    void clearInfo();
+    /** 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();
 
-    /** Shows the MIME type as additional information for the item. */
-    void showMimeInfo();
+    /** Switchtes between showing the owner as additional information for the item or not. */
+    void toggleOwnerInfo();
 
-    /** Shows the size as additional information for the item. */
-    void showSizeInfo();
+    /** Switchtes between showing the group as additional information for the item or not. */
+    void toggleGroupInfo();
 
-    /** Shows the date as additional information for the item. */
-    void showDateInfo();
+    /** Switches between showing the MIME type as additional information for the item or not. */
+    void toggleMimeInfo();
 
     /**
      * Switches between one and two views:
@@ -376,6 +368,12 @@ private slots:
     /** Opens Kompare for 2 selected files. */
     void compareFiles();
 
+    /**
+     * Hides the menu bar if it is visible, makes the menu bar
+     * visible if it is hidden.
+     */
+    void toggleShowMenuBar();
+
     /** Opens the settings dialog for Dolphin. */
     void editSettings();
 
@@ -404,7 +402,7 @@ private slots:
      * Updates the state of the 'Edit' menu actions and emits
      * the signal selectionChanged().
      */
-    void slotSelectionChanged(const QList<KFileItem>& selection);
+    void slotSelectionChanged(const KFileItemList& selection);
 
     /** Emits the signal requestItemInfo(). */
     void slotRequestItemInfo(const KFileItem&);
@@ -424,6 +422,9 @@ private slots:
     /** Toggles the active view if two views are shown within the main window. */
     void toggleActiveView();
 
+    /** Called when the view is doing a file operation, like renaming, copying, moving etc. */
+    void slotDoingOperation(KonqFileUndoManager::CommandType type);
+
 private:
     DolphinMainWindow(int id);
     void init();
@@ -463,6 +464,14 @@ 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.
@@ -478,7 +487,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 KonqFileUndoManager::UiInterface
     {
     public:
         UndoUiInterface(DolphinMainWindow* mainWin);
@@ -490,6 +499,7 @@ private:
     };
 
     KNewMenu* m_newMenu;
+    KAction* m_showMenuBar;
     QSplitter* m_splitter;
     DolphinViewContainer* m_activeViewContainer;
     int m_id;
@@ -497,7 +507,7 @@ private:
     DolphinViewContainer* m_viewContainer[SecondaryView + 1];
 
     /// remember pending undo operations until they are finished
-    QList<KonqUndoManager::CommandType> m_undoCommandTypes;
+    QList<KonqFileUndoManager::CommandType> m_undoCommandTypes;
 };
 
 inline DolphinViewContainer* DolphinMainWindow::activeViewContainer() const
@@ -515,6 +525,11 @@ inline KNewMenu* DolphinMainWindow::newMenu() const
     return m_newMenu;
 }
 
+inline KAction* DolphinMainWindow::showMenuBarAction() const
+{
+    return m_showMenuBar;
+}
+
 inline int DolphinMainWindow::getId() const
 {
     return m_id;