On Mon, Apr 07, 2014 at 10:42:20AM +0200, Michaël Bouchaud wrote: > Please split you patch. why adding a macro used nowhere in this patch ? I am using this macro in the user settings and the general settings. Should I put them in the headers od the user and general settings ? > And stop to cut and paste some code. A group isn't a file ... Try to give a > better quality in your patch I never copy and paste that, I wanted to ecore_file_file_get cause it is just returning the last substring after the last "/". Of course I can write a little algo to do the same. > > > 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
------------------------------------------------------------------------------ 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
