diff --git a/effects/glide/CMakeLists.txt b/effects/glide/CMakeLists.txt index 75a834c208..ff893dce78 100644 --- a/effects/glide/CMakeLists.txt +++ b/effects/glide/CMakeLists.txt @@ -6,6 +6,8 @@ set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources} glide/glide.cpp ) +kde4_add_kcfg_files(kwin4_effect_builtins_sources glide/glideconfig.kcfgc) + # .desktop files install( FILES glide/glide.desktop @@ -19,6 +21,8 @@ set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources glide/glide_config.cpp glide/glide_config.ui ) +kde4_add_kcfg_files(kwin4_effect_builtins_config_sources glide/glideconfig.kcfgc) + # .desktop files install( FILES glide/glide_config.desktop diff --git a/effects/glide/glide.cpp b/effects/glide/glide.cpp index fea4185d25..540844fece 100644 --- a/effects/glide/glide.cpp +++ b/effects/glide/glide.cpp @@ -21,8 +21,9 @@ along with this program. If not, see . *********************************************************************/ #include "glide.h" +// KConfigSkeleton +#include "glideconfig.h" -#include #include // Effect is based on fade effect by Philip Falkner @@ -58,10 +59,11 @@ bool GlideEffect::supported() void GlideEffect::reconfigure(ReconfigureFlags) { - KConfigGroup conf = effects->effectConfig("Glide"); - duration = animationTime(conf, "AnimationTime", 350); - effect = (EffectStyle) conf.readEntry("GlideEffect", 0); - angle = conf.readEntry("GlideAngle", -90); + // Fetch config with KConfigXT + GlideConfig::self()->readConfig(); + duration = animationTime(GlideConfig::duration() != 0 ? GlideConfig::duration() : 350); + effect = (EffectStyle) GlideConfig::glideEffect(); + angle = GlideConfig::glideAngle(); } void GlideEffect::prePaintScreen(ScreenPrePaintData& data, int time) diff --git a/effects/glide/glide.kcfg b/effects/glide/glide.kcfg new file mode 100644 index 0000000000..a3fd1124e3 --- /dev/null +++ b/effects/glide/glide.kcfg @@ -0,0 +1,18 @@ + + + + + + 0 + + + 0 + + + -90 + + + diff --git a/effects/glide/glide_config.cpp b/effects/glide/glide_config.cpp index cad00d6948..a2e6a6b03f 100644 --- a/effects/glide/glide_config.cpp +++ b/effects/glide/glide_config.cpp @@ -19,6 +19,8 @@ */ #include "glide_config.h" +// KConfigSkeleton +#include "glideconfig.h" #include @@ -31,8 +33,7 @@ GlideEffectConfig::GlideEffectConfig(QWidget *parent, const QVariantList &args) : KCModule(EffectFactory::componentData(), parent, args) { ui.setupUi(this); - connect(ui.slider, SIGNAL(valueChanged(int)), SLOT(valueChanged(int))); - connect(ui.slider2, SIGNAL(valueChanged(int)), SLOT(valueChanged(int))); + addConfig(GlideConfig::self(), this); load(); } @@ -40,37 +41,10 @@ GlideEffectConfig::~GlideEffectConfig() { } -void GlideEffectConfig::load() -{ - KCModule::load(); - KConfigGroup cg = EffectsHandler::effectConfig("Glide"); - ui.slider->setValue(cg.readEntry("GlideEffect", 0)); - ui.slider2->setValue(cg.readEntry("GlideAngle", -90)); - emit changed(false); -} - void GlideEffectConfig::save() { KCModule::save(); - KConfigGroup cg = EffectsHandler::effectConfig("Glide"); - cg.writeEntry("GlideEffect", ui.slider->value()); - cg.writeEntry("GlideAngle", ui.slider2->value()); - cg.sync(); - emit changed(false); EffectsHandler::sendReloadMessage("glide"); } - -void GlideEffectConfig::defaults() -{ - ui.slider->setValue(0); - ui.slider2->setValue(-90); - emit changed(true); -} - -void GlideEffectConfig::valueChanged(int value) -{ - Q_UNUSED(value) - emit changed(true); -} } // namespace KWin #include "glide_config.moc" diff --git a/effects/glide/glide_config.h b/effects/glide/glide_config.h index 200fdcf877..e76e63a6d8 100644 --- a/effects/glide/glide_config.h +++ b/effects/glide/glide_config.h @@ -36,11 +36,6 @@ public: ~GlideEffectConfig(); void save(); - void load(); - void defaults(); - -private slots: - void valueChanged(int value); private: ::Ui::GlideEffectConfig ui; diff --git a/effects/glide/glide_config.ui b/effects/glide/glide_config.ui index 092498a85a..b0263ceec1 100644 --- a/effects/glide/glide_config.ui +++ b/effects/glide/glide_config.ui @@ -7,10 +7,10 @@ 0 0 306 - 72 + 130 - + @@ -44,7 +44,7 @@ - + 0 @@ -79,6 +79,12 @@ Qt::Vertical + + + 0 + 0 + + @@ -114,7 +120,7 @@ - + -90 @@ -149,9 +155,15 @@ Qt::Vertical + + + 0 + 0 + + - + diff --git a/effects/glide/glideconfig.kcfgc b/effects/glide/glideconfig.kcfgc new file mode 100644 index 0000000000..3266f2c58d --- /dev/null +++ b/effects/glide/glideconfig.kcfgc @@ -0,0 +1,5 @@ +File=glide.kcfg +ClassName=GlideConfig +NameSpace=KWin +Singleton=true +Mutators=true