nothing to do in a .h if you are using in one place. It's a design request. And a macro calling another macro is just a wrong design. Or you target is to write unmaintainable code. ecore_file is for file and nothing else ... Write a little algo to find last / ???
2014-04-07 12:57 GMT+02:00 Marcel Hollerbach <marcel-hollerb...@t-online.de> : > > > 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 < > marcel.hollerb...@stzedn.de>: > > > > > bu5hm4n pushed a commit to branch master. > > > > > > > > > > http://git.enlightenment.org/misc/entrance.git/commit/?id=cf5c4cf46a598925bcd9549e04f141903c3871b4 > > > > > > commit cf5c4cf46a598925bcd9549e04f141903c3871b4 > > > Author: Marcel Hollerbach <marcel.hollerb...@stzedn.de> > > > 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) <y...@efl.so> > > > ------------------------------------------------------------------------------ > > 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 > > enlightenment-devel@lists.sourceforge.net > > 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 > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Michaël Bouchaud (yoz) <y...@efl.so> ------------------------------------------------------------------------------ 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 enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel