Use KConfigXT in Glide Effect
REVIEW: 106392
This commit is contained in:
parent
31fa04d653
commit
581f9b9394
7 changed files with 54 additions and 44 deletions
|
@ -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
|
||||
|
|
|
@ -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
18
effects/glide/glide.kcfg
Normal 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>
|
|
@ -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"
|
||||
|
|
|
@ -36,11 +36,6 @@ public:
|
|||
~GlideEffectConfig();
|
||||
|
||||
void save();
|
||||
void load();
|
||||
void defaults();
|
||||
|
||||
private slots:
|
||||
void valueChanged(int value);
|
||||
|
||||
private:
|
||||
::Ui::GlideEffectConfig ui;
|
||||
|
|
|
@ -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/>
|
||||
|
|
5
effects/glide/glideconfig.kcfgc
Normal file
5
effects/glide/glideconfig.kcfgc
Normal file
|
@ -0,0 +1,5 @@
|
|||
File=glide.kcfg
|
||||
ClassName=GlideConfig
|
||||
NameSpace=KWin
|
||||
Singleton=true
|
||||
Mutators=true
|
Loading…
Reference in a new issue