diff --git a/kdecoration/config/breezeconfigwidget.cpp b/kdecoration/config/breezeconfigwidget.cpp --- a/kdecoration/config/breezeconfigwidget.cpp +++ b/kdecoration/config/breezeconfigwidget.cpp @@ -125,6 +125,15 @@ m_internalSettings->setShadowStrength( qRound( qreal(m_ui.shadowStrength->value()*255)/100 ) ); m_internalSettings->setShadowColor( m_ui.shadowColor->color() ); + // Store in the global animation settings + KSharedConfig::Ptr config = KSharedConfig::openConfig(); + KConfigGroup cg(config, QStringLiteral("KDE")); + if (m_ui.animationsEnabled->isChecked()) { + cg.writeEntry("AnimationDurationFactor", m_ui.animationsDuration->value()); + } else { + cg.writeEntry("AnimationDurationFactor", 0); + } + // save configuration m_internalSettings->save(); diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp --- a/kstyle/breezestyle.cpp +++ b/kstyle/breezestyle.cpp @@ -1382,6 +1382,18 @@ // load helper configuration _helper->loadConfig(); + // Load global animation settings + KSharedConfig::Ptr config = KSharedConfig::openConfig(); + const KConfigGroup cg(config, QStringLiteral("KDE")); + + const int animationsDuration = cg.readEntry("AnimationDurationFactor", StyleConfigData::animationsDuration() / 100.0f) * 100; + if (animationsDuration > 0) { + StyleConfigData::setAnimationsDuration(animationsDuration); + StyleConfigData::setAnimationsEnabled(true); + } else { + StyleConfigData::setAnimationsEnabled(false); + } + // reinitialize engines _animations->setupEngines(); _windowManager->initialize();