]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/global.cpp
Add support for hover sequence thumbnails (via ThumbSequenceCreator)
[dolphin.git] / src / global.cpp
index 3d91fbab9e27a1b8100eff31307bf431027e97eb..197d6ec288f5e1b88ca0a9b3d129154293d4fbb3 100644 (file)
@@ -9,7 +9,9 @@
 #include "dolphin_generalsettings.h"
 #include "dolphindebug.h"
 #include "dolphinmainwindowinterface.h"
+#include "views/viewproperties.h"
 
+#include <KConfigWatcher>
 #include <KDialogJobUiDelegate>
 #include <KIO/ApplicationLauncherJob>
 #include <KService>
@@ -22,7 +24,7 @@ QList<QUrl> Dolphin::validateUris(const QStringList& uriList)
 {
     const QString currentDir = QDir::currentPath();
     QList<QUrl> urls;
-    foreach (const QString& str, uriList) {
+    for (const QString& str : uriList) {
         const QUrl url = QUrl::fromUserInput(str, currentDir, QUrl::AssumeLocalFile);
         if (url.isValid()) {
             urls.append(url);
@@ -138,3 +140,35 @@ QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> Do
 
     return dolphinInterfaces;
 }
+
+QPair<QString, Qt::SortOrder> Dolphin::sortOrderForUrl(QUrl &url)
+{
+    ViewProperties globalProps(url);
+    return QPair<QString, Qt::SortOrder>(globalProps.sortRole(), globalProps.sortOrder());
+}
+
+double GlobalConfig::animationDurationFactor()
+{
+    if (s_animationDurationFactor >= 0.0) {
+        return s_animationDurationFactor;
+    }
+    // This is the first time this method is called.
+    auto kdeGlobalsConfig = KConfigGroup(KSharedConfig::openConfig(), QStringLiteral("KDE"));
+    updateAnimationDurationFactor(kdeGlobalsConfig, {"AnimationDurationFactor"});
+
+    KConfigWatcher::Ptr configWatcher = KConfigWatcher::create(KSharedConfig::openConfig());
+    connect(configWatcher.data(), &KConfigWatcher::configChanged,
+            &GlobalConfig::updateAnimationDurationFactor);
+    return s_animationDurationFactor;
+}
+
+void GlobalConfig::updateAnimationDurationFactor(const KConfigGroup &group, const QByteArrayList &names)
+{
+    if (group.name() == QLatin1String("KDE") &&
+        names.contains(QByteArrayLiteral("AnimationDurationFactor"))) {
+        s_animationDurationFactor = std::max(0.0,
+                group.readEntry("AnimationDurationFactor", 1.0));
+    }
+}
+
+double GlobalConfig::s_animationDurationFactor = -1.0;