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

Reply via email to