diff --git a/data/themes/default.edc b/data/themes/default.edc index f0e685fc2..a4e494a05 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -16304,11 +16304,11 @@ collections { /* begin the collection of edje groups that are in this file */ fixed: 1 0; rel1 { relative: 0.0 0.0; - offset: 4 4; + offset: 2 2; } rel2 { relative: 0.0 0.0; - offset: 4 -5; + offset: 2 -5; to_y: "e.swallow.buttons"; } } @@ -16318,12 +16318,12 @@ collections { /* begin the collection of edje groups that are in this file */ description { state: "default" 0.0; rel1 { relative: 1.0 0.0; - offset: 4 4; + offset: 2 2; to_x: "e.swallow.icon"; } rel2 { relative: 1.0 0.0; - offset: -5 -9; + offset: -3 -5; to_y: "e.swallow.buttons"; } } @@ -16476,10 +16476,10 @@ collections { /* begin the collection of edje groups that are in this file */ description { state: "default" 0.0; align: 0.5 0.5; min: 100 200; - rel1.offset: 5 5; + rel1.offset: 2 2; rel2 { relative: 1.0 0.0; - offset: -6 -9; + offset: -3 -5; to_y: "e.swallow.button"; } } diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 425bd3012..2e4d3b326 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -169,7 +169,8 @@ e_slidesel.h \ e_slidecore.h \ e_widget_flist.h \ e_scale.h \ -e_widget_toolbar.h +e_widget_toolbar.h \ +e_widget_toolbook.h enlightenment_src = \ e_user.c \ @@ -305,6 +306,7 @@ e_slidecore.c \ e_widget_flist.c \ e_scale.c \ e_widget_toolbar.c \ +e_widget_toolbook.c \ $(ENLIGHTENMENTHEADERS) enlightenment_SOURCES = \ diff --git a/src/bin/e_includes.h b/src/bin/e_includes.h index 0d62914a0..a34031942 100644 --- a/src/bin/e_includes.h +++ b/src/bin/e_includes.h @@ -136,3 +136,4 @@ #include "e_fm_op.h" #include "e_scale.h" #include "e_widget_toolbar.h" +#include "e_widget_toolbook.h" diff --git a/src/bin/e_widget_toolbook.c b/src/bin/e_widget_toolbook.c new file mode 100644 index 000000000..1c95a9a9a --- /dev/null +++ b/src/bin/e_widget_toolbook.c @@ -0,0 +1,102 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ +#include "e.h" + +typedef struct _E_Widget_Data E_Widget_Data; +struct _E_Widget_Data +{ + Evas_Object *o_widget, *o_tb, *o_bar; + Eina_List *content; +}; + +static void _e_wid_del_hook(Evas_Object *obj); +static void _item_sel(void *data1, void *data2); + +/* externally accessible functions */ +EAPI Evas_Object * +e_widget_toolbook_add(Evas *evas, int icon_w, int icon_h) +{ + Evas_Object *obj, *o; + E_Widget_Data *wd; + Evas_Coord mw, mh; + + obj = e_widget_add(evas); + e_widget_del_hook_set(obj, _e_wid_del_hook); + wd = calloc(1, sizeof(E_Widget_Data)); + e_widget_data_set(obj, wd); + wd->o_widget = obj; + + o = e_widget_table_add(evas, 0); + e_widget_resize_object_set(obj, o); + evas_object_show(o); + e_widget_sub_object_add(obj, o); + wd->o_tb = o; + + o = e_widget_toolbar_add(evas, icon_w, icon_h); + e_widget_table_object_append(wd->o_tb, o, 0, 0, 1, 1, 1, 1, 1, 0); + wd->o_bar = o; + evas_object_show(o); + + return obj; +} + +EAPI void +e_widget_toolbook_page_append(Evas_Object *toolbook, Evas_Object *icon, const char *label, Evas_Object *content, int expand_w, int expand_h, int fill_w, int fill_h, double ax, double ay) +{ + E_Widget_Data *wd; + Evas_Coord minw, minh; + + wd = e_widget_data_get(toolbook); + e_widget_toolbar_item_append(wd->o_bar, icon, label, _item_sel, + toolbook, content); + e_widget_table_object_align_append(wd->o_tb, content, + 0, 1, 1, 1, + fill_w, fill_h, expand_w, expand_h, + ax, ay); + evas_object_hide(content); + wd->content = eina_list_append(wd->content, content); + e_widget_min_size_get(wd->o_tb, &minw, &minh); + e_widget_min_size_set(toolbook, minw, minh); +} + +EAPI void +e_widget_toolbook_page_show(Evas_Object *toolbook, int n) +{ + E_Widget_Data *wd; + + wd = e_widget_data_get(toolbook); + e_widget_toolbar_item_select(wd->o_bar, n); +} + +/* Private functions */ +static void +_e_wid_del_hook(Evas_Object *obj) +{ + E_Widget_Data *wd; + + wd = e_widget_data_get(obj); + eina_list_free(wd->content); + free(wd); +} + +static void +_item_sel(void *data1, void *data2) +{ + E_Widget_Data *wd; + Evas_Object *obj, *sobj; + Eina_List *l; + + obj = data1; + sobj = data2; + wd = e_widget_data_get(obj); + + for (l = wd->content; l; l = l->next) + { + Evas_Object *o; + + o = l->data; + if (o == sobj) evas_object_show(o); + else evas_object_hide(o); + } +} diff --git a/src/bin/e_widget_toolbook.h b/src/bin/e_widget_toolbook.h new file mode 100644 index 000000000..b617485ab --- /dev/null +++ b/src/bin/e_widget_toolbook.h @@ -0,0 +1,14 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ +#ifdef E_TYPEDEFS +#else +#ifndef E_WIDGET_TOOLBOOK_H +#define E_WIDGET_TOOLBOOK_H + +EAPI Evas_Object *e_widget_toolbook_add(Evas *evas, int icon_w, int icon_h); +EAPI void e_widget_toolbook_page_append(Evas_Object *toolbook, Evas_Object *icon, const char *label, Evas_Object *content, int expand_w, int expand_h, int fill_w, int fill_h, double ax, double ay); +EAPI void e_widget_toolbook_page_show(Evas_Object *toolbook, int n); + +#endif +#endif diff --git a/src/modules/battery/e_mod_config.c b/src/modules/battery/e_mod_config.c index 09a264fd7..cc0be47a8 100644 --- a/src/modules/battery/e_mod_config.c +++ b/src/modules/battery/e_mod_config.c @@ -125,59 +125,49 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) static Evas_Object * _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { - Evas_Object *o, *of, *ob; + Evas_Object *o, *ob, *of, *otb; E_Radio_Group *rg; + + otb = e_widget_toolbook_add(evas, 48 * e_scale, 48 * e_scale); /* Use Sliders for both cfg options */ + o = e_widget_table_add(evas, 0); + + ob = e_widget_label_add(evas, _("Check every:")); + e_widget_table_object_append(o, ob, 0, 0, 1, 1, 1, 0, 1, 0); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f ticks"), 1, 256, 4, 0, NULL, &(cfdata->poll_interval), 180); + e_widget_table_object_append(o, ob, 0, 1, 1, 1, 1, 0, 1, 0); + e_widget_toolbook_page_append(otb, NULL, _("Polling"), o, 0, 0, 0, 0, 0.5, 0.0); + + o = e_widget_table_add(evas, 0); + ob = e_widget_check_add(evas, _("Show alert on low battery"), &(cfdata->show_alert)); + e_widget_table_object_append(o, ob, 0, 0, 1, 1, 1, 1, 1, 0); + ob = e_widget_label_add(evas, _("Alert when at:")); + e_widget_table_object_append(o, ob, 0, 1, 1, 1, 1, 0, 1, 1); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f min"), 0, 60, 1, 0, NULL, &(cfdata->alert_time), 180); + e_widget_table_object_append(o, ob, 0, 2, 1, 1, 1, 0, 1, 0); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f %%"), 0, 100, 1, 0, NULL, &(cfdata->alert_percent), 180); + e_widget_table_object_append(o, ob, 0, 3, 1, 1, 1, 0, 1, 0); + ob = e_widget_check_add(evas, _("Auto dismiss in..."), &(cfdata->dismiss_alert)); + e_widget_table_object_append(o, ob, 0, 4, 1, 1, 1, 1, 1, 0); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f sec"), 1, 300, 1, 0, NULL, &(cfdata->alert_timeout), 180); + e_widget_table_object_append(o, ob, 0, 5, 1, 1, 1, 0, 1, 0); + e_widget_toolbook_page_append(otb, NULL, _("Alert"), o, 0, 0, 0, 0, 0.5, 0.0); + o = e_widget_list_add(evas, 0, 0); - of = e_widget_frametable_add(evas, _("Polling (Internal)"), 1); - - ob = e_widget_label_add(evas, _("Check battery every:")); - e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 0, 1, 0); - - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f ticks"), 1, 1024, 4, 0, NULL, &(cfdata->poll_interval), 256); - e_widget_frametable_object_append(of, ob, 0, 1, 1, 1, 1, 0, 1, 0); - - e_widget_list_object_append(o, of, 1, 1, 0.5); - - of = e_widget_frametable_add(evas, _("Alert"), 1); - - ob = e_widget_check_add(evas, _("Show alert when battery is low"), &(cfdata->show_alert)); - e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 1, 1, 0); - - ob = e_widget_label_add(evas, _("Alert when battery is down to:")); - e_widget_frametable_object_append(of, ob, 0, 1, 1, 1, 1, 0, 1, 1); - - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f minutes"), 0, 60, 1, 0, NULL, &(cfdata->alert_time), 60); - e_widget_frametable_object_append(of, ob, 0, 2, 1, 1, 1, 0, 1, 0); - - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f percent"), 0, 100, 1, 0, NULL, &(cfdata->alert_percent), 100); - e_widget_frametable_object_append(of, ob, 0, 3, 1, 1, 1, 0, 1, 0); - - ob = e_widget_check_add(evas, _("Dismiss alert automatically"), &(cfdata->dismiss_alert)); - e_widget_frametable_object_append(of, ob, 0, 4, 1, 1, 1, 1, 1, 0); - - ob = e_widget_label_add(evas, _("Dismiss alert after:")); - e_widget_frametable_object_append(of, ob, 0, 5, 1, 1, 1, 0, 1, 0); - - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1, 300, 1, 0, NULL, &(cfdata->alert_timeout), 150); - e_widget_frametable_object_append(of, ob, 0, 6, 1, 1, 1, 0, 1, 0); - - e_widget_list_object_append(o, of, 1, 1, 0.5); - - of = e_widget_framelist_add(evas, _("Hardware Interface"), 0); rg = e_widget_radio_group_new(&(cfdata->force_mode)); ob = e_widget_radio_add(evas, _("Auto Detect"), 0, rg); - e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, ob, 1, 0, 0.0); ob = e_widget_radio_add(evas, _("Internal"), 1, rg); - e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, ob, 1, 0, 0.0); ob = e_widget_radio_add(evas, _("HAL"), 2, rg); - e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, ob, 1, 0, 0.0); - e_widget_list_object_append(o, of, 1, 1, 0.5); - - return o; + e_widget_toolbook_page_append(otb, NULL, _("Hardware"), o, 0, 0, 0, 0, 0.5, 0.0); + + e_widget_toolbook_page_show(otb, 0); + return otb; } static int