Use KConfigXT in Glide Effect

REVIEW: 106392
This commit is contained in:
Dario Cambié 2012-09-12 20:31:37 +02:00 committed by Martin Gräßlin
parent 31fa04d653
commit 581f9b9394
7 changed files with 54 additions and 44 deletions

View file

@ -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

View file

@ -21,8 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#include "glide.h"
// KConfigSkeleton
#include "glideconfig.h"
#include <kconfiggroup.h>
#include <QtCore/QTimeLine>
// 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)

18
effects/glide/glide.kcfg Normal file
View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
<kcfgfile name="kwinrc"/>
<group name="Effect-Glide">
<entry name="Duration" type="UInt">
<default>0</default>
</entry>
<entry name="GlideEffect" type="Int">
<default>0</default>
</entry>
<entry name="GlideAngle" type="Int">
<default>-90</default>
</entry>
</group>
</kcfg>

View file

@ -19,6 +19,8 @@
*/
#include "glide_config.h"
// KConfigSkeleton
#include "glideconfig.h"
#include <kwineffects.h>
@ -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"

View file

@ -36,11 +36,6 @@ public:
~GlideEffectConfig();
void save();
void load();
void defaults();
private slots:
void valueChanged(int value);
private:
::Ui::GlideEffectConfig ui;

View file

@ -7,10 +7,10 @@
<x>0</x>
<y>0</y>
<width>306</width>
<height>72</height>
<height>130</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
@ -44,7 +44,7 @@
</widget>
</item>
<item>
<widget class="QSlider" name="slider">
<widget class="QSlider" name="kcfg_GlideEffect">
<property name="minimum">
<number>0</number>
</property>
@ -79,6 +79,12 @@
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
@ -114,7 +120,7 @@
</widget>
</item>
<item>
<widget class="QSlider" name="slider2">
<widget class="QSlider" name="kcfg_GlideAngle">
<property name="minimum">
<number>-90</number>
</property>
@ -149,9 +155,15 @@
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</layout>
</widget>
<resources/>
<connections/>

View file

@ -0,0 +1,5 @@
File=glide.kcfg
ClassName=GlideConfig
NameSpace=KWin
Singleton=true
Mutators=true