functions and structures More...
Data Structures | |
struct | Efreet_Menu |
Efreet_Menu Stores information on a entry in the menu. More... | |
Typedefs | |
typedef enum Efreet_Menu_Entry_Type | Efreet_Menu_Entry_Type |
The type of entry. | |
typedef struct Efreet_Menu | Efreet_Menu |
Efreet_Menu. | |
typedef void(* | Efreet_Menu_Cb) (void *data, Efreet_Menu *menu) |
A callback used with efreet_menu_async_get() and efreet_menu_async_parse() More... | |
Enumerations | |
enum | Efreet_Menu_Entry_Type { EFREET_MENU_ENTRY_MENU, EFREET_MENU_ENTRY_DESKTOP, EFREET_MENU_ENTRY_SEPARATOR, EFREET_MENU_ENTRY_HEADER } |
The type of entry. | |
Functions | |
int | efreet_menu_kde_legacy_init (void) |
Initialize legacy kde support. This function blocks while the kde-config script is run. More... | |
Efreet_Menu * | efreet_menu_new (const char *name) |
Creates a new menu. More... | |
void | efreet_menu_file_set (const char *file) |
Override which file is used for menu creation. More... | |
void | efreet_menu_async_get (Efreet_Menu_Cb func, const void *data) |
Creates the Efreet_Menu representation of the default menu or NULL if none found and returns it in the callback. More... | |
Efreet_Menu * | efreet_menu_get (void) |
Creates the default menu representation. More... | |
void | efreet_menu_async_parse (const char *path, Efreet_Menu_Cb func, const void *data) |
Parses the given .menu file and creates the menu representation, and returns it in the callback. More... | |
Efreet_Menu * | efreet_menu_parse (const char *path) |
Parses the given .menu file and creates the menu representation. More... | |
int | efreet_menu_save (Efreet_Menu *menu, const char *path) |
Saves the menu to file. More... | |
void | efreet_menu_free (Efreet_Menu *menu) |
Frees the given structure. More... | |
int | efreet_menu_desktop_insert (Efreet_Menu *menu, Efreet_Desktop *desktop, int pos) |
Insert a desktop element in a menu structure. Only accepts desktop files in default directories. More... | |
int | efreet_menu_desktop_remove (Efreet_Menu *menu, Efreet_Desktop *desktop) |
Remove a desktop element in a menu structure. Only accepts desktop files in default directories. More... | |
void | efreet_menu_dump (Efreet_Menu *menu, const char *indent) |
Dumps the contents of the menu to the command line. More... | |
functions and structures
typedef void(* Efreet_Menu_Cb) (void *data, Efreet_Menu *menu) |
A callback used with efreet_menu_async_get() and efreet_menu_async_parse()
int efreet_menu_kde_legacy_init | ( | void | ) |
Initialize legacy kde support. This function blocks while the kde-config script is run.
References EAPI, eina_list_append(), eina_log_domain_unregister(), eina_stringshare_add(), and eina_stringshare_del().
Efreet_Menu* efreet_menu_new | ( | const char * | name | ) |
Creates a new menu.
name | The internal name of the menu |
References EAPI, eina_stringshare_add(), and name.
void efreet_menu_file_set | ( | const char * | file | ) |
Override which file is used for menu creation.
file | The file to use for menu creation |
This file is only used if it exists, else the standard files will be used for the menu.
References EAPI, and eina_stringshare_add().
void efreet_menu_async_get | ( | Efreet_Menu_Cb | func, |
const void * | data | ||
) |
Creates the Efreet_Menu representation of the default menu or NULL if none found and returns it in the callback.
func | function to call when menu is created |
data | user data to return in callback |
References EAPI, ecore_file_exists(), efreet_config_dirs_get(), efreet_config_home_get(), efreet_menu_async_parse(), and EINA_LIST_FOREACH.
Efreet_Menu* efreet_menu_get | ( | void | ) |
Creates the default menu representation.
References EAPI, ecore_file_exists(), efreet_config_dirs_get(), efreet_config_home_get(), efreet_menu_parse(), and EINA_LIST_FOREACH.
void efreet_menu_async_parse | ( | const char * | path, |
Efreet_Menu_Cb | func, | ||
const void * | data | ||
) |
Parses the given .menu file and creates the menu representation, and returns it in the callback.
path | The path of the menu to load |
func | function to call when menu is created |
data | user data to return in callback |
References EAPI, ecore_thread_run(), and eina_stringshare_add().
Referenced by efreet_menu_async_get().
Efreet_Menu* efreet_menu_parse | ( | const char * | path | ) |
Parses the given .menu file and creates the menu representation.
path | The path of the menu to load |
References EAPI, eina_hash_string_superfast_new(), and Efreet_Xml::tag.
Referenced by efreet_menu_free(), and efreet_menu_get().
int efreet_menu_save | ( | Efreet_Menu * | menu, |
const char * | path | ||
) |
Saves the menu to file.
menu | The menu to work with |
path | The path where the menu should be saved |
References EAPI.
void efreet_menu_free | ( | Efreet_Menu * | menu | ) |
Frees the given structure.
menu | The Efreet_Menu to free |
References desktop, ecore_file_file_get(), efreet_desktop_free(), efreet_desktop_get(), efreet_desktop_ref(), efreet_menu_free(), efreet_menu_parse(), EINA_COMPARE_CB, EINA_FILE_DIR, eina_file_stat_ls(), EINA_FREE_CB, eina_hash_add(), eina_hash_del(), eina_hash_direct_add(), eina_hash_find(), eina_hash_free(), eina_hash_string_superfast_new(), EINA_ITERATOR_FOREACH, eina_iterator_free(), eina_list_append(), eina_list_count(), eina_list_data_get(), EINA_LIST_FOREACH, EINA_LIST_FOREACH_SAFE, eina_list_free(), EINA_LIST_FREE, eina_list_last(), eina_list_merge(), eina_list_next(), eina_list_prepend(), eina_list_remove(), eina_list_remove_list(), EINA_LIST_REVERSE_FOREACH, eina_list_search_unsorted(), eina_list_sort(), eina_stringshare_add(), eina_stringshare_del(), entries, icon, id, name, _Efreet_Desktop::name, _Eina_File_Direct_Info::name_start, _Efreet_Desktop::orig_path, _Eina_File_Direct_Info::path, _Efreet_Desktop::type, and _Eina_File_Direct_Info::type.
Referenced by efreet_menu_desktop_remove(), and efreet_menu_free().
int efreet_menu_desktop_insert | ( | Efreet_Menu * | menu, |
Efreet_Desktop * | desktop, | ||
int | pos | ||
) |
Insert a desktop element in a menu structure. Only accepts desktop files in default directories.
menu | The menu to work with |
desktop | The desktop to insert |
pos | The position to place the new desktop |
References desktop, EAPI, efreet_desktop_ref(), efreet_util_path_to_file_id(), eina_list_append(), eina_list_append_relative(), eina_list_count(), eina_list_nth(), eina_stringshare_add(), entries, icon, _Efreet_Desktop::icon, id, name, _Efreet_Desktop::name, and _Efreet_Desktop::orig_path.
int efreet_menu_desktop_remove | ( | Efreet_Menu * | menu, |
Efreet_Desktop * | desktop | ||
) |
Remove a desktop element in a menu structure. Only accepts desktop files in default directories.
menu | The menu to work with |
desktop | The desktop to remove |
References EAPI, efreet_menu_free(), EINA_COMPARE_CB, eina_list_remove(), eina_list_search_unsorted(), and entries.
void efreet_menu_dump | ( | Efreet_Menu * | menu, |
const char * | indent | ||
) |
Dumps the contents of the menu to the command line.
menu | The menu to work with |
menu | The menu to work with |
indent | The indent level to print the menu at |
References Efreet_Xml::children, EAPI, ecore_file_exists(), ecore_file_file_get(), efreet_config_dirs_get(), efreet_config_home_get(), efreet_data_dirs_get(), efreet_data_home_get(), efreet_desktop_category_add(), efreet_desktop_category_count_get(), efreet_desktop_free(), efreet_desktop_get(), efreet_menu_dump(), EINA_COMPARE_CB, EINA_FILE_DIR, eina_file_direct_ls(), eina_file_stat_ls(), eina_hash_add(), eina_hash_find(), EINA_ITERATOR_FOREACH, eina_iterator_free(), eina_list_append(), EINA_LIST_FOREACH, eina_list_free(), EINA_LIST_FREE, eina_list_merge(), eina_list_prepend(), eina_list_remove(), EINA_LIST_REVERSE_FOREACH, eina_list_search_unsorted(), eina_stringshare_add(), eina_stringshare_del(), eina_stringshare_ref(), eina_stringshare_strlen(), EINA_UNUSED, entries, icon, name, _Eina_File_Direct_Info::name_start, _Eina_File_Direct_Info::path, Efreet_Xml::tag, Efreet_Xml::text, and _Eina_File_Direct_Info::type.
Referenced by efreet_menu_dump().