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

Reply via email to