diff --git a/src/modules/pager/gadget/config.c b/src/modules/pager/gadget/config.c index eb532b3f7..438eaf370 100644 --- a/src/modules/pager/gadget/config.c +++ b/src/modules/pager/gadget/config.c @@ -268,7 +268,7 @@ _config_virtual_desks_show(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, static Evas_Object * _config_create_pages(Evas_Object *parent) { - Evas_Object *m, *tb, *ow; + Evas_Object *m, *tb, *ow, *fr; int row = 5; m = elm_table_add(parent); @@ -276,8 +276,15 @@ _config_create_pages(Evas_Object *parent) evas_object_show(m); /* General Page */ + fr = elm_frame_add(m); + elm_object_text_set(fr, _("General")); + E_EXPAND(fr); + E_FILL(fr); + evas_object_show(fr); + tb = elm_table_add(m); E_EXPAND(tb); + elm_object_content_set(fr, tb); evas_object_show(tb); ow = elm_button_add(tb); @@ -318,7 +325,7 @@ _config_create_pages(Evas_Object *parent) ow = elm_label_add(tb); elm_object_text_set(ow, _("Resistance to dragging")); elm_table_pack(tb, ow, 0, 3, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); @@ -339,7 +346,7 @@ _config_create_pages(Evas_Object *parent) ow = elm_label_add(tb); elm_object_text_set(ow, _("Select and Slide button")); elm_table_pack(tb, ow, 0, row, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); row++; @@ -359,7 +366,7 @@ _config_create_pages(Evas_Object *parent) ow = elm_label_add(tb); elm_object_text_set(ow, _("Drag and Drop button")); elm_table_pack(tb, ow, 0, row, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); row++; @@ -378,7 +385,7 @@ _config_create_pages(Evas_Object *parent) ow = elm_label_add(tb); elm_object_text_set(ow, _("Drag whole desktop")); elm_table_pack(tb, ow, 0, row, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); row++; @@ -395,12 +402,19 @@ _config_create_pages(Evas_Object *parent) _config_update_btns(); - elm_table_pack(m, tb, 0, 0, 1, 1); - pager_gadget_config_objects->general_page = tb; + elm_table_pack(m, fr, 0, 0, 1, 1); + pager_gadget_config_objects->general_page = fr; /* Popup Page */ - tb = elm_table_add(m); + fr = elm_frame_add(m); + elm_object_text_set(fr, _("Popup")); + E_EXPAND(fr); + E_FILL(fr); + evas_object_show(fr); + + tb = elm_table_add(fr); E_EXPAND(tb); + elm_object_content_set(fr, tb); evas_object_show(tb); ow = elm_check_add(tb); @@ -419,7 +433,7 @@ _config_create_pages(Evas_Object *parent) elm_object_text_set(ow, _("Popup pager height")); elm_object_disabled_set(ow, !pager_config->popup); elm_table_pack(tb, ow, 0, 1, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); @@ -441,7 +455,7 @@ _config_create_pages(Evas_Object *parent) elm_object_text_set(ow, _("Popup duration")); elm_object_disabled_set(ow, !pager_config->popup); elm_table_pack(tb, ow, 0, 3, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); @@ -463,7 +477,7 @@ _config_create_pages(Evas_Object *parent) elm_object_text_set(ow, _("Pager action popup height")); elm_object_disabled_set(ow, !pager_config->popup); elm_table_pack(tb, ow, 0, 5, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); @@ -481,12 +495,19 @@ _config_create_pages(Evas_Object *parent) evas_object_show(ow); pager_gadget_config_objects->o_popup_act_height = ow; - elm_table_pack(m, tb, 0, 0, 1, 1); - pager_gadget_config_objects->popup_page = tb; + elm_table_pack(m, fr, 0, 0, 1, 1); + pager_gadget_config_objects->popup_page = fr; /* Urgent Page */ - tb = elm_table_add(m); + fr = elm_frame_add(m); + elm_object_text_set(fr, _("Urgent")); + E_EXPAND(fr); + E_FILL(fr); + evas_object_show(fr); + + tb = elm_table_add(fr); E_EXPAND(tb); + elm_object_content_set(fr, tb); evas_object_show(tb); ow = elm_check_add(tb); @@ -531,7 +552,7 @@ _config_create_pages(Evas_Object *parent) elm_object_text_set(ow, _("Urgent Popup Duration")); elm_object_disabled_set(ow, !pager_config->popup_urgent); elm_table_pack(tb, ow, 0, 3, 1, 1); - E_ALIGN(ow, 0.5, 0.5); + E_ALIGN(ow, 0.0, 0.0); E_WEIGHT(ow, EVAS_HINT_EXPAND, 0); evas_object_show(ow); @@ -549,8 +570,8 @@ _config_create_pages(Evas_Object *parent) evas_object_show(ow); pager_gadget_config_objects->o_popup_urgent_speed = ow; - elm_table_pack(m, tb, 0, 0, 1, 1); - pager_gadget_config_objects->urgent_page = tb; + elm_table_pack(m, fr, 0, 0, 1, 1); + pager_gadget_config_objects->urgent_page = fr; return m; } @@ -558,7 +579,7 @@ _config_create_pages(Evas_Object *parent) EINTERN Evas_Object * config_pager(E_Zone *zone) { - Evas_Object *popup, *tb, *lbl, *list, *fr; + Evas_Object *popup, *tb, *lbl, *list; Elm_Object_Item *it; pager_gadget_config_objects = E_NEW(Config_Objects, 1); @@ -597,13 +618,8 @@ config_pager(E_Zone *zone) elm_list_go(list); evas_object_show(list); - fr = elm_frame_add(tb); - E_EXPAND(fr); - elm_table_pack(tb, fr, 1, 1, 1, 1); - evas_object_show(fr); - - elm_object_content_set(fr, - _config_create_pages(fr)); + elm_table_pack(tb, + _config_create_pages(tb), 1, 1, 1, 1); _config_show_general(NULL, NULL, NULL); popup = e_comp_object_util_add(popup, E_COMP_OBJECT_TYPE_NONE); diff --git a/src/modules/sysinfo/batman/batman.h b/src/modules/sysinfo/batman/batman.h index 2564f58ba..a5525f90e 100644 --- a/src/modules/sysinfo/batman/batman.h +++ b/src/modules/sysinfo/batman/batman.h @@ -85,6 +85,9 @@ struct _Batman_Config Evas_Object *alert_time; Evas_Object *alert_percent; Evas_Object *alert_timeout; + Evas_Object *general_page; + Evas_Object *alert_page; + Evas_Object *power_page; }; Eina_List *_batman_battery_find(const char *udi); diff --git a/src/modules/sysinfo/batman/batman_config.c b/src/modules/sysinfo/batman/batman_config.c index 7573dd04f..40fc97cc3 100644 --- a/src/modules/sysinfo/batman/batman_config.c +++ b/src/modules/sysinfo/batman/batman_config.c @@ -11,6 +11,36 @@ _config_close(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi e_config_save_queue(); } +static void +_config_show_general(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Batman_Config *bc = data; + + evas_object_hide(bc->power_page); + evas_object_hide(bc->alert_page); + evas_object_show(bc->general_page); +} + +static void +_config_show_alert(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Batman_Config *bc = data; + + evas_object_hide(bc->general_page); + evas_object_hide(bc->power_page); + evas_object_show(bc->alert_page); +} + +static void +_config_show_power(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Batman_Config *bc = data; + + evas_object_hide(bc->general_page); + evas_object_hide(bc->alert_page); + evas_object_show(bc->power_page); +} + static void _update_suspend_percent(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { @@ -213,8 +243,9 @@ _icon_theme_file_set(Evas_Object *img, const char *icon) Evas_Object * batman_configure(Instance *inst) { - Evas_Object *popup, *frame, *main_box, *box, *o, *group, *groupy, *lbl; + Evas_Object *popup, *tb, *list, *frame, *box, *o, *group, *groupy, *lbl; Evas_Object *slider, *check, *but, *img; + Elm_Object_Item *it; Eina_Bool show_alert; E_Zone *zone = e_zone_current_get(); Batman_Config *bc = E_NEW(Batman_Config, 1); @@ -231,37 +262,59 @@ batman_configure(Instance *inst) elm_popup_allow_events_set(popup, 1); elm_popup_scrollable_set(popup, 1); - main_box = elm_box_add(popup); - elm_box_horizontal_set(main_box, EINA_FALSE); - E_EXPAND(main_box); - E_FILL(main_box); - evas_object_show(main_box); - elm_object_content_set(popup, main_box); + tb = elm_table_add(popup); + E_EXPAND(tb); + evas_object_show(tb); + elm_object_content_set(popup, tb); - lbl = elm_label_add(main_box); + lbl = elm_label_add(tb); evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_style_set(lbl, "marker"); elm_object_text_set(lbl, _("Batman Configuration")); - elm_box_pack_end(main_box, lbl); + elm_table_pack(tb, lbl, 0, 0, 2, 1); evas_object_show(lbl); - frame = elm_frame_add(main_box); - elm_object_text_set(frame, _("Update Poll Interval")); + list = elm_list_add(tb); + E_ALIGN(list, 0, EVAS_HINT_FILL); + E_WEIGHT(list, 0, EVAS_HINT_EXPAND); + elm_table_pack(tb, list, 0, 1, 1, 1); + elm_list_select_mode_set(list, ELM_OBJECT_SELECT_MODE_ALWAYS); + elm_scroller_content_min_limit(list, 1, 1); + it = elm_list_item_append(list, _("General"), NULL, NULL, + _config_show_general, bc); + elm_list_item_selected_set(it, 1); + it = elm_list_item_append(list, _("Alert"), NULL, NULL, + _config_show_alert, bc); + it = elm_list_item_append(list, _("Power"), NULL, NULL, + _config_show_power, bc); + elm_list_go(list); + evas_object_show(list); + + frame = elm_frame_add(tb); + elm_object_text_set(frame, _("General")); E_EXPAND(frame); E_FILL(frame); - elm_box_pack_end(main_box, frame); + elm_table_pack(tb, frame, 1, 1, 1, 1); evas_object_show(frame); + bc->general_page = frame; box = elm_box_add(frame); elm_box_horizontal_set(box, EINA_FALSE); E_EXPAND(box); evas_object_show(box); + lbl = elm_label_add(box); + elm_object_text_set(lbl, _("Update Poll Interval:")); + E_ALIGN(lbl, 0.0, 0.0); + E_WEIGHT(lbl, EVAS_HINT_EXPAND, 0); + elm_box_pack_end(box, lbl); + evas_object_show(lbl); + o = elm_radio_add(box); elm_radio_state_value_set(o, 0); - E_EXPAND(o); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Fast (4 ticks)")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _poll_changed, bc); @@ -271,8 +324,8 @@ batman_configure(Instance *inst) o = elm_radio_add(box); elm_radio_state_value_set(o, 1); elm_radio_group_add(o, group); - E_EXPAND(o); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Medium (8 ticks)")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _poll_changed, bc); @@ -281,8 +334,8 @@ batman_configure(Instance *inst) o = elm_radio_add(box); elm_radio_state_value_set(o, 2); elm_radio_group_add(o, group); - E_EXPAND(o); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Normal (32 ticks)")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _poll_changed, bc); @@ -291,7 +344,8 @@ batman_configure(Instance *inst) o = elm_radio_add(box); elm_radio_state_value_set(o, 3); elm_radio_group_add(o, group); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Slow (64 ticks)")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _poll_changed, bc); @@ -300,8 +354,8 @@ batman_configure(Instance *inst) o = elm_radio_add(box); elm_radio_state_value_set(o, 4); elm_radio_group_add(o, group); - E_EXPAND(o); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Very Slow (256 ticks)")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _poll_changed, bc); @@ -330,12 +384,13 @@ batman_configure(Instance *inst) elm_object_content_set(frame, box); - frame = elm_frame_add(main_box); + frame = elm_frame_add(tb); elm_object_text_set(frame, _("Alert")); E_EXPAND(frame); E_FILL(frame); - elm_box_pack_end(main_box, frame); + elm_table_pack(tb, frame, 1, 1, 1, 1); evas_object_show(frame); + bc->alert_page = frame; box = elm_box_add(frame); elm_box_horizontal_set(box, EINA_FALSE); @@ -345,8 +400,8 @@ batman_configure(Instance *inst) check = elm_check_add(box); elm_object_text_set(check, _("Show low battery alert")); elm_check_state_set(check, show_alert); - evas_object_size_hint_align_set(check, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0); + E_ALIGN(check, 0.0, 0.0); + E_WEIGHT(check, EVAS_HINT_EXPAND, 0); evas_object_smart_callback_add(check, "changed", _check_changed, bc); elm_box_pack_end(box, check); evas_object_show(check); @@ -355,56 +410,74 @@ batman_configure(Instance *inst) check = elm_check_add(box); elm_object_text_set(check, _("Show alert as a desktop notification")); elm_check_state_set(check, inst->cfg->batman.desktop_notifications); - evas_object_size_hint_align_set(check, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0); + E_ALIGN(check, 0.0, 0.0); + E_WEIGHT(check, EVAS_HINT_EXPAND, 0); evas_object_smart_callback_add(check, "changed", _check_desktop_changed, bc); elm_object_disabled_set(check, !show_alert); elm_box_pack_end(box, check); evas_object_show(check); bc->alert_desktop = check; + lbl = elm_label_add(box); + elm_object_text_set(lbl, _("Alert when time left is at:")); + E_ALIGN(lbl, 0.0, 0.0); + E_WEIGHT(lbl, EVAS_HINT_EXPAND, 0); + elm_box_pack_end(box, lbl); + evas_object_show(lbl); + slider = elm_slider_add(box); - elm_object_text_set(slider, _("Alert when time left is at:")); elm_slider_unit_format_set(slider, "%1.0f min"); elm_slider_indicator_format_set(slider, "%1.0f min"); elm_slider_min_max_set(slider, 0, 60); elm_slider_value_set(slider, inst->cfg->batman.alert); elm_slider_step_set(slider, 1); elm_slider_span_size_set(slider, 100); - evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0); + E_ALIGN(slider, 0.0, 0.0); + E_WEIGHT(slider, EVAS_HINT_EXPAND, 0); evas_object_smart_callback_add(slider, "delay,changed", _update_alert_time, bc); elm_object_disabled_set(slider, !show_alert); elm_box_pack_end(box, slider); evas_object_show(slider); bc->alert_time = slider; + lbl = elm_label_add(box); + elm_object_text_set(lbl, _("Alert when percent left is at:")); + E_ALIGN(lbl, 0.0, 0.0); + E_WEIGHT(lbl, EVAS_HINT_EXPAND, 0); + elm_box_pack_end(box, lbl); + evas_object_show(lbl); + slider = elm_slider_add(box); - elm_object_text_set(slider, _("Alert when percent left is at:")); elm_slider_unit_format_set(slider, "%1.0f %%"); elm_slider_indicator_format_set(slider, "%1.0f %%"); elm_slider_min_max_set(slider, 0, 100); elm_slider_value_set(slider, inst->cfg->batman.alert_p); elm_slider_step_set(slider, 1); elm_slider_span_size_set(slider, 100); - evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0); + E_ALIGN(slider, 0.0, 0.0); + E_WEIGHT(slider, EVAS_HINT_EXPAND, 0); evas_object_smart_callback_add(slider, "delay,changed", _update_alert_percent, bc); elm_object_disabled_set(slider, !show_alert); elm_box_pack_end(box, slider); evas_object_show(slider); bc->alert_percent = slider; + lbl = elm_label_add(box); + elm_object_text_set(lbl, _("Alert timeout:")); + E_ALIGN(lbl, 0.0, 0.0); + E_WEIGHT(lbl, EVAS_HINT_EXPAND, 0); + elm_box_pack_end(box, lbl); + evas_object_show(lbl); + slider = elm_slider_add(box); - elm_object_text_set(slider, _("Alert timeout:")); elm_slider_unit_format_set(slider, "%1.0f s"); elm_slider_indicator_format_set(slider, "%1.0f s"); elm_slider_min_max_set(slider, 1, 300); elm_slider_value_set(slider, inst->cfg->batman.alert_timeout); elm_slider_step_set(slider, 1); elm_slider_span_size_set(slider, 100); - evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0); + E_ALIGN(slider, 0.0, 0.0); + E_WEIGHT(slider, EVAS_HINT_EXPAND, 0); evas_object_smart_callback_add(slider, "delay,changed", _update_alert_timeout, bc); elm_box_pack_end(box, slider); evas_object_show(slider); @@ -412,12 +485,13 @@ batman_configure(Instance *inst) elm_object_content_set(frame, box); - frame = elm_frame_add(main_box); + frame = elm_frame_add(tb); elm_object_text_set(frame, _("Power Management")); E_EXPAND(frame); E_FILL(frame); - elm_box_pack_end(main_box, frame); + elm_table_pack(tb, frame, 1, 1, 1, 1); evas_object_show(frame); + bc->power_page = frame; box = elm_box_add(frame); elm_box_horizontal_set(box, EINA_FALSE); @@ -426,8 +500,8 @@ batman_configure(Instance *inst) o = elm_radio_add(box); elm_radio_state_value_set(o, 0); - E_EXPAND(o); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Suspend when below:")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _suspend_changed, bc); @@ -437,7 +511,8 @@ batman_configure(Instance *inst) o = elm_radio_add(box); elm_radio_state_value_set(o, 1); elm_radio_group_add(o, groupy); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Hibernate when below:")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _suspend_changed, bc); @@ -446,8 +521,8 @@ batman_configure(Instance *inst) o = elm_radio_add(box); elm_radio_state_value_set(o, 2); elm_radio_group_add(o, groupy); - E_EXPAND(o); - E_ALIGN(o, 0, 0); + E_ALIGN(o, 0.0, 0.0); + E_WEIGHT(o, EVAS_HINT_EXPAND, 0); elm_object_text_set(o, _("Shutdown when below:")); elm_box_pack_end(box, o); evas_object_smart_callback_add(o, "changed", _suspend_changed, bc); @@ -475,8 +550,8 @@ batman_configure(Instance *inst) elm_slider_value_set(slider, inst->cfg->batman.suspend_below); elm_slider_step_set(slider, 1); elm_slider_span_size_set(slider, 100); - evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0); + E_ALIGN(slider, 0.0, 0.0); + E_WEIGHT(slider, EVAS_HINT_EXPAND, 0); evas_object_smart_callback_add(slider, "delay,changed", _update_suspend_percent, bc); elm_box_pack_end(box, slider); evas_object_show(slider); @@ -489,14 +564,18 @@ batman_configure(Instance *inst) but = elm_button_add(box); elm_object_part_content_set(but, "icon", img); elm_object_text_set(but, _("Power Management Timing")); - E_EXPAND(but); - evas_object_size_hint_align_set(but, EVAS_HINT_FILL, EVAS_HINT_FILL); + E_ALIGN(but, 0.0, 0.0); + E_WEIGHT(but, EVAS_HINT_EXPAND, 0); + E_FILL(but); evas_object_data_set(but, "popup", popup); evas_object_smart_callback_add(but, "clicked", _power_management_cb, popup); elm_box_pack_end(box, but); evas_object_show(but); elm_object_content_set(frame, box); + + _config_show_general(bc, NULL, NULL); + popup = e_comp_object_util_add(popup, E_COMP_OBJECT_TYPE_NONE); evas_object_layer_set(popup, E_LAYER_POPUP); evas_object_resize(popup, zone->w / 4, zone->h / 3);