Yes, I have plans to change this function to use eio, but I still did not
have the time to fix the issue of ordering the list of files to produce the
same results as this first patch. If anyone interested, there is a work in
progress in my eio branch.

Cheers, Etrunko

On Wed, Sep 10, 2014 at 6:12 AM, Cedric BAIL <cedric.b...@free.fr> wrote:

> On Wed, Sep 10, 2014 at 10:13 AM, Sebastian Dransfeld
> <s...@tango.flipp.net> wrote:
> > Maybe we should deprecate the ecore_file_*() functions which are
> > replaced by eina_file_*() functions? ecore_file_ls f.ex.
>
> Yes and depending on the use case, eio. Usually eina file operation do
> consume less memory and do more efficient syscall.
>
> Cedric
>
> > On 09/09/2014 10:17 PM, Eduardo Lima (Etrunko) wrote:
> >> etrunko pushed a commit to branch master.
> >>
> >>
> http://git.enlightenment.org/apps/rage.git/commit/?id=7c80b9a131b729bd244b40c194dc36bf24dde661
> >>
> >> commit 7c80b9a131b729bd244b40c194dc36bf24dde661
> >> Author: Eduardo Lima (Etrunko) <ebl...@gmail.com>
> >> Date:   Mon Aug 25 15:36:44 2014 -0300
> >>
> >>      dnd: Recurse into directories
> >>
> >>      Signed-off-by: Eduardo Lima (Etrunko) <eduardo.l...@intel.com>
> >> ---
> >>   AUTHORS       |  1 +
> >>   src/bin/dnd.c | 66
> +++++++++++++++++++++++++++++++++++++++++++++++++++++------
> >>   2 files changed, 61 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/AUTHORS b/AUTHORS
> >> index b9a9404..230cb46 100644
> >> --- a/AUTHORS
> >> +++ b/AUTHORS
> >> @@ -1 +1,2 @@
> >>   Carsten Haitzler <ras...@rasterman.com>
> >> +Eduardo Lima (Etrunko) <ebl...@gmail.com>
> >> diff --git a/src/bin/dnd.c b/src/bin/dnd.c
> >> index f8faba4..1a8b9d2 100644
> >> --- a/src/bin/dnd.c
> >> +++ b/src/bin/dnd.c
> >> @@ -60,6 +60,39 @@ _escape_parse(const char *str)
> >>      return dest;
> >>   }
> >>
> >> +static Eina_Bool
> >> +_recurse_dir(Evas_Object *win, const char *path)
> >> +{
> >> +   Eina_Bool ret = EINA_FALSE;
> >> +   Eina_List *ls, *l;
> >> +   char *p, *escape;
> >> +   const char *full;
> >> +
> >> +   ls = ecore_file_ls(path);
> >> +   EINA_LIST_FOREACH(ls, l, p)
> >> +     {
> >> +        escape = _escape_parse(p);
> >> +        full = eina_stringshare_printf("%s/%s", path, escape);
> >> +        free(escape);
> >> +        if (ecore_file_is_dir(full))
> >> +          {
> >> +             ret = _recurse_dir(win, full);
> >> +             eina_stringshare_del(full);
> >> +             continue;
> >> +          }
> >> +
> >> +        printf("inserting '%s'\n", full);
> >> +        win_video_insert(win, full);
> >> +        eina_stringshare_del(full);
> >> +        ret = EINA_TRUE;
> >> +     }
> >> +
> >> +   EINA_LIST_FREE(ls, p)
> >> +     free(p);
> >> +
> >> +   return ret;
> >> +}
> >> +
> >>   Eina_Bool
> >>   _cb_drop(void *data, Evas_Object *o EINA_UNUSED, Elm_Selection_Data
> *ev)
> >>   {
> >> @@ -94,8 +127,15 @@ _cb_drop(void *data, Evas_Object *o EINA_UNUSED,
> Elm_Selection_Data *ev)
> >>                               tt = _escape_parse(tb);
> >>                               if (tt)
> >>                                 {
> >> -                                 win_video_insert(win, tt);
> >> -                                 inserted = EINA_TRUE;
> >> +                                 if (ecore_file_is_dir(tt))
> >> +                                   {
> >> +                                      inserted = _recurse_dir(win, tt);
> >> +                                   }
> >> +                                 else
> >> +                                   {
> >> +                                      win_video_insert(win, tt);
> >> +                                      inserted = EINA_TRUE;
> >> +                                   }
> >>                                    free(tt);
> >>                                 }
> >>                            }
> >> @@ -108,8 +148,15 @@ _cb_drop(void *data, Evas_Object *o EINA_UNUSED,
> Elm_Selection_Data *ev)
> >>                               tt = _escape_parse(tb);
> >>                               if (tt)
> >>                                 {
> >> -                                 win_video_insert(win, tt);
> >> -                                 inserted = EINA_TRUE;
> >> +                                 if (ecore_file_is_dir(tt))
> >> +                                   {
> >> +                                      inserted = _recurse_dir(win, tt);
> >> +                                   }
> >> +                                 else
> >> +                                   {
> >> +                                      win_video_insert(win, tt);
> >> +                                      inserted = EINA_TRUE;
> >> +                                   }
> >>                                    free(tt);
> >>                                 }
> >>                            }
> >> @@ -124,8 +171,15 @@ _cb_drop(void *data, Evas_Object *o EINA_UNUSED,
> Elm_Selection_Data *ev)
> >>           char *tt = _escape_parse(ev->data);
> >>           if (tt)
> >>             {
> >> -             win_video_insert(win, tt);
> >> -             inserted = EINA_TRUE;
> >> +             if (ecore_file_is_dir(tt))
> >> +               {
> >> +                  inserted = _recurse_dir(win, tt);
> >> +               }
> >> +             else
> >> +               {
> >> +                  win_video_insert(win, tt);
> >> +                  inserted = EINA_TRUE;
> >> +               }
> >>                free(tt);
> >>             }
> >>        }
> >>
> >
> >
> >
> ------------------------------------------------------------------------------
> > Want excitement?
> > Manually upgrade your production database.
> > When you want reliability, choose Perforce
> > Perforce version control. Predictably reliable.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
>
>
> --
> Cedric BAIL
>
>
> ------------------------------------------------------------------------------
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Eduardo de Barros Lima ◤✠◢
ebl...@gmail.com
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to