From 6c5ccfcb3a377b75bdc9504f8b321fd449aa81df Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Thu, 5 Jan 2006 10:11:00 +0000 Subject: [PATCH] Fix buggers in module config dialog. Configure/About buttons were not in sync with the modules state SVN revision: 19537 --- src/bin/e_int_config_modules.c | 51 +++++++++++++--------------------- 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/src/bin/e_int_config_modules.c b/src/bin/e_int_config_modules.c index 3db067677..a2177f128 100644 --- a/src/bin/e_int_config_modules.c +++ b/src/bin/e_int_config_modules.c @@ -182,6 +182,9 @@ _basic_apply_data(E_Config_Dialog *cfd, CFData *cfdata) char *v; int i; + e_widget_disabled_set(cfdata->gui.configure, 1); + e_widget_disabled_set(cfdata->gui.about, 1); + v = strdup(e_widget_ilist_selected_label_get(cfdata->gui.list)); for (i = 0; i < evas_list_count(cfdata->modules); i++) { @@ -193,13 +196,17 @@ _basic_apply_data(E_Config_Dialog *cfd, CFData *cfdata) if (cm->state != cfdata->state) { m = e_module_find(v); + if (!m) + { + m = e_module_new(v); + if (!m) break; + } switch (cfdata->state) { case MOD_ENABLED: - if (!m) m = e_module_new(v); - if (!m->enabled) - { - e_module_enable(m); + if (!m->enabled) e_module_enable(m); + if (m->enabled) + { if (m->func.config) e_widget_disabled_set(cfdata->gui.configure, 0); if (m->func.about) @@ -208,21 +215,14 @@ _basic_apply_data(E_Config_Dialog *cfd, CFData *cfdata) cm->state = MOD_ENABLED; break; case MOD_LOADED: - if (!m) m = e_module_new(v); if (m->enabled) { e_module_save(m); e_module_disable(m); - if (m->func.config) - e_widget_disabled_set(cfdata->gui.configure, 1); - } - else - { - if (m->func.config) - e_widget_disabled_set(cfdata->gui.configure, 0); - if (m->func.about) - e_widget_disabled_set(cfdata->gui.about, 0); } + //e_widget_disabled_set(cfdata->gui.configure, 1); + if (m->func.about) + e_widget_disabled_set(cfdata->gui.about, 0); cm->state = MOD_LOADED; break; @@ -372,29 +372,16 @@ _ilist_cb_change(void *data, Evas_Object *obj) edje_object_signal_emit(wd->o_radio, "toggle_on", ""); break; } + e_widget_disabled_set(cfdata->gui.about, 1); + e_widget_disabled_set(cfdata->gui.configure, 1); m = e_module_find(v); if (m) { - if (m->enabled) - { - if (m->func.config) - e_widget_disabled_set(cfdata->gui.configure, 0); - else - e_widget_disabled_set(cfdata->gui.configure, 1); - } - else - { - e_widget_disabled_set(cfdata->gui.configure, 1); - } if (m->func.about) e_widget_disabled_set(cfdata->gui.about, 0); - else - e_widget_disabled_set(cfdata->gui.about, 1); - } - else - { - e_widget_disabled_set(cfdata->gui.about, 1); - e_widget_disabled_set(cfdata->gui.configure, 1); + + if (m->enabled && m->func.config) + e_widget_disabled_set(cfdata->gui.configure, 0); } break; }