diff --git a/effects/translucency/CMakeLists.txt b/effects/translucency/CMakeLists.txt
index ca65a0e01b..7bc51cdf75 100644
--- a/effects/translucency/CMakeLists.txt
+++ b/effects/translucency/CMakeLists.txt
@@ -6,6 +6,8 @@ set( kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
translucency/translucency.cpp
)
+kde4_add_kcfg_files(kwin4_effect_builtins_sources translucency/translucencyconfig.kcfgc)
+
# .desktop files
install( FILES
translucency/translucency.desktop
@@ -19,6 +21,7 @@ set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources
translucency/translucency_config.cpp
translucency/translucency_config.ui
)
+kde4_add_kcfg_files(kwin4_effect_builtins_config_sources translucency/translucencyconfig.kcfgc)
# .desktop files
install( FILES
diff --git a/effects/translucency/translucency.cpp b/effects/translucency/translucency.cpp
index 61d569e6fc..e78603d773 100644
--- a/effects/translucency/translucency.cpp
+++ b/effects/translucency/translucency.cpp
@@ -19,6 +19,8 @@ along with this program. If not, see .
*********************************************************************/
#include "translucency.h"
+// KConfigSkeleton
+#include "translucencyconfig.h"
#include
@@ -47,18 +49,18 @@ TranslucencyEffect::TranslucencyEffect()
void TranslucencyEffect::reconfigure(ReconfigureFlags)
{
- KConfigGroup conf = effects->effectConfig("Translucency");
- decoration = conf.readEntry("Decoration", 1.0);
- moveresize = conf.readEntry("MoveResize", 0.8);
- dialogs = conf.readEntry("Dialogs", 1.0);
- inactive = conf.readEntry("Inactive", 1.0);
- comboboxpopups = conf.readEntry("ComboboxPopups", 1.0);
- menus = conf.readEntry("Menus", 1.0);
- individualmenuconfig = conf.readEntry("IndividualMenuConfig", false);
+ TranslucencyConfig::self()->readConfig();
+ decoration = TranslucencyConfig::decoration()/100.0;
+ moveresize = TranslucencyConfig::moveResize()/100.0;
+ dialogs = TranslucencyConfig::dialogs()/100.0;
+ inactive = TranslucencyConfig::inactive()/100.0;
+ comboboxpopups = TranslucencyConfig::comboboxPopups()/100.0;
+ menus = TranslucencyConfig::menus()/100.0;
+ individualmenuconfig = TranslucencyConfig::individualMenuConfig();
if (individualmenuconfig) {
- dropdownmenus = conf.readEntry("DropdownMenus", 1.0);
- popupmenus = conf.readEntry("PopupMenus", 1.0);
- tornoffmenus = conf.readEntry("TornOffMenus", 1.0);
+ dropdownmenus = TranslucencyConfig::dropdownMenus()/100.0;
+ popupmenus = TranslucencyConfig::popupMenus()/100.0;
+ tornoffmenus = TranslucencyConfig::tornOffMenus()/100.0;
} else {
dropdownmenus = menus;
popupmenus = menus;
diff --git a/effects/translucency/translucency.kcfg b/effects/translucency/translucency.kcfg
new file mode 100644
index 0000000000..4425df78f6
--- /dev/null
+++ b/effects/translucency/translucency.kcfg
@@ -0,0 +1,39 @@
+
+
+
+
+
+ 100
+
+
+ 80
+
+
+ 100
+
+
+ 100
+
+
+ 100
+
+
+ 100
+
+
+ false
+
+
+ 100
+
+
+ 100
+
+
+ 100
+
+
+
diff --git a/effects/translucency/translucency_config.cpp b/effects/translucency/translucency_config.cpp
index 378146097b..db9f17bf10 100644
--- a/effects/translucency/translucency_config.cpp
+++ b/effects/translucency/translucency_config.cpp
@@ -19,6 +19,8 @@ along with this program. If not, see .
*********************************************************************/
#include "translucency_config.h"
+// KConfigSkeleton
+#include "translucencyconfig.h"
#include
@@ -46,76 +48,17 @@ TranslucencyEffectConfig::TranslucencyEffectConfig(QWidget* parent, const QVaria
QVBoxLayout* layout = new QVBoxLayout(this);
layout->addWidget(m_ui);
- connect(m_ui->decorations, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->inactive, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->moveresize, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->dialogs, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->comboboxpopup, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->menus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->individualmenuconfig, SIGNAL(toggled(bool)), this, SLOT(changed()));
- connect(m_ui->dropdownmenus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->popupmenus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(m_ui->tornoffmenus, SIGNAL(valueChanged(int)), this, SLOT(changed()));
+ addConfig(TranslucencyConfig::self(), m_ui);
load();
}
-void TranslucencyEffectConfig::load()
-{
- KCModule::load();
-
- KConfigGroup conf = EffectsHandler::effectConfig("Translucency");
- m_ui->decorations->setValue((int)(conf.readEntry("Decoration", 1.0) * 100));
- m_ui->moveresize->setValue((int)(conf.readEntry("MoveResize", 0.8) * 100));
- m_ui->dialogs->setValue((int)(conf.readEntry("Dialogs", 1.0) * 100));
- m_ui->inactive->setValue((int)(conf.readEntry("Inactive", 1.0) * 100));
- m_ui->comboboxpopup->setValue((int)(conf.readEntry("ComboboxPopups", 1.0) * 100));
- m_ui->menus->setValue((int)(conf.readEntry("Menus", 1.0) * 100));
- m_ui->individualmenuconfig->setChecked((conf.readEntry("IndividualMenuConfig", false)));
- m_ui->dropdownmenus->setValue((int)(conf.readEntry("DropdownMenus", 1.0) * 100));
- m_ui->popupmenus->setValue((int)(conf.readEntry("PopupMenus", 1.0) * 100));
- m_ui->tornoffmenus->setValue((int)(conf.readEntry("TornOffMenus", 1.0) * 100));
-
- emit changed(false);
-}
-
void TranslucencyEffectConfig::save()
{
KCModule::save();
-
- KConfigGroup conf = EffectsHandler::effectConfig("Translucency");
- conf.writeEntry("Decoration", m_ui->decorations->value() / 100.0);
- conf.writeEntry("MoveResize", m_ui->moveresize->value() / 100.0);
- conf.writeEntry("Dialogs", m_ui->dialogs->value() / 100.0);
- conf.writeEntry("Inactive", m_ui->inactive->value() / 100.0);
- conf.writeEntry("ComboboxPopups", m_ui->comboboxpopup->value() / 100.0);
- conf.writeEntry("Menus", m_ui->menus->value() / 100.0);
- conf.writeEntry("IndividualMenuConfig", m_ui->individualmenuconfig->isChecked());
- conf.writeEntry("DropdownMenus", m_ui->dropdownmenus->value() / 100.0);
- conf.writeEntry("PopupMenus", m_ui->popupmenus->value() / 100.0);
- conf.writeEntry("TornOffMenus", m_ui->tornoffmenus->value() / 100.0);
- conf.sync();
-
- emit changed(false);
EffectsHandler::sendReloadMessage("translucency");
}
-void TranslucencyEffectConfig::defaults()
-{
- m_ui->decorations->setValue(100);
- m_ui->moveresize->setValue(80);
- m_ui->dialogs->setValue(100);
- m_ui->inactive->setValue(100);
- m_ui->comboboxpopup->setValue(100);
- m_ui->menus->setValue(100);
- m_ui->individualmenuconfig->setChecked(false);
- m_ui->dropdownmenus->setValue(100);
- m_ui->popupmenus->setValue(100);
- m_ui->tornoffmenus->setValue(100);
- emit changed(true);
-}
-
-
} // namespace
#include "translucency_config.moc"
diff --git a/effects/translucency/translucency_config.h b/effects/translucency/translucency_config.h
index a43d3e7ed1..24dd090917 100644
--- a/effects/translucency/translucency_config.h
+++ b/effects/translucency/translucency_config.h
@@ -42,8 +42,6 @@ public:
explicit TranslucencyEffectConfig(QWidget* parent = 0, const QVariantList& args = QVariantList());
virtual void save();
- virtual void load();
- virtual void defaults();
private:
TranslucencyEffectConfigForm* m_ui;
diff --git a/effects/translucency/translucency_config.ui b/effects/translucency/translucency_config.ui
index 3c64fba9bd..56734b9793 100644
--- a/effects/translucency/translucency_config.ui
+++ b/effects/translucency/translucency_config.ui
@@ -21,7 +21,7 @@
-
-
+
10
@@ -54,7 +54,7 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- dialogs
+ kcfg_Dialogs
@@ -73,12 +73,12 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- decorations
+ kcfg_Decoration
-
-
+
10
@@ -97,7 +97,7 @@
-
-
+
10
@@ -130,7 +130,7 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- inactive
+ kcfg_Inactive
@@ -149,7 +149,7 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- moveresize
+ kcfg_MoveResize
@@ -168,12 +168,12 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- comboboxpopup
+ kcfg_ComboboxPopups
-
-
+
10
@@ -205,7 +205,7 @@
-
-
+
170
@@ -230,7 +230,7 @@
-
-
+
10
@@ -292,7 +292,7 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- menus
+ kcfg_Menus
@@ -300,7 +300,7 @@
-
-
+
Set menu translucency independently
@@ -326,12 +326,12 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- dropdownmenus
+ kcfg_DropdownMenus
-
-
+
170
@@ -370,12 +370,12 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- popupmenus
+ kcfg_PopupMenus
-
-
+
10
@@ -408,12 +408,12 @@
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- tornoffmenus
+ kcfg_TornOffMenus
-
-
+
10
@@ -479,23 +479,23 @@
- decorations
- inactive
- moveresize
- dialogs
- comboboxpopup
- menus
- individualmenuconfig
- dropdownmenus
- popupmenus
- tornoffmenus
+ kcfg_Decoration
+ kcfg_Inactive
+ kcfg_MoveResize
+ kcfg_Dialogs
+ kcfg_ComboboxPopups
+ kcfg_Menus
+ kcfg_IndividualMenuConfig
+ kcfg_DropdownMenus
+ kcfg_PopupMenus
+ kcfg_TornOffMenus
- individualmenuconfig
+ kcfg_IndividualMenuConfig
toggled(bool)
- menus
+ kcfg_Menus
setDisabled(bool)
diff --git a/effects/translucency/translucencyconfig.kcfgc b/effects/translucency/translucencyconfig.kcfgc
new file mode 100644
index 0000000000..5ac11fc19a
--- /dev/null
+++ b/effects/translucency/translucencyconfig.kcfgc
@@ -0,0 +1,5 @@
+File=translucency.kcfg
+ClassName=TranslucencyConfig
+NameSpace=KWin
+Singleton=true
+Mutators=true