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