]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.h
Merge branch 'Applications/19.08'
[dolphin.git] / src / dolphinmainwindow.h
index 1e2460768bdfb7488c6a8c8cb501020ecbd47b50..dcfd9bce2dd022414c899616d705bd230c7bdc78 100644 (file)
@@ -46,6 +46,7 @@ class KFileItem;
 class KFileItemList;
 class KJob;
 class KNewFileMenu;
+class KHelpMenu;
 class QToolButton;
 class QIcon;
 class PlacesPanel;
@@ -101,6 +102,39 @@ public:
     void setTabsToHomeIfMountPathOpen(const QString& mountPath);
 
 public slots:
+    /**
+     * Opens each directory in \p dirs in a separate tab. If \a splitView is set,
+     * 2 directories are collected within one tab.
+     * \pre \a dirs must contain at least one url.
+     *
+     * @note this function is overloaded so that it is callable via DBus.
+     */
+    void openDirectories(const QStringList &dirs, bool splitView);
+
+    /**
+     * Opens the directories which contain the files \p files and selects all files.
+     * If \a splitView is set, 2 directories are collected within one tab.
+     * \pre \a files must contain at least one url.
+     *
+     * @note this is overloaded so that this function is callable via DBus.
+     */
+    void openFiles(const QStringList &files, bool splitView);
+
+    /**
+     * Tries to raise/activate the Dolphin window.
+     */
+    void activateWindow();
+
+    /**
+     * Determines if a URL is open in any tab.
+     * @note Use of QString instead of QUrl is required to be callable via DBus.
+     *
+     * @param url URL to look for
+     * @returns true if url is currently open in a tab, false otherwise.
+     */
+    bool isUrlOpen(const QString &url);
+
+
     /**
      * Pastes the clipboard data into the currently selected folder
      * of the active view. If not exactly one folder is selected,
@@ -172,6 +206,11 @@ protected:
     /** @see KMainWindow::readProperties() */
     void readProperties(const KConfigGroup& group) override;
 
+    /** Handles QWhatsThisClickedEvent and passes all others on. */
+    bool event(QEvent* event) override;
+    /** Handles QWhatsThisClickedEvent and passes all others on. */
+    bool eventFilter(QObject*, QEvent*) override;
+
 private slots:
     /**
      * Refreshes the views of the main window by recreating them according to
@@ -463,8 +502,16 @@ private slots:
     void slotToolBarActionMiddleClicked(QAction *action);
 
 private:
+    /**
+     * Sets up the various menus and actions and connects them.
+     */
     void setupActions();
+
+    /**
+     * Sets up the dock widgets and their panels.
+     */
     void setupDockWidgets();
+
     void updateEditActions();
     void updateViewActions();
     void updateGoActions();
@@ -508,6 +555,9 @@ private:
                            QAction* dockAction,
                            const QString& actionName);
 
+    /** Adds "What's This?" texts to many widgets and StandardActions. */
+    void setupWhatsThis();
+
 private:
     /**
      * Implements a custom error handling for the undo manager. This
@@ -523,6 +573,7 @@ private:
     };
 
     KNewFileMenu* m_newFileMenu;
+    KHelpMenu* m_helpMenu;
     DolphinTabWidget* m_tabWidget;
     DolphinViewContainer* m_activeViewContainer;