Enlightenment CVS committal Author : handyande Project : misc Module : engage
Dir : misc/engage/src/module Modified Files: e_mod_main.c Log Message: HOLY MOLY - DRAG AN EAPP FROM EVIDENCE OVER ENGAGE, YEAH BABY =================================================================== RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- e_mod_main.c 24 Mar 2005 19:25:53 -0000 1.32 +++ e_mod_main.c 24 Mar 2005 20:28:08 -0000 1.33 @@ -43,9 +43,11 @@ {"left", "right", "top", "bottom"}; /* module private routines */ -static Engage *_engage_new(); +static Engage *_engage_new(); static void _engage_free(Engage *e); static void _engage_app_change(void *data, E_App *a, E_App_Change ch); +static void _engage_dotorder_app_add(Engage *e, char *name); +static void _engage_dotorder_app_del(Engage *e, char *name); static void _engage_config_menu_new(Engage *e); /* xdnd alpha code - this is a temp */ @@ -437,6 +439,48 @@ } } +static char* +_engage_dotorder_locate(Engage *e) +{ + char *homedir; + char buf[4096]; + + homedir = e_user_homedir_get(); + if (homedir) + { + snprintf(buf, sizeof(buf), "%s/.e/e/applications/%s/.order", homedir, + e->conf->appdir); + free(homedir); + return strdup(buf); + } + return NULL; +} + +static void +_engage_dotorder_app_add(Engage *e, char *name) +{ + FILE *f; + char *dotorder; + + dotorder = _engage_dotorder_locate(e); + if (!dotorder) + return; + f = fopen(dotorder, "ab"); + if (f) + { + fputs("\n", f); + fputs(name, f); + fclose(f); + } + free(dotorder); +} + +static void +_engage_dotorder_app_del(Engage *e, char *name) +{ + printf("FIXME, remove an app from .order\n"); +} + static Engage_Bar * _engage_bar_new(Engage *e, E_Container *con) { @@ -918,11 +962,22 @@ { Ecore_X_Event_Selection_Notify *ev; int i; + Engage_Bar *eb; ev = event; - + eb = data; for (i = 0; i < ev->num_files; i++) - printf("ENGAGE DND GOT %s\n", ev->files[i]); + { + char *name, *path, *ext; + ext = strstr(ev->files[i], ".eapp"); + if (!ext) + continue; + path = ecore_file_get_dir(ev->files[i]); + /* FIXME test here, we might need to copy it to .../all/ */ + name = ecore_file_get_file(ev->files[i]); + + _engage_dotorder_app_add(eb->engage, name); + } ecore_x_dnd_send_finished(); return 1; } ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs