- /**
- * 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());
+/**
+ * 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, const QString &activationToken);
+
+/**
+ * Returns a QVector with all GUI-capable Dolphin instances
+ */
+QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> dolphinGuiInstances(const QString &preferredService);
+
+QPair<QString, Qt::SortOrder> sortOrderForUrl(QUrl &url);
+
+/**
+ * TODO: Move this somewhere global to all KDE apps, not just Dolphin
+ */
+constexpr int VERTICAL_SPACER_HEIGHT = 12;
+constexpr int LAYOUT_SPACING_SMALL = 2;
+}
+
+enum Animated { WithAnimation, WithoutAnimation };
+
+class GlobalConfig : public QObject
+{
+ Q_OBJECT
+
+public:
+ GlobalConfig() = delete;