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