You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
2.9 KiB
150 lines
2.9 KiB
#include "Efreet.h" |
|
#include "config.h" |
|
#include <stdio.h> |
|
#include <unistd.h> |
|
|
|
#if 0 |
|
static void |
|
ef_menu_desktop_exec(Efreet_Menu *menu) |
|
{ |
|
Eina_List *l; |
|
|
|
if (menu->entries) |
|
{ |
|
Efreet_Desktop *desktop; |
|
|
|
EINA_LIST_FOREACH(menu->entries, l, desktop) |
|
efreet_desktop_exec(desktop, NULL); |
|
} |
|
if (menu->sub_menus) |
|
{ |
|
Efreet_Menu *sub_menu; |
|
|
|
EINA_LIST_FOREACH(menu->sub_menus, l, sub_menu) |
|
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_with_slashes(void) |
|
{ |
|
Efreet_Menu *menu; |
|
|
|
menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test_menu_slash_bad.menu"); |
|
if (menu) |
|
{ |
|
printf("efreet_menu_get() didn't return NULL\n"); |
|
return 0; |
|
} |
|
|
|
return 1; |
|
} |
|
|
|
int |
|
ef_cb_menu_save(void) |
|
{ |
|
Efreet_Menu *menu; |
|
int ret; |
|
|
|
// 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"); |
|
ret = efreet_menu_save(menu, "/tmp/test.menu"); |
|
efreet_menu_free(menu); |
|
return ret; |
|
} |
|
|
|
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) |
|
{ |
|
efreet_menu_free(menu); |
|
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 |
|
entry = eina_list_data_get(menu->entries); |
|
if (desktop != entry->desktop) |
|
{ |
|
efreet_menu_free(menu); |
|
return 0; |
|
} |
|
|
|
efreet_menu_desktop_insert(menu, desktop, 2); |
|
#if 0 |
|
printf("\n"); |
|
efreet_menu_dump(menu, ""); |
|
printf("\n"); |
|
#endif |
|
entry = eina_list_nth(menu->entries, 2); |
|
if (desktop != entry->desktop) |
|
{ |
|
efreet_menu_free(menu); |
|
return 0; |
|
} |
|
|
|
efreet_menu_desktop_insert(menu, desktop, -1); |
|
#if 0 |
|
printf("\n"); |
|
efreet_menu_dump(menu, ""); |
|
printf("\n"); |
|
#endif |
|
entry = eina_list_data_get(eina_list_last(menu->entries)); |
|
if (desktop != entry->desktop) |
|
{ |
|
efreet_menu_free(menu); |
|
return 0; |
|
} |
|
|
|
efreet_menu_free(menu); |
|
return 1; |
|
}
|
|
|