diff options
author | Carsten Haitzler <raster@rasterman.com> | 2005-07-12 03:53:56 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 2005-07-12 03:53:56 +0000 |
commit | 6e73e8ff110a474d161a14e678d8579177634209 (patch) | |
tree | 6e5c85b8799788acf4384d20c846f899e64a5405 /src/modules/clock | |
parent | 8a4ecb99cea3259f26d4b4d57cf0ef40733641ab (diff) | |
download | enlightenment-6e73e8ff110a474d161a14e678d8579177634209.tar.gz |
damn - um... patches from mailing list - fix patch with layer number. da.po -
waiting for da.po i can use.. etc :)
SVN revision: 15738
Diffstat (limited to 'src/modules/clock')
-rw-r--r-- | src/modules/clock/e_mod_main.c | 116 | ||||
-rw-r--r-- | src/modules/clock/e_mod_main.h | 4 |
2 files changed, 119 insertions, 1 deletions
diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c index d2fe59e20b..fcbb9f60d1 100644 --- a/src/modules/clock/e_mod_main.c +++ b/src/modules/clock/e_mod_main.c @@ -22,12 +22,21 @@ static void _clock_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gad static void _clock_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _clock_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi); static void _clock_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi); +static void _clock_face_cb_digital_none(void *data, E_Menu *m, E_Menu_Item *mi); +static void _clock_face_cb_digital_normal(void *data, E_Menu *m, E_Menu_Item *mi); +static void _clock_face_cb_digital_military(void *data, E_Menu *m, E_Menu_Item *mi); static int _clock_count; static E_Config_DD *conf_edd; static E_Config_DD *conf_face_edd; +const int + DIGITAL_STYLE_NONE = 0, + DIGITAL_STYLE_NORMAL = 1, + DIGITAL_STYLE_MILITARY = 2 +; + /* public module routines. all modules must have these */ void * e_modapi_init(E_Module *module) @@ -115,6 +124,7 @@ _clock_new() #define T Config_Face #define D conf_face_edd E_CONFIG_VAL(D, T, enabled, UCHAR); + E_CONFIG_VAL(D, T, digitalStyle, INT); conf_edd = E_CONFIG_DD_NEW("Clock_Config", Config); #undef T @@ -153,6 +163,7 @@ _clock_new() { face->conf = E_NEW(Config_Face, 1); face->conf->enabled = 1; + face->conf->digitalStyle = DIGITAL_STYLE_NONE; clock->conf->faces = evas_list_append(clock->conf->faces, face->conf); } else @@ -289,7 +300,7 @@ _clock_face_disable(Clock_Face *face) static void _clock_face_menu_new(Clock_Face *face) { - E_Menu *mn; + E_Menu *mn, *smn; E_Menu_Item *mi; mn = e_menu_new(); @@ -308,6 +319,52 @@ _clock_face_menu_new(Clock_Face *face) mi = e_menu_item_new(mn); e_menu_item_label_set(mi, _("Edit Mode")); e_menu_item_callback_set(mi, _clock_face_cb_menu_edit, face); + + /* + * Create a Digital submenu + */ + smn = e_menu_new(); + + /* Hide digital time */ + mi = e_menu_item_new(smn); + e_menu_item_label_set(mi, _("No Digital Display")); + e_menu_item_radio_set(mi, 1); + e_menu_item_radio_group_set(mi, 1); + if (face->conf->digitalStyle == DIGITAL_STYLE_NONE) { + e_menu_item_toggle_set(mi, 1); + _clock_face_cb_digital_none(face, smn, mi); + } + e_menu_item_callback_set(mi, _clock_face_cb_digital_none, face); + + /* Show normal time */ + mi = e_menu_item_new(smn); + e_menu_item_label_set(mi, _("Normal Time")); + e_menu_item_radio_set(mi, 1); + e_menu_item_radio_group_set(mi, 1); + if (face->conf->digitalStyle == DIGITAL_STYLE_NORMAL) { + e_menu_item_toggle_set(mi, 1); + _clock_face_cb_digital_normal(face, smn, mi); + } + e_menu_item_callback_set(mi, _clock_face_cb_digital_normal, face); + + /* Show military time */ + mi = e_menu_item_new(smn); + e_menu_item_label_set(mi, _("Military Time")); + e_menu_item_radio_set(mi, 1); + e_menu_item_radio_group_set(mi, 1); + if (face->conf->digitalStyle == DIGITAL_STYLE_MILITARY) { + e_menu_item_toggle_set(mi, 1); + _clock_face_cb_digital_military(face, smn, mi); + } + e_menu_item_callback_set(mi, _clock_face_cb_digital_military, face); + + face->digital_menu = smn; + + mi = e_menu_item_new(mn); + e_menu_item_label_set(mi, _("Digital Display")); + e_menu_item_submenu_set(mi, face->digital_menu); + + } static void @@ -375,6 +432,63 @@ _clock_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi) } static void +_clock_face_cb_digital_none(void *data, E_Menu *m, E_Menu_Item *mi) +{ + Clock_Face *face; + char buf[2]; + + face = data; + + memset(buf, 0, sizeof(buf)); + + snprintf(buf, sizeof(buf), "%i", DIGITAL_STYLE_NONE); + + edje_object_part_text_set(face->clock_object, "digitalStyle", buf); + + face->conf->digitalStyle = DIGITAL_STYLE_NONE; + + e_config_save_queue(); +} + +static void +_clock_face_cb_digital_normal(void *data, E_Menu *m, E_Menu_Item *mi) +{ + Clock_Face *face; + char buf[2]; + + face = data; + + memset(buf, 0, sizeof(buf)); + + snprintf(buf, sizeof(buf), "%i", DIGITAL_STYLE_NORMAL); + + edje_object_part_text_set(face->clock_object, "digitalStyle", buf); + + face->conf->digitalStyle = DIGITAL_STYLE_NORMAL; + + e_config_save_queue(); +} + +static void +_clock_face_cb_digital_military(void *data, E_Menu *m, E_Menu_Item *mi) +{ + Clock_Face *face; + char buf[2]; + + face = data; + + memset(buf, 0, sizeof(buf)); + + snprintf(buf, sizeof(buf), "%i", DIGITAL_STYLE_MILITARY); + + edje_object_part_text_set(face->clock_object, "digitalStyle", buf); + + face->conf->digitalStyle = DIGITAL_STYLE_MILITARY; + + e_config_save_queue(); +} + +static void _clock_face_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi) { Clock_Face *face; diff --git a/src/modules/clock/e_mod_main.h b/src/modules/clock/e_mod_main.h index 529f152cc8..7137aa867b 100644 --- a/src/modules/clock/e_mod_main.h +++ b/src/modules/clock/e_mod_main.h @@ -17,6 +17,9 @@ struct _Config struct _Config_Face { unsigned char enabled; + int + digitalStyle + ; }; struct _Clock @@ -31,6 +34,7 @@ struct _Clock_Face { E_Container *con; E_Menu *menu; + E_Menu *digital_menu; Config_Face *conf; Evas_Object *clock_object; |