2007-02-03 05:05:30 -08:00
|
|
|
#include "Efreet.h"
|
2007-11-04 01:32:35 -08:00
|
|
|
#include "config.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <unistd.h>
|
2007-02-03 05:05:30 -08:00
|
|
|
|
2007-11-04 01:32:35 -08:00
|
|
|
#if 0
|
2007-02-03 05:05:30 -08:00
|
|
|
static void
|
|
|
|
ef_menu_desktop_exec(Efreet_Menu *menu)
|
|
|
|
{
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
Eina_List *l;
|
|
|
|
|
2007-02-03 05:05:30 -08:00
|
|
|
if (menu->entries)
|
|
|
|
{
|
|
|
|
Efreet_Desktop *desktop;
|
|
|
|
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
EINA_LIST_FOREACH(menu->entries, l, desktop)
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_desktop_exec(desktop, NULL);
|
|
|
|
}
|
|
|
|
if (menu->sub_menus)
|
|
|
|
{
|
|
|
|
Efreet_Menu *sub_menu;
|
|
|
|
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
EINA_LIST_FOREACH(menu->sub_menus, l, sub_menu)
|
2007-02-03 05:05:30 -08:00
|
|
|
ef_menu_desktop_exec(sub_menu);
|
|
|
|
}
|
|
|
|
}
|
2007-11-04 01:32:35 -08:00
|
|
|
#endif
|
2007-02-03 05:05:30 -08:00
|
|
|
|
|
|
|
int
|
|
|
|
ef_cb_menu_get(void)
|
|
|
|
{
|
|
|
|
Efreet_Menu *menu;
|
|
|
|
|
|
|
|
menu = efreet_menu_get();
|
2008-05-06 20:04:12 -07:00
|
|
|
// menu = efreet_menu_parse(PACKAGE_DATA_DIR"/test/test.menu");
|
2007-02-03 05:05:30 -08:00
|
|
|
if (!menu)
|
|
|
|
{
|
|
|
|
printf("efreet_menu_get() returned NULL\n");
|
|
|
|
return 0;
|
|
|
|
}
|
2007-02-06 18:14:46 -08:00
|
|
|
printf("\n");
|
|
|
|
efreet_menu_dump(menu, "");
|
|
|
|
efreet_menu_free(menu);
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|
2007-02-03 05:05:30 -08:00
|
|
|
|
2007-04-27 12:48:54 -07:00
|
|
|
int
|
|
|
|
ef_cb_menu_with_slashes(void)
|
|
|
|
{
|
|
|
|
Efreet_Menu *menu;
|
|
|
|
|
2008-05-06 20:04:12 -07:00
|
|
|
menu = efreet_menu_parse(PACKAGE_DATA_DIR"/test/test_menu_slash_bad.menu");
|
2007-04-27 12:48:54 -07:00
|
|
|
if (menu)
|
|
|
|
{
|
|
|
|
printf("efreet_menu_get() didn't return NULL\n");
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2007-02-06 18:14:46 -08:00
|
|
|
int
|
|
|
|
ef_cb_menu_save(void)
|
|
|
|
{
|
|
|
|
Efreet_Menu *menu;
|
2007-03-26 09:33:00 -07:00
|
|
|
int ret;
|
2007-02-06 18:14:46 -08:00
|
|
|
|
|
|
|
// menu = efreet_menu_get();
|
2008-05-06 20:04:12 -07:00
|
|
|
menu = efreet_menu_parse(PACKAGE_DATA_DIR"/test/test.menu");
|
2007-02-06 18:14:46 -08:00
|
|
|
if (!menu)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
2007-02-06 18:14:46 -08:00
|
|
|
printf("efreet_menu_get() returned NULL\n");
|
2007-02-03 05:05:30 -08:00
|
|
|
return 0;
|
|
|
|
}
|
2007-02-06 18:14:46 -08:00
|
|
|
unlink("/tmp/test.menu");
|
2007-03-26 09:33:00 -07:00
|
|
|
ret = efreet_menu_save(menu, "/tmp/test.menu");
|
|
|
|
efreet_menu_free(menu);
|
|
|
|
return ret;
|
2007-02-06 18:14:46 -08:00
|
|
|
}
|
2007-02-03 05:05:30 -08:00
|
|
|
|
2007-02-06 18:14:46 -08:00
|
|
|
int
|
|
|
|
ef_cb_menu_edit(void)
|
|
|
|
{
|
|
|
|
Efreet_Menu *menu, *entry;
|
|
|
|
Efreet_Desktop *desktop;
|
|
|
|
|
|
|
|
// menu = efreet_menu_get();
|
2008-05-06 20:04:12 -07:00
|
|
|
menu = efreet_menu_parse(PACKAGE_DATA_DIR"/test/test.menu");
|
2007-02-06 18:14:46 -08:00
|
|
|
if (!menu)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
2007-02-06 18:14:46 -08:00
|
|
|
printf("efreet_menu_get() returned NULL\n");
|
2007-02-03 05:05:30 -08:00
|
|
|
return 0;
|
|
|
|
}
|
2007-02-06 18:14:46 -08:00
|
|
|
#if 0
|
|
|
|
printf("\n");
|
|
|
|
efreet_menu_dump(menu, "");
|
|
|
|
printf("\n");
|
|
|
|
#endif
|
2007-02-03 05:05:30 -08:00
|
|
|
|
2008-05-06 20:04:12 -07:00
|
|
|
desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/test/test.desktop");
|
2007-09-06 09:15:10 -07:00
|
|
|
if (!desktop)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
2007-03-26 09:33:00 -07:00
|
|
|
efreet_menu_free(menu);
|
2007-02-06 18:14:46 -08:00
|
|
|
printf("No desktop found.\n");
|
2007-02-03 05:05:30 -08:00
|
|
|
return 0;
|
|
|
|
}
|
2007-02-06 18:14:46 -08:00
|
|
|
|
|
|
|
efreet_menu_desktop_insert(menu, desktop, 0);
|
|
|
|
#if 0
|
|
|
|
printf("\n");
|
|
|
|
efreet_menu_dump(menu, "");
|
|
|
|
printf("\n");
|
|
|
|
#endif
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
entry = eina_list_data_get(menu->entries);
|
2007-03-26 09:33:00 -07:00
|
|
|
if (desktop != entry->desktop)
|
|
|
|
{
|
|
|
|
efreet_menu_free(menu);
|
|
|
|
return 0;
|
|
|
|
}
|
2007-02-06 18:14:46 -08:00
|
|
|
|
|
|
|
efreet_menu_desktop_insert(menu, desktop, 2);
|
|
|
|
#if 0
|
|
|
|
printf("\n");
|
|
|
|
efreet_menu_dump(menu, "");
|
|
|
|
printf("\n");
|
2007-02-03 05:05:30 -08:00
|
|
|
#endif
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
entry = eina_list_nth(menu->entries, 2);
|
2007-03-26 09:33:00 -07:00
|
|
|
if (desktop != entry->desktop)
|
|
|
|
{
|
|
|
|
efreet_menu_free(menu);
|
|
|
|
return 0;
|
|
|
|
}
|
2007-02-06 18:14:46 -08:00
|
|
|
|
|
|
|
efreet_menu_desktop_insert(menu, desktop, -1);
|
|
|
|
#if 0
|
2007-02-03 05:05:30 -08:00
|
|
|
printf("\n");
|
|
|
|
efreet_menu_dump(menu, "");
|
2007-02-06 18:14:46 -08:00
|
|
|
printf("\n");
|
|
|
|
#endif
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
entry = eina_list_data_get(eina_list_last(menu->entries));
|
2007-03-26 09:33:00 -07:00
|
|
|
if (desktop != entry->desktop)
|
|
|
|
{
|
|
|
|
efreet_menu_free(menu);
|
|
|
|
return 0;
|
|
|
|
}
|
2007-02-03 05:05:30 -08:00
|
|
|
|
2007-03-26 09:33:00 -07:00
|
|
|
efreet_menu_free(menu);
|
2007-02-03 05:05:30 -08:00
|
|
|
return 1;
|
|
|
|
}
|