/* vim: set sw=4 ts=4 sts=4 et: */ #include "Efreet.h" #include "efreet_private.h" static void ef_menu_desktop_exec(Efreet_Menu *menu) { #if 0 if (menu->entries) { Efreet_Desktop *desktop; ecore_list_goto_first(menu->entries); while ((desktop = ecore_list_next(menu->entries))) efreet_desktop_exec(desktop, NULL); } if (menu->sub_menus) { Efreet_Menu *sub_menu; ecore_list_goto_first(menu->sub_menus); while ((sub_menu = ecore_list_next(menu->sub_menus))) ef_menu_desktop_exec(sub_menu); } #endif } int ef_cb_menu_get(void) { Efreet_Menu *menu; menu = efreet_menu_get(); // menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu"); if (!menu) { printf("efreet_menu_get() returned NULL\n"); return 0; } printf("\n"); efreet_menu_dump(menu, ""); efreet_menu_free(menu); return 1; } int ef_cb_menu_save(void) { Efreet_Menu *menu; // menu = efreet_menu_get(); menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu"); if (!menu) { printf("efreet_menu_get() returned NULL\n"); return 0; } unlink("/tmp/test.menu"); return efreet_menu_save(menu, "/tmp/test.menu"); } int ef_cb_menu_edit(void) { Efreet_Menu *menu, *entry; Efreet_Desktop *desktop; // menu = efreet_menu_get(); menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu"); if (!menu) { printf("efreet_menu_get() returned NULL\n"); return 0; } #if 0 printf("\n"); efreet_menu_dump(menu, ""); printf("\n"); #endif desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop"); if (!desktop) { printf("No desktop found.\n"); return 0; } efreet_menu_desktop_insert(menu, desktop, 0); #if 0 printf("\n"); efreet_menu_dump(menu, ""); printf("\n"); #endif ecore_list_goto_first(menu->entries); entry = ecore_list_current(menu->entries); if (desktop != entry->desktop) return 0; efreet_menu_desktop_insert(menu, desktop, 2); #if 0 printf("\n"); efreet_menu_dump(menu, ""); printf("\n"); #endif ecore_list_goto_index(menu->entries, 2); entry = ecore_list_current(menu->entries); if (desktop != entry->desktop) return 0; efreet_menu_desktop_insert(menu, desktop, -1); #if 0 printf("\n"); efreet_menu_dump(menu, ""); printf("\n"); #endif ecore_list_goto_last(menu->entries); entry = ecore_list_current(menu->entries); if (desktop != entry->desktop) return 0; return 1; }