Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_order.c e_order.h Log Message: Edit .order files. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_order.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_order.c 24 Mar 2007 23:41:24 -0000 1.5 +++ e_order.c 24 Mar 2007 23:51:46 -0000 1.6 @@ -56,6 +56,63 @@ return eo; } +EAPI void +e_order_remove(E_Order *eo, Efreet_Desktop *desktop) +{ + eo->desktops = evas_list_remove(eo->desktops, desktop); + _e_order_save(eo); +} + +EAPI void +e_order_append(E_Order *eo, Efreet_Desktop *desktop) +{ + eo->desktops = evas_list_append(eo->desktops, desktop); + _e_order_save(eo); +} + +EAPI void +e_order_prepend_relative(E_Order *eo, Efreet_Desktop *desktop, Efreet_Desktop *before) +{ + eo->desktops = evas_list_prepend_relative(eo->desktops, desktop, before); + _e_order_save(eo); +} + +EAPI void +e_order_files_append(E_Order *eo, Evas_List *files) +{ + Evas_List *l; + + for (l = files; l ; l = l->next) + { + Efreet_Desktop *desktop; + const char *file; + + file = l->data; + desktop = efreet_desktop_get(file); + if (!desktop) continue; + eo->desktops = evas_list_append(eo->desktops, desktop); + } + _e_order_save(eo); +} + +EAPI void +e_order_files_prepend_relative(E_Order *eo, Evas_List *files, Efreet_Desktop *before) +{ + Evas_List *l; + + for (l = files; l ; l = l->next) + { + Efreet_Desktop *desktop; + const char *file; + + file = l->data; + desktop = efreet_desktop_get(file); + if (!desktop) continue; + eo->desktops = evas_list_prepend_relative(eo->desktops, desktop, before); + } + _e_order_save(eo); +} + static void _e_order_free(E_Order *eo) { @@ -87,7 +144,7 @@ /* TODO: This only allows us to save .desktop files which are in * the default paths. If it isn't, we should copy it to the users - * application directory */ + * application directory. Or store the full path in the .order file */ desktop = l->data; path = efreet_util_path_in_default("applications", desktop->orig_path); if (!path) continue; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_order.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_order.h 24 Mar 2007 23:33:59 -0000 1.3 +++ e_order.h 24 Mar 2007 23:51:46 -0000 1.4 @@ -22,5 +22,11 @@ EAPI E_Order *e_order_new(const char *path); +EAPI void e_order_remove(E_Order *eo, Efreet_Desktop *desktop); +EAPI void e_order_append(E_Order *eo, Efreet_Desktop *desktop); +EAPI void e_order_prepend_relative(E_Order *eo, Efreet_Desktop *desktop, Efreet_Desktop *before); +EAPI void e_order_files_append(E_Order *eo, Evas_List *files); +EAPI void e_order_files_prepend_relative(E_Order *eo, Evas_List *files, Efreet_Desktop *before); + #endif #endif ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs