Hi,
i have a little patch for the tclock module.
With this patch you can change the timeformat with the configuration
dialog of the module.
Regards
_FireFly_ (Stephan Wezel)
? tclock.diff
? tclock-timeformat-config-dialog.diff
Index: e_mod_config.c
===================================================================
RCS file: /var/cvs/e/e_modules/tclock/e_mod_config.c,v
retrieving revision 1.12
diff -u -r1.12 e_mod_config.c
--- e_mod_config.c 1 Apr 2006 19:35:59 -0000 1.12
+++ e_mod_config.c 4 Apr 2006 07:29:26 -0000
@@ -5,6 +5,7 @@
struct _E_Config_Dialog_Data
{
int resolution;
+ char *format;
};
/* Protos */
@@ -35,6 +36,8 @@
_fill_data(TClock_Face * f, E_Config_Dialog_Data *cfdata)
{
cfdata->resolution = f->conf->resolution;
+ if(f->conf->format)
+ cfdata->format = strdup(f->conf->format);
}
static void *
@@ -53,13 +56,14 @@
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
free(cfdata);
+ E_FREE(cfdata->format);
}
static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas,
E_Config_Dialog_Data *cfdata)
{
- Evas_Object *o, *of, *ob;
+ Evas_Object *o, *of, *ob, *entry;
E_Radio_Group *rg;
o = e_widget_list_add(evas, 0, 0);
@@ -70,6 +74,16 @@
ob = e_widget_radio_add(evas, D_("1 Second"), RESOLUTION_SECOND, rg);
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5);
+
+ of = e_widget_frametable_add(evas, D_("Timeformat"), 0);
+ ob = e_widget_label_add(evas, D_("TimeFormat"));
+ e_widget_frametable_object_append(of, ob,0,0,1,1,1,0,1,0);
+ entry = e_widget_entry_add(evas,(&(cfdata->format)));
+ e_widget_min_size_set(entry,150,1);
+ e_widget_frametable_object_append(of, entry,1,0,1,1,1,0,1,0);
+ e_widget_list_object_append(o, of, 1, 1, 0.5);
+
+
return o;
}
@@ -81,6 +95,10 @@
f = cfd->data;
e_border_button_bindings_ungrab_all();
f->conf->resolution = cfdata->resolution;
+ if(f->conf->format && strlen(cfdata->format)>0)
+ evas_stringshare_del(f->conf->format);
+ if(strlen(cfdata->format)>0)
+ f->conf->format = evas_stringshare_add(cfdata->format);
e_config_save_queue();
e_border_button_bindings_grab_all();
return 1;
Index: e_mod_main.c
===================================================================
RCS file: /var/cvs/e/e_modules/tclock/e_mod_main.c,v
retrieving revision 1.13
diff -u -r1.13 e_mod_main.c
--- e_mod_main.c 1 Apr 2006 19:35:59 -0000 1.13
+++ e_mod_main.c 4 Apr 2006 07:29:26 -0000
@@ -188,6 +188,7 @@
/* set instance config values */
face->conf->enabled = 1;
face->conf->resolution = RESOLUTION_MINUTE;
+ face->conf->format = evas_stringshare_add("%c");
tclock->conf->faces =
evas_list_append(tclock->conf->faces, face->conf);
}
@@ -341,6 +342,8 @@
evas_object_del(face->event_object);
e_object_del(E_OBJECT(face->menu));
+ if(face->conf->format)
+ evas_stringshare_del(face->conf->format);
free(face->conf);
free(face);
_tclock_count--;
@@ -367,11 +370,12 @@
face = l->data;
const char *format;
-
- format =
- edje_object_part_state_get(face->tclock_object, "tclock_format",
- NULL);
- face->conf->format = format;
+
+ //if(face->conf->format)
+ //format =
+ // edje_object_part_state_get(face->tclock_object, "tclock_format",
+ // NULL);
+// face->conf->format = face->tclock->conf->format;
strftime(buf, TIME_BUF, face->conf->format, local_time);
Index: e_mod_main.h
===================================================================
RCS file: /var/cvs/e/e_modules/tclock/e_mod_main.h,v
retrieving revision 1.6
diff -u -r1.6 e_mod_main.h
--- e_mod_main.h 1 Apr 2006 19:35:59 -0000 1.6
+++ e_mod_main.h 4 Apr 2006 07:29:27 -0000
@@ -21,7 +21,7 @@
typedef struct _Config_Face {
unsigned char enabled;
unsigned int resolution;
- const char *format;
+ char *format;
} Config_Face;
typedef struct _TClock {