summaryrefslogtreecommitdiff
path: root/src/modules/clock
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2005-07-12 03:53:56 +0000
committerCarsten Haitzler <raster@rasterman.com>2005-07-12 03:53:56 +0000
commit6e73e8ff110a474d161a14e678d8579177634209 (patch)
tree6e5c85b8799788acf4384d20c846f899e64a5405 /src/modules/clock
parent8a4ecb99cea3259f26d4b4d57cf0ef40733641ab (diff)
downloadenlightenment-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.c116
-rw-r--r--src/modules/clock/e_mod_main.h4
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;