From 935b40d436419df06c33072de89ac6d989ed8e3b Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa Date: Sun, 14 Feb 2010 21:59:14 +0000 Subject: [PATCH] Use KGlobalSettings::graphicEffectsLevel in conjunction with OxygenConfiguration to determine if animations should be enabled. This allows to turn off all animations if the "graphical effects" combobox in "systemsettings->appearance->style->fine tunning" is set to either - Low display resolution and low CPU - High display resolution and low CPU BUG: 226668 svn path=/trunk/KDE/kdebase/workspace/; revision=1090208 --- clients/oxygen/oxygenclient.cpp | 2 +- clients/oxygen/oxygenclient.h | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/clients/oxygen/oxygenclient.cpp b/clients/oxygen/oxygenclient.cpp index a323df96b6..a2dd30ed4f 100644 --- a/clients/oxygen/oxygenclient.cpp +++ b/clients/oxygen/oxygenclient.cpp @@ -174,7 +174,7 @@ namespace Oxygen glowAnimation().data()->setDuration( configuration_.animationsDuration() ); titleAnimationData_.data()->setDuration( configuration_.animationsDuration() ); itemData_.animation().data()->setDuration( configuration_.animationsDuration() ); - itemData_.setAnimationsEnabled( configuration_.useAnimations() ); + itemData_.setAnimationsEnabled( useAnimations() ); // reset title transitions titleAnimationData_.data()->reset(); diff --git a/clients/oxygen/oxygenclient.h b/clients/oxygen/oxygenclient.h index 7636392784..6ad9b211d6 100644 --- a/clients/oxygen/oxygenclient.h +++ b/clients/oxygen/oxygenclient.h @@ -36,8 +36,10 @@ #include "lib/helper.h" #include -#include -#include +#include +#include +#include + namespace Oxygen { @@ -76,6 +78,16 @@ namespace Oxygen virtual bool isMaximized( void ) const { return maximizeMode()==MaximizeFull && !options()->moveResizeMaximizedWindows(); } + + //! true if animations are used + /*! this combines OxygenConfiguration and KGlobalSettings */ + bool useAnimations( void ) const + { + return + configuration().useAnimations() && + KGlobalSettings::graphicEffectsLevel() >= KGlobalSettings::SimpleAnimationEffects; + } + //! true if glow is animated bool glowIsAnimated( void ) const { return glowAnimation_.data()->isRunning(); } @@ -289,13 +301,13 @@ namespace Oxygen //! return true when activity change are animated bool animateActiveChange( void ) const - { return ( configuration().useAnimations() && !isPreview() ); } + { return ( useAnimations() && !isPreview() ); } //! return true when activity change are animated bool animateTitleChange( void ) const { return - configuration().useAnimations() && + useAnimations() && configuration().animateTitleChange() && !configuration().drawTitleOutline() && !configuration().hideTitleBar() &&