[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kde-workspace] kwin/effects/login: Use KConfigXT in Login Effect
From: Martin_Gräßlin <mgraesslin () kde ! org>
Date: 2012-09-19 8:32:25
Message-ID: 20120919083225.5427EA6094 () git ! kde ! org
[Download RAW message or body]
Git commit 5fcd7006278acf90967d73bbdbe6206fd880af9c by Martin Gräßlin.
Committed on 19/09/2012 at 09:01.
Pushed by graesslin into branch 'master'.
Use KConfigXT in Login Effect
Thanks to Andrea Scarpino for providing the patch.
REVIEW: 106387
M +4 -0 kwin/effects/login/CMakeLists.txt
M +5 -2 kwin/effects/login/login.cpp
A +12 -0 kwin/effects/login/login.kcfg
M +6 -23 kwin/effects/login/login_config.cpp
M +0 -2 kwin/effects/login/login_config.h
M +1 -1 kwin/effects/login/login_config.ui
A +5 -0 kwin/effects/login/loginconfig.kcfgc
http://commits.kde.org/kde-workspace/5fcd7006278acf90967d73bbdbe6206fd880af9c
diff --git a/kwin/effects/login/CMakeLists.txt b/kwin/effects/login/CMakeLists.txt
index 3ba7ed6..0e1f6ef 100644
--- a/kwin/effects/login/CMakeLists.txt
+++ b/kwin/effects/login/CMakeLists.txt
@@ -6,6 +6,8 @@ set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
login/login.cpp
)
+kde4_add_kcfg_files(kwin4_effect_builtins_sources login/loginconfig.kcfgc)
+
# .desktop files
install( FILES
login/login.desktop
@@ -20,6 +22,8 @@ set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources
login/login_config.ui
)
+kde4_add_kcfg_files(kwin4_effect_builtins_config_sources login/loginconfig.kcfgc)
+
# .desktop files
install( FILES
login/login_config.desktop
diff --git a/kwin/effects/login/login.cpp b/kwin/effects/login/login.cpp
index b54d400..698b03d 100644
--- a/kwin/effects/login/login.cpp
+++ b/kwin/effects/login/login.cpp
@@ -20,6 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "login.h"
+// KConfigSkeleton
+#include "loginconfig.h"
+
#include <kdebug.h>
#include <KDE/KConfigGroup>
@@ -89,8 +92,8 @@ void LoginEffect::postPaintScreen()
void LoginEffect::reconfigure(ReconfigureFlags)
{
- KConfigGroup conf = effects->effectConfig("Login");
- m_fadeToBlack = (conf.readEntry("FadeToBlack", false));
+ LoginConfig::self()->readConfig();
+ m_fadeToBlack = LoginConfig::fadeToBlack();
}
void LoginEffect::slotWindowClosed(EffectWindow* w)
diff --git a/kwin/effects/login/login.kcfg b/kwin/effects/login/login.kcfg
new file mode 100644
index 0000000..adefe10
--- /dev/null
+++ b/kwin/effects/login/login.kcfg
@@ -0,0 +1,12 @@
+<?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-Login">
+ <entry name="FadeToBlack" type="Bool">
+ <default>false</default>
+ </entry>
+ </group>
+</kcfg>
diff --git a/kwin/effects/login/login_config.cpp b/kwin/effects/login/login_config.cpp
index 5a4b57a..b6d8da4 100644
--- a/kwin/effects/login/login_config.cpp
+++ b/kwin/effects/login/login_config.cpp
@@ -19,6 +19,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#include "login_config.h"
+
+// KConfigSkeleton
+#include "loginconfig.h"
+
#include <kwineffects.h>
#include <kconfiggroup.h>
@@ -44,38 +48,17 @@ LoginEffectConfig::LoginEffectConfig(QWidget* parent, const QVariantList& args)
layout->addWidget(m_ui);
- connect(m_ui->fadetoblackBox, SIGNAL(stateChanged(int)), this, SLOT(changed()));
+ addConfig(LoginConfig::self(), m_ui);
load();
}
-void LoginEffectConfig::load()
-{
- KCModule::load();
-
- KConfigGroup conf = EffectsHandler::effectConfig("Login");
- m_ui->fadetoblackBox->setChecked(conf.readEntry<bool>("FadeToBlack", false));
-
- emit changed(false);
-}
-
void LoginEffectConfig::save()
{
- KConfigGroup conf = EffectsHandler::effectConfig("Login");
- conf.writeEntry("FadeToBlack", m_ui->fadetoblackBox->isChecked());
-
- conf.sync();
-
- emit changed(false);
+ KCModule::save();
EffectsHandler::sendReloadMessage("login");
}
-void LoginEffectConfig::defaults()
-{
- m_ui->fadetoblackBox->setChecked(true);
- emit changed(true);
-}
-
} // namespace
#include "login_config.moc"
diff --git a/kwin/effects/login/login_config.h b/kwin/effects/login/login_config.h
index 4de44fc..7226263 100644
--- a/kwin/effects/login/login_config.h
+++ b/kwin/effects/login/login_config.h
@@ -45,8 +45,6 @@ public:
public slots:
virtual void save();
- virtual void load();
- virtual void defaults();
private:
LoginEffectConfigForm* m_ui;
diff --git a/kwin/effects/login/login_config.ui b/kwin/effects/login/login_config.ui
index b4b1f30..07cb5f1 100644
--- a/kwin/effects/login/login_config.ui
+++ b/kwin/effects/login/login_config.ui
@@ -12,7 +12,7 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QCheckBox" name="fadetoblackBox">
+ <widget class="QCheckBox" name="kcfg_FadeToBlack">
<property name="text">
<string>Fade to black (fullscreen splash screens only)</string>
</property>
diff --git a/kwin/effects/login/loginconfig.kcfgc b/kwin/effects/login/loginconfig.kcfgc
new file mode 100644
index 0000000..6bfbba2
--- /dev/null
+++ b/kwin/effects/login/loginconfig.kcfgc
@@ -0,0 +1,5 @@
+File=login.kcfg
+ClassName=LoginConfig
+NameSpace=KWin
+Singleton=true
+Mutators=true
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic