Good idea to use a macro inside a macro, where the first one is never used ...
2014-04-07 10:45 GMT+02:00 Michaël Bouchaud <[email protected]>: > Like before, Split your patch. > Here you remove all the modularity of conf panel. This is really bad !!!! > > > > 2014-04-02 17:55 GMT+02:00 Marcel Hollerbach <[email protected]> > : > > bu5hm4n pushed a commit to branch master. >> >> >> http://git.enlightenment.org/misc/entrance.git/commit/?id=bd7d06b2c4f58d3fb1d420d0c0a93d96118a4501 >> >> commit bd7d06b2c4f58d3fb1d420d0c0a93d96118a4501 >> Author: Marcel Hollerbach <[email protected]> >> Date: Wed Apr 2 12:22:50 2014 +0200 >> >> entrance: Updated the general Settings >> >> - There is a toolbar on the left side >> >> - Added placeholder for themeselector and graphical log >> >> - Backgrounds are displayed from the pools ! >> --- >> src/bin/entrance_conf_main.c | 248 >> ++++++++++++++++++++++++++++--------------- >> 1 file changed, 164 insertions(+), 84 deletions(-) >> >> diff --git a/src/bin/entrance_conf_main.c b/src/bin/entrance_conf_main.c >> index cf295d3..9cf2efb 100644 >> --- a/src/bin/entrance_conf_main.c >> +++ b/src/bin/entrance_conf_main.c >> @@ -8,6 +8,7 @@ typedef struct Entrance_Int_Conf_Main_ >> const char *path; >> const char *group; >> } bg; >> + Evas_Object *display_area; >> const char *theme; >> const char *elm_profile; >> Eina_Bool vkbd_enabled : 1; >> @@ -55,15 +56,17 @@ _entrance_conf_bg_fill_cb(void *data, Elm_Object_Item >> *it) >> cbg = data; >> >> entrance_gui_background_get(&bg_path, &bg_group); >> - if ((cbg->path) >> - && (cbg->group) >> - && (bg_path) >> - && (bg_group) >> - && (!strcmp(cbg->path, bg_path)) >> - && (!strcmp(cbg->group, bg_group))) >> + if (((cbg->path) && (bg_path) >> + && (!strcmp(cbg->path, bg_path))) || >> + ((!cbg->path) && (!bg_path))) >> { >> - elm_genlist_item_selected_set(it, EINA_TRUE); >> - return EINA_TRUE; >> + if (((cbg->group) && (bg_group) >> + && (!strcmp(cbg->group, bg_group))) || >> + ((!cbg->group) && (!bg_group))) >> + { >> + elm_gengrid_item_selected_set(it, EINA_TRUE); >> + return EINA_TRUE; >> + } >> } >> return EINA_FALSE; >> } >> @@ -73,12 +76,6 @@ _entrance_conf_bg_sel(void *data EINA_UNUSED, >> Evas_Object *obj EINA_UNUSED, void >> { >> Entrance_Conf_Background *cbg; >> cbg = elm_object_item_data_get(event_info); >> - if (!elm_layout_file_set(_entrance_int_conf_main->bg.preview, >> - cbg->path, cbg->group)) >> - { >> - PT("Error on loading "); >> - fprintf(stderr, "%s %s\n", cbg->path, cbg->group); >> - } >> _entrance_int_conf_main->bg.path = cbg->path; >> _entrance_int_conf_main->bg.group = cbg->group; >> entrance_conf_changed(); >> @@ -105,68 +102,43 @@ _entrance_conf_scale_changed(void *data >> EINA_UNUSED, Evas_Object *obj, void *eve >> entrance_conf_changed(); >> } >> >> +static void >> +_entrance_conf_toolbar_click(void *data, Evas_Object *obj EINA_UNUSED, >> void *event_info EINA_UNUSED) >> +{ >> + Evas_Object *o = data, *old; >> >> -static Evas_Object * >> -_entrance_conf_main_build(Evas_Object *obj) >> + Eina_List *childs = >> elm_box_children_get(_entrance_int_conf_main->display_area); >> + old = eina_list_data_get(childs); >> + elm_box_unpack(_entrance_int_conf_main->display_area, old); >> + >> + evas_object_hide(old); >> + >> + elm_box_pack_end(_entrance_int_conf_main->display_area, o); >> + evas_object_show(o); >> +} >> + >> +static Evas_Object* >> +_entrance_conf_main_general(Evas_Object *obj) >> { >> - Evas_Object *t, *bx, *hbx, *o, *gl; >> - Eina_List *l; >> - int j = 0; >> + Evas_Object *t, *o; >> >> + /* General */ >> t = elm_table_add(obj); >> - elm_table_padding_set(t, 5 , 5); >> + elm_table_padding_set(t, 0, 0); >> evas_object_size_hint_weight_set(t, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> - >> - /* Background */ >> - o = elm_label_add(t); >> - elm_object_text_set(o, "Background"); >> - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - elm_table_pack(t, o, 0, j, 1, 1); >> - evas_object_show(o); >> - ++j; >> - >> - hbx = elm_box_add(t); >> - elm_box_horizontal_set(hbx, EINA_TRUE); >> - elm_table_pack(t, hbx, 0, j, 2, 3); >> - evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> - evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - gl = elm_genlist_add(hbx); >> - elm_scroller_bounce_set(gl, EINA_FALSE, EINA_TRUE); >> - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> - evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - elm_box_pack_end(hbx, gl); >> - evas_object_show(gl); >> - bx = elm_box_add(hbx); >> - elm_box_pack_end(hbx, bx); >> - evas_object_show(bx); >> - o = elm_layout_add(hbx); >> - _entrance_int_conf_main->bg.preview = o; >> - elm_box_pack_end(bx, o); >> - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - evas_object_show(o); >> - o = evas_object_rectangle_add(hbx); >> - evas_object_color_set(o, 0, 0, 0, 0); >> - evas_object_size_hint_min_set(o, 256, 0); >> - elm_box_pack_end(bx, o); >> - evas_object_show(o); >> - evas_object_show(hbx); >> - j += 3; >> - l = entrance_conf_backgrounds_get(gl, NULL); >> - entrance_fill(gl, entrance_conf_background_fill_get(), >> - l, _entrance_conf_bg_fill_cb, _entrance_conf_bg_sel, o); >> - eina_list_free(l); >> + evas_object_size_hint_align_set(t, EVAS_HINT_FILL, EVAS_HINT_FILL); >> >> /* Touch Screen */ >> - o = elm_label_add(t); >> + o = elm_label_add(obj); >> elm_object_text_set(o, "Use a virtual keyboard"); >> - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> + evas_object_size_hint_weight_set(o, 1, 0); >> evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - elm_table_pack(t, o, 0, j, 1, 1); >> + elm_table_pack(t, o, 0, 0, 1, 1); >> evas_object_show(o); >> - o = elm_actionslider_add(t); >> + >> + o = elm_actionslider_add(obj); >> elm_object_style_set(o, "bar"); >> + evas_object_size_hint_weight_set(o, 1, 0); >> evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> elm_object_part_text_set(o, "left", "Disabled"); >> elm_object_part_text_set(o, "right", "Enabled"); >> @@ -175,36 +147,35 @@ _entrance_conf_main_build(Evas_Object *obj) >> elm_actionslider_enabled_pos_set(o, ELM_ACTIONSLIDER_LEFT | >> ELM_ACTIONSLIDER_RIGHT); >> evas_object_smart_callback_add(o, "selected", >> - _entrance_conf_vkbd_changed, NULL); >> + _entrance_conf_vkbd_changed, obj); >> if (_entrance_int_conf_main->vkbd_enabled) >> elm_actionslider_indicator_pos_set(o, ELM_ACTIONSLIDER_RIGHT); >> else >> elm_actionslider_indicator_pos_set(o, ELM_ACTIONSLIDER_LEFT); >> - elm_table_pack(t, o, 1, j, 1, 1); >> + elm_table_pack(t, o, 1, 0, 1, 1); >> evas_object_show(o); >> - ++j; >> >> /* Elementary Profile */ >> - o = elm_label_add(t); >> - elm_object_text_set(o, "elementary profile"); >> - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> + o = elm_label_add(obj); >> + elm_object_text_set(o, "elementary profile - NOT WORKING"); >> + evas_object_size_hint_weight_set(o, 1, 0); >> evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - elm_table_pack(t, o, 0, j, 1, 1); >> + elm_table_pack(t, o, 0, 1, 1, 1); >> evas_object_show(o); >> - o = elm_hoversel_add(t); >> + >> + o = elm_hoversel_add(obj); >> elm_object_text_set(o, _entrance_int_conf_main->elm_profile); >> evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - elm_table_pack(t, o, 1, j, 1, 1); >> + elm_table_pack(t, o, 1, 1, 1, 1); >> evas_object_show(o); >> - ++j; >> >> /* Scaling */ >> o = elm_label_add(t); >> elm_object_text_set(o, "Scaling"); >> evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> - elm_table_pack(t, o, 0, j, 1, 1); >> + elm_table_pack(t, o, 0, 2, 1, 1); >> evas_object_show(o); >> o = elm_spinner_add(t); >> evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> @@ -216,17 +187,124 @@ _entrance_conf_main_build(Evas_Object *obj) >> elm_spinner_step_set(o, 0.15); >> elm_spinner_label_format_set(o, "%.2f"); >> >> - elm_table_pack(t, o, 1, j, 1, 1); >> + elm_table_pack(t, o, 1, 2, 1, 1); >> evas_object_show(o); >> - ++j; >> + return t; >> +} >> >> - o = evas_object_rectangle_add(o); >> - evas_object_color_set(o, 0, 0, 0, 0); >> - evas_object_size_hint_min_set(o, 128, 0); >> - elm_table_pack(t, o, 1, j, 1, 1); >> +static Evas_Object* >> +_entrance_conf_main_background(Evas_Object *obj) >> +{ >> + Evas_Object *o, *bx; >> + Eina_List *s_bg, *t_bg, *tmp = NULL, *node = NULL; >> >> - evas_object_show(t); >> - return t; >> + o = bx = elm_box_add(obj); >> + elm_box_horizontal_set(o, EINA_FALSE); >> + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + >> + o = elm_label_add(obj); >> + elm_object_text_set(o, "Background"); >> + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + elm_box_pack_end(bx, o); >> + evas_object_show(o); >> + >> + o = elm_gengrid_add(obj); >> + elm_gengrid_item_size_set(o, >> + elm_config_scale_get() * 150, >> + elm_config_scale_get() * 150); >> + elm_gengrid_group_item_size_set(o, >> + elm_config_scale_get() * 31, >> + elm_config_scale_get() * 31); >> + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + elm_box_pack_end(bx, o); >> + evas_object_show(o); >> + >> + s_bg = entrance_gui_background_pool_get(); >> + t_bg = entrance_gui_theme_backgrounds(); >> + >> +#define LIST_FILL(list) \ >> + tmp = NULL; \ >> + IMG_LIST_FORK(list, tmp); \ >> + entrance_fill(o, entrance_conf_background_fill_get(),\ >> + tmp, _entrance_conf_bg_fill_cb,\ >> + _entrance_conf_bg_sel, o); >> + >> + LIST_FILL(s_bg); >> + LIST_FILL(t_bg); >> + >> +#undef LIST_FILL >> + >> + return bx; >> +} >> + >> +static Evas_Object* >> +_entrance_conf_main_themesel(Evas_Object *obj) >> +{ >> + Evas_Object *o; >> + /* Theme selector */ >> + o = elm_label_add(obj); >> + elm_object_text_set(o, "TODO Implement theme selector!"); >> + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + return o; >> +} >> + >> +static Evas_Object* >> +_entrance_conf_main_graph_log(Evas_Object *obj) >> +{ >> + Evas_Object *o; >> + /* Graphical Log */ >> + o = elm_label_add(obj); >> + elm_object_text_set(o, "TODO Implement Graphical Log !"); >> + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + return o; >> +} >> + >> +static Evas_Object * >> +_entrance_conf_main_build(Evas_Object *obj) >> +{ >> + Evas_Object *tb, *bx_over, *o, *bx; >> + >> + /*Main Frame*/ >> + o = bx_over = elm_box_add(obj); >> + elm_box_horizontal_set(o, EINA_TRUE); >> + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + evas_object_show(o); >> + >> + o = tb = elm_toolbar_add(obj); >> + evas_object_size_hint_weight_set(o, 0, EVAS_HINT_EXPAND); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + elm_toolbar_horizontal_set(o, EINA_FALSE); >> + elm_toolbar_select_mode_set(o, ELM_OBJECT_SELECT_MODE_ALWAYS); >> + elm_toolbar_shrink_mode_set(o, ELM_TOOLBAR_SHRINK_SCROLL); >> + elm_toolbar_homogeneous_set(o, EINA_FALSE); >> + elm_box_pack_end(bx_over, o); >> + evas_object_show(o); >> + >> + o = bx = elm_box_add(obj); >> + elm_box_horizontal_set(o, EINA_TRUE); >> + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, >> EVAS_HINT_EXPAND); >> + evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); >> + elm_box_pack_end(bx_over, o); >> + evas_object_show(o); >> + >> + _entrance_int_conf_main->display_area = o; >> + >> + elm_toolbar_item_append(tb, NULL, "General", >> + _entrance_conf_toolbar_click, _entrance_conf_main_general(obj)); >> + elm_toolbar_item_append(tb, NULL, "Background", >> + _entrance_conf_toolbar_click, >> _entrance_conf_main_background(obj)); >> + elm_toolbar_item_append(tb, NULL, "Theme", >> + _entrance_conf_toolbar_click, _entrance_conf_main_themesel(obj)); >> + elm_toolbar_item_append(tb, NULL, "Log", >> + _entrance_conf_toolbar_click, _entrance_conf_main_graph_log(obj)); >> + >> + return bx_over; >> } >> >> static Eina_Bool >> @@ -251,6 +329,8 @@ _entrance_conf_main_apply(void) >> >> conf.bg.path = _entrance_int_conf_main->bg.path; >> conf.bg.group = _entrance_int_conf_main->bg.group; >> + conf.background_pool = NULL; >> + conf.icon_pool = NULL; >> conf.vkbd_enabled = _entrance_int_conf_main->vkbd_enabled; >> >> if (_entrance_int_conf_main->scale != elm_config_scale_get()) >> >> -- >> >> >> > > > -- > Michaël Bouchaud (yoz) <[email protected]> > -- Michaël Bouchaud (yoz) <[email protected]> ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees_APR _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
