q66 pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=cb811c0eaf12957e4b316b08c5fcdd6ac0c623bc
commit cb811c0eaf12957e4b316b08c5fcdd6ac0c623bc Author: Daniel Kolesa <d.kol...@samsung.com> Date: Wed Jan 28 14:10:22 2015 +0000 remove some useless tests, fix entries not getting disabled on check change --- src/e_mod_config.c | 75 +++++++++++++++++++++++++++++++++++------------------- src/e_mod_main.c | 4 +-- src/e_mod_main.h | 2 +- 3 files changed, 52 insertions(+), 29 deletions(-) diff --git a/src/e_mod_config.c b/src/e_mod_config.c index 3a1bbf8..0720540 100644 --- a/src/e_mod_config.c +++ b/src/e_mod_config.c @@ -3,10 +3,9 @@ struct _E_Config_Dialog_Data { - E_Config_Dialog *cfd; - Eina_Bool show_time, show_date, show_tip; - Evas_Object *time_entry, *date_entry, *tip_entry; - const char *time_format, *date_format, *tip_format; + Eina_Bool show_time, show_date, show_tip; + Evas_Object *time_entry, *date_entry, *tip_entry; + const char *time_format, *date_format, *tip_format; }; /* Protos */ @@ -18,7 +17,31 @@ static int _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static void _cb_changed(void *data, Evas_Object *obj, void *event __UNUSED__) { - e_config_dialog_changed_set(((E_Config_Dialog_Data *)data)->cfd, EINA_TRUE); + e_config_dialog_changed_set(data, EINA_TRUE); +} + +static void +_cb_time_check_changed(void *data, Evas_Object *obj, void *event __UNUSED__) +{ + E_Config_Dialog_Data *cfdata = ((E_Config_Dialog *)data)->cfdata; + elm_widget_disabled_set(cfdata->time_entry, !cfdata->show_time); + e_config_dialog_changed_set(data, EINA_TRUE); +} + +static void +_cb_date_check_changed(void *data, Evas_Object *obj, void *event __UNUSED__) +{ + E_Config_Dialog_Data *cfdata = ((E_Config_Dialog *)data)->cfdata; + elm_widget_disabled_set(cfdata->date_entry, !cfdata->show_date); + e_config_dialog_changed_set(data, EINA_TRUE); +} + +static void +_cb_tip_check_changed(void *data, Evas_Object *obj, void *event __UNUSED__) +{ + E_Config_Dialog_Data *cfdata = ((E_Config_Dialog *)data)->cfdata; + elm_widget_disabled_set(cfdata->tip_entry, !cfdata->show_tip); + e_config_dialog_changed_set(data, EINA_TRUE); } void @@ -28,7 +51,7 @@ _config_tclock_module(Config_Item *ci) E_Config_Dialog_View *v = NULL; char buf[PATH_MAX]; - if (e_config_dialog_find("TClock", "_e_modules_tclock_config_dialog")) + if (e_config_dialog_find("TClock", "_e_modules_tclock_config_dialog")) return; v = E_NEW(E_Config_Dialog_View, 1); @@ -37,12 +60,13 @@ _config_tclock_module(Config_Item *ci) v->basic.apply_cfdata = _basic_apply; v->basic.create_widgets = _basic_create; - snprintf(buf, sizeof(buf), "%s/e-module-tclock.edj", + snprintf(buf, sizeof(buf), "%s/e-module-tclock.edj", tclock_config->mod_dir); - cfd = e_config_dialog_new(NULL, D_("Tclock Settings"), "TClock", - "_e_modules_tclock_config_dialog", - buf, 0, v, ci); - tclock_config->config_dialog = cfd; + + tclock_config->cfd = e_config_dialog_new(NULL, D_("Tclock Settings"), + "TClock", + "_e_modules_tclock_config_dialog", + buf, 0, v, ci); } static void @@ -50,10 +74,10 @@ _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata) { cfdata->show_time = ci->show_time; cfdata->show_date = ci->show_date; - cfdata->show_tip = ci->show_tip; - if (ci->time_format) cfdata->time_format = eina_stringshare_ref(ci->time_format); - if (ci->date_format) cfdata->date_format = eina_stringshare_ref(ci->date_format); - if (ci->tip_format) cfdata->tip_format = eina_stringshare_ref(ci->tip_format); + cfdata->show_tip = ci->show_tip; + cfdata->time_format = eina_stringshare_ref(ci->time_format); + cfdata->date_format = eina_stringshare_ref(ci->date_format); + cfdata->tip_format = eina_stringshare_ref(ci->tip_format); } static void * @@ -72,7 +96,7 @@ static void _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) { if (!tclock_config) return; - tclock_config->config_dialog = NULL; + tclock_config->cfd = NULL; eina_stringshare_del(cfdata->time_format); eina_stringshare_del(cfdata->date_format); eina_stringshare_del(cfdata->tip_format); @@ -129,8 +153,8 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) time_entry = o; cfdata->time_entry = o; - evas_object_smart_callback_add(time_check, "changed", _cb_changed, cfdata); - evas_object_smart_callback_add(time_entry, "changed", _cb_changed, cfdata); + evas_object_smart_callback_add(time_check, "changed", _cb_time_check_changed, cfd); + evas_object_smart_callback_add(time_entry, "changed", _cb_changed, cfd); elm_widget_disabled_set(time_entry, !cfdata->show_time); o = elm_label_add(win); @@ -172,8 +196,8 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) date_entry = o; cfdata->date_entry = o; - evas_object_smart_callback_add(date_check, "changed", _cb_changed, cfdata); - evas_object_smart_callback_add(date_entry, "changed", _cb_changed, cfdata); + evas_object_smart_callback_add(date_check, "changed", _cb_date_check_changed, cfd); + evas_object_smart_callback_add(date_entry, "changed", _cb_changed, cfd); elm_widget_disabled_set(date_entry, !cfdata->show_date); o = elm_label_add(win); @@ -215,8 +239,8 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) tooltip_entry = o; cfdata->tip_entry = o; - evas_object_smart_callback_add(tooltip_check, "changed", _cb_changed, cfdata); - evas_object_smart_callback_add(tooltip_entry, "changed", _cb_changed, cfdata); + evas_object_smart_callback_add(tooltip_check, "changed", _cb_tip_check_changed, cfd); + evas_object_smart_callback_add(tooltip_entry, "changed", _cb_changed, cfd); elm_widget_disabled_set(tooltip_entry, !cfdata->show_tip); o = elm_label_add(win); @@ -224,7 +248,6 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) elm_box_pack_end(obx, o); evas_object_show(o); - cfdata->cfd = cfd; return bx; } @@ -237,11 +260,11 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) ci->show_date = cfdata->show_date; ci->show_time = cfdata->show_time; ci->show_tip = cfdata->show_tip; - if (ci->time_format) eina_stringshare_del(ci->time_format); + eina_stringshare_del(ci->time_format); ci->time_format = eina_stringshare_add(elm_object_text_get(cfdata->time_entry)); - if (ci->date_format) eina_stringshare_del(ci->date_format); + eina_stringshare_del(ci->date_format); ci->date_format = eina_stringshare_add(elm_object_text_get(cfdata->date_entry)); - if (ci->tip_format) eina_stringshare_del(ci->tip_format); + eina_stringshare_del(ci->tip_format); ci->tip_format = eina_stringshare_add(elm_object_text_get(cfdata->tip_entry)); e_config_save_queue(); diff --git a/src/e_mod_main.c b/src/e_mod_main.c index 0438577..a78d654 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -435,8 +435,8 @@ e_modapi_shutdown(E_Module *m __UNUSED__) { e_gadcon_provider_unregister(&_gc_class); - if (tclock_config->config_dialog) - e_object_del(E_OBJECT(tclock_config->config_dialog)); + if (tclock_config->cfd) + e_object_del(E_OBJECT(tclock_config->cfd)); if (tclock_config->menu) { e_menu_post_deactivate_callback_set(tclock_config->menu, NULL, NULL); diff --git a/src/e_mod_main.h b/src/e_mod_main.h index 80f02f2..0d8fcf8 100644 --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@ -19,7 +19,7 @@ typedef struct _Config_Item Config_Item; struct _Config { const char *mod_dir; - E_Config_Dialog *config_dialog; + E_Config_Dialog *cfd; E_Menu *menu; Eina_List *instances, *items; }; --