X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6072005ddce81b456fdcf2e77d5156a1d86f3686..ddbfe135ce9cec0033e9b6d26429c6e255f0b1b2:/src/global.h diff --git a/src/global.h b/src/global.h index 65247351a..81ade47fa 100644 --- a/src/global.h +++ b/src/global.h @@ -11,45 +11,70 @@ #include #include +class KConfigGroup; class OrgKdeDolphinMainWindowInterface; -namespace Dolphin { - QList validateUris(const QStringList& uriList); +namespace Dolphin +{ +QList validateUris(const QStringList &uriList); - /** - * Returns the home url which is defined in General Settings - */ - QUrl homeUrl(); +/** + * 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) +enum class OpenNewWindowFlag { None = 0, Select = 1 << 1 }; +Q_DECLARE_FLAGS(OpenNewWindowFlags, OpenNewWindowFlag) - /** - * Opens a new Dolphin window - */ - void openNewWindow(const QList &urls = {}, QWidget *window = nullptr, const OpenNewWindowFlags &flags = OpenNewWindowFlag::None); +/** + * Opens a new Dolphin window + */ +void openNewWindow(const QList &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& inputUrls, bool openFiles, bool splitView, const QString& preferredService = QString()); +/** + * 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 &inputUrls, bool openFiles, bool splitView, const QString &preferredService, const QString &activationToken); - /** - * Returns a QVector with all GUI-capable Dolphin instances - */ - QVector, QStringList>> dolphinGuiInstances(const QString& preferredService); +/** + * Returns a QVector with all GUI-capable Dolphin instances + */ +QVector, QStringList>> dolphinGuiInstances(const QString &preferredService); + +QPair sortOrderForUrl(QUrl &url); + +/** + * TODO: Use global KDE spacings instead of Dolphin-specific ones once we have them. + */ +constexpr int VERTICAL_SPACER_HEIGHT = 12; +constexpr int LAYOUT_SPACING_SMALL = 4; +} + +enum Animated { WithAnimation, WithoutAnimation }; + +class GlobalConfig : public QObject +{ + Q_OBJECT + +public: + GlobalConfig() = delete; /** - * TODO: Move this somewhere global to all KDE apps, not just Dolphin + * @return a value from the global KDE config that should be + * multiplied with every animation duration once. + * 0.0 is returned if animations are globally turned off. + * 1.0 is the default value. */ - const int VERTICAL_SPACER_HEIGHT = 12; - const int LAYOUT_SPACING_SMALL = 2; -} + static double animationDurationFactor(); + +private: + static void updateAnimationDurationFactor(const KConfigGroup &group, const QByteArrayList &names); + +private: + static double s_animationDurationFactor; +}; #endif //GLOBAL_H