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