]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/global.h
Add support to tags: scheme in DolphinQuery
[dolphin.git] / src / global.h
index 0ac2e9acb6010d4dac8371f6d621177f9f08a9b5..daf86134e435265cc834de4bd49d7cef3c906ea8 100644 (file)
@@ -22,6 +22,9 @@
 
 #include <QList>
 #include <QUrl>
+#include <QWidget>
+
+class OrgKdeDolphinMainWindowInterface;
 
 namespace Dolphin {
     QList<QUrl> validateUris(const QStringList& uriList);
@@ -30,6 +33,36 @@ namespace Dolphin {
      * Returns the home url which is defined in General Settings
      */
     QUrl homeUrl();
+
+    enum class OpenNewWindowFlag {
+        None = 0,
+        Select = 1<<1
+    };
+    Q_DECLARE_FLAGS(OpenNewWindowFlags, OpenNewWindowFlag)
+
+    /**
+     * Opens a new Dolphin window
+     */
+    void openNewWindow(const QList<QUrl> &urls = {}, QWidget *window = nullptr, const OpenNewWindowFlags &flags = OpenNewWindowFlag::None);
+
+    /**
+     * Attaches URLs to an existing Dolphin instance if possible.
+     * If @p preferredService is a valid dbus service, it will be tried first.
+     * @p preferredService needs to support the org.kde.dolphin.MainWindow dbus interface with the /dolphin/Dolphin_1 path.
+     * Returns true if the URLs were successfully attached.
+     */
+    bool attachToExistingInstance(const QList<QUrl>& inputUrls, bool openFiles, bool splitView, const QString& preferredService = QString());
+
+    /**
+     * Returns a QVector with all GUI-capable Dolphin instances
+     */
+    QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> dolphinGuiInstances(const QString& preferredService);
+
+    /**
+     * TODO: Move this somewhere global to all KDE apps, not just Dolphin
+     */
+    const int VERTICAL_SPACER_HEIGHT = 18;
+    const int LAYOUT_SPACING_SMALL = 2;
 }
 
 #endif //GLOBAL_H