Please split you patch. why adding a macro used nowhere in this patch ? And stop to cut and paste some code. A group isn't a file ... Try to give a better quality in your patch
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=cf5c4cf46a598925bcd9549e04f141903c3871b4 > > commit cf5c4cf46a598925bcd9549e04f141903c3871b4 > Author: Marcel Hollerbach <[email protected]> > Date: Wed Apr 2 12:18:47 2014 +0200 > > entrance: Updated the entrance_conf.c > > - backgrounds are hold in pools, no need to generate them there > > - New Textes for the Items are used > > - Lets use the thumb style in the settings pane > > - There is a macro to get Entrance_Image structs to > Entrance_Conf_Background struct (in lists) > --- > src/bin/entrance_conf.c | 121 > +++++++++++++++++++----------------------------- > src/bin/entrance_conf.h | 16 ++++++- > 2 files changed, 63 insertions(+), 74 deletions(-) > > diff --git a/src/bin/entrance_conf.c b/src/bin/entrance_conf.c > index 4d0623f..979c6a0 100644 > --- a/src/bin/entrance_conf.c > +++ b/src/bin/entrance_conf.c > @@ -76,7 +76,44 @@ _entrance_conf_end(Evas_Object *win) > _entrance_conf->current = NULL; > } > > -static void > +void > +entrance_conf_background_title_gen(Entrance_Conf_Background *cbg) > +{ > + char buf[PATH_MAX]; > + char *group_suffix = NULL, *result; > + const char *filename = NULL; > + > + if (cbg->path) > + { > + filename = ecore_file_file_get(cbg->path); > + } > + > + if (cbg->group) > + { > + group_suffix = ecore_file_file_get(cbg->group); > + } > + > + if ((group_suffix) && (filename)) > + { > + snprintf(buf, sizeof(buf), "%s - %s", filename, group_suffix); > + } > + else if (group_suffix) > + { > + snprintf(buf, sizeof(buf), "%s", group_suffix); > + } > + else if(filename) > + { > + snprintf(buf, sizeof(buf), "%s", filename); > + } > + else > + { > + snprintf(buf, sizeof(buf), "None"); > + } > + > + cbg->name = eina_stringshare_add(buf); > +} > + > + static void > _entrance_conf_promote(Entrance_Conf_Module *conf) > { > elm_naviframe_item_promote(conf->item); > @@ -126,12 +163,15 @@ _entrance_conf_bg_content_get(void *data, > Evas_Object *obj, const char *part) > cbg = data; > if (part && !strcmp("elm.swallow.icon", part)) > { > - o = elm_image_add(obj); > - elm_image_file_set(o, cbg->path, cbg->group); > - elm_image_smooth_set(o, EINA_FALSE); > - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, > - EVAS_HINT_EXPAND); > - evas_object_show(o); > + if (cbg->path || cbg->group) > + { > + o = elm_image_add(obj); > + elm_image_file_set(o, cbg->path, cbg->group); > + elm_image_smooth_set(o, EINA_FALSE); > + evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, > + EVAS_HINT_EXPAND); > + evas_object_show(o); > + } > } > return o; > } > @@ -160,7 +200,7 @@ entrance_conf_init(void) > PT("conf init\n"); > _entrance_conf = calloc(1, sizeof(Entrance_Int_Conf)); > _entrance_conf->background_fill = > - entrance_fill_new("default", > + entrance_fill_new("thumb", > _entrance_conf_bg_text_get, > _entrance_conf_bg_content_get, > _entrance_conf_bg_state_get, > @@ -305,71 +345,6 @@ entrance_conf_changed(void) > } > } > > -Eina_List * > -entrance_conf_backgrounds_get(Evas_Object *obj, const char *user) > -{ > - Evas_Object *o, *edj; > - Eina_List *list, *l, *nl = NULL; > - Entrance_Conf_Background *cbg; > - const char *str; > - const char *path; > - char buf[PATH_MAX]; > - Eina_Iterator *it; > - > - o = entrance_gui_theme_get(obj, "entrance/background"); > - edj = elm_layout_edje_get(o); > - edje_object_file_get(edj, &path, NULL); > - list = entrance_gui_stringlist_get(edje_object_data_get(edj, "items")); > - EINA_LIST_FOREACH(list, l, str) > - { > - cbg = calloc(1, sizeof(Entrance_Conf_Background)); > - snprintf(buf, sizeof(buf), > - "entrance/background/%s", str); > - > - cbg->path = eina_stringshare_add(path); > - cbg->group = eina_stringshare_add(buf); > - cbg->name = eina_stringshare_add(str); > - nl = eina_list_append(nl, cbg); > - } > - entrance_gui_stringlist_free(list); > - evas_object_del(o); > - > - it = eina_file_ls(PACKAGE_DATA_DIR"/backgrounds"); > - EINA_ITERATOR_FOREACH(it, str) > - { > - int len; > - len = strlen(str); > - if (len < 4) continue; > - if (!strcmp(&str[len-4], ".edj")) > - { > - cbg = calloc(1, sizeof(Entrance_Conf_Background)); > - snprintf(buf, sizeof(buf), > - "entrance/background/%s", str); > - cbg->path = str; > - /* TODO use entrance/desktop/background or > e/desktop/background */ > - cbg->group = eina_stringshare_add("e/desktop/background"); > - { > - char *name, *p; > - name = strrchr(str, '/'); > - if (name) > - { > - name++; > - name = strdupa(name); > - p = strrchr(name, '.'); > - if (p) *p = '\0'; > - } > - cbg->name = eina_stringshare_add(name); > - } > - nl = eina_list_append(nl, cbg); > - } > - else > - eina_stringshare_del(str); > - } > - eina_iterator_free(it); > - > - return nl; > -} > - > Entrance_Fill * > entrance_conf_background_fill_get(void) > { > diff --git a/src/bin/entrance_conf.h b/src/bin/entrance_conf.h > index 8082bea..73ea6cc 100644 > --- a/src/bin/entrance_conf.h > +++ b/src/bin/entrance_conf.h > @@ -8,6 +8,20 @@ typedef struct Entrance_Conf_Background_ > const char *name; > } Entrance_Conf_Background; > > +#define IMG_LIST_FORK(l_src, l_dest) \ > + do { \ > + Entrance_Image *ptr; \ > + Entrance_Conf_Background *tmp_ptr; \ > + EINA_LIST_FOREACH(l_src, node, ptr) \ > + { \ > + tmp_ptr = malloc(sizeof(Entrance_Conf_Background)); \ > + tmp_ptr->path = eina_stringshare_add(ptr->path); \ > + tmp_ptr->group = eina_stringshare_add(ptr->group); \ > + entrance_conf_background_title_gen(tmp_ptr);\ > + l_dest = eina_list_append(l_dest, tmp_ptr); \ > + } \ > + }while(0); > + > typedef void (*Entrance_Conf_Begin) (void); > typedef void (*Entrance_Conf_End) (void); > typedef Evas_Object *(*Entrance_Conf_Build) (Evas_Object *obj); > @@ -19,7 +33,7 @@ void entrance_conf_shutdown(void); > void entrance_conf_module_register(const char *label, Entrance_Conf_Begin > begin, Entrance_Conf_End end, Entrance_Conf_Build build, > Entrance_Conf_Check check, Entrance_Conf_Apply apply); > void entrance_conf_begin(Evas_Object *obj, Evas_Object *parent); > void entrance_conf_changed(void); > -Eina_List *entrance_conf_backgrounds_get(Evas_Object *obj, const char > *user); > +void entrance_conf_background_title_gen(Entrance_Conf_Background *ptr); > Entrance_Fill *entrance_conf_background_fill_get(void); > > > > -- > > > -- 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
