X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/5360bc3ab328c8b1161b0c5df9c5785829a3e880..aba4462e0238d6075e8822d56a78372eacfa7d2e:/src/global.cpp diff --git a/src/global.cpp b/src/global.cpp index 3d91fbab9..197d6ec28 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -9,7 +9,9 @@ #include "dolphin_generalsettings.h" #include "dolphindebug.h" #include "dolphinmainwindowinterface.h" +#include "views/viewproperties.h" +#include #include #include #include @@ -22,7 +24,7 @@ QList Dolphin::validateUris(const QStringList& uriList) { const QString currentDir = QDir::currentPath(); QList 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, QStringList>> Do return dolphinInterfaces; } + +QPair Dolphin::sortOrderForUrl(QUrl &url) +{ + ViewProperties globalProps(url); + return QPair(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;