Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_container.c e_int_menus.c e_int_menus.h Log Message: made the main left menu have everything in it.. so you only NEED 1 mouse button - more is just faster/more convenient :) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_container.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_container.c 23 Dec 2004 06:38:27 -0000 1.5 +++ e_container.c 23 Dec 2004 15:31:47 -0000 1.6 @@ -332,27 +332,19 @@ con = data; if (ev->button == 1) { - char buf[4096]; - char *homedir; + E_Menu *m; - homedir = e_user_homedir_get(); - if (homedir) - { - E_Menu *m; - - snprintf(buf, sizeof(buf), "%s/.e/e/applications/favorite", homedir); - m = e_int_menus_apps_new(buf, 1); - e_menu_activate_mouse(m, con, ev->output.x, ev->output.y, 1, 1, - E_MENU_POP_DIRECTION_DOWN); - e_util_container_fake_mouse_up_all_later(con); - free(homedir); - } + m = e_int_menus_main_new(); + e_menu_activate_mouse(m, con, ev->output.x, ev->output.y, 1, 1, + E_MENU_POP_DIRECTION_DOWN); + e_util_container_fake_mouse_up_all_later(con); } else if (ev->button == 2) { E_Menu *m; m = e_int_menus_clients_new(); + /* FIXME: this is a bit of a hack... setting m->con - bad hack */ m->con = con; e_menu_activate_mouse(m, con, ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN); @@ -362,7 +354,7 @@ { E_Menu *m; - m = e_int_menus_about_new(); + m = e_int_menus_favorite_apps_new(1); e_menu_activate_mouse(m, con, ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN); e_util_container_fake_mouse_up_all_later(con); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- e_int_menus.c 23 Dec 2004 06:38:27 -0000 1.7 +++ e_int_menus.c 23 Dec 2004 15:31:47 -0000 1.8 @@ -3,45 +3,51 @@ */ #include "e.h" -typedef struct _About_Data About_Data; +typedef struct _Main_Data Main_Data; -struct _About_Data +struct _Main_Data { E_Menu *menu; + E_Menu *apps; E_Menu *modules; }; /* local subsystem functions */ -static void _e_int_menus_about_end (void *data, E_Menu *m); -static void _e_int_menus_about_about (void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_int_menus_about_restart (void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_int_menus_about_exit (void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_int_menus_apps_scan (E_Menu *m); -static void _e_int_menus_apps_start (void *data, E_Menu *m); -static void _e_int_menus_apps_end (void *data, E_Menu *m); -static void _e_int_menus_apps_free_hook(void *obj); -static void _e_int_menus_apps_run (void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_int_menus_clients_pre_cb(void *data, E_Menu *m); +static void _e_int_menus_main_end (void *data, E_Menu *m); +static void _e_int_menus_about_end (void *data, E_Menu *m); +static void _e_int_menus_main_about (void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_int_menus_main_restart (void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_int_menus_main_exit (void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_int_menus_apps_scan (E_Menu *m); +static void _e_int_menus_apps_start (void *data, E_Menu *m); +static void _e_int_menus_apps_end (void *data, E_Menu *m); +static void _e_int_menus_apps_free_hook (void *obj); +static void _e_int_menus_apps_run (void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_int_menus_clients_pre_cb (void *data, E_Menu *m); static void _e_int_menus_clients_item_cb (void *data, E_Menu *m, E_Menu_Item *mi); /* externally accessible functions */ E_Menu * -e_int_menus_about_new(void) +e_int_menus_main_new(void) { E_Menu *m, *subm; E_Menu_Item *mi; - About_Data *dat; + Main_Data *dat; - dat = calloc(1, sizeof(About_Data)); + dat = calloc(1, sizeof(Main_Data)); m = e_menu_new(); dat->menu = m; - e_menu_post_deactivate_callback_set(m, _e_int_menus_about_end, dat); + e_menu_post_deactivate_callback_set(m, _e_int_menus_main_end, dat); + + subm = e_int_menus_favorite_apps_new(0); + dat->apps = subm; mi = e_menu_item_new(m); - e_menu_item_label_set(mi, "About Enlightenment..."); - e_menu_item_icon_file_set(mi, - e_path_find(path_images, "e.png")); - e_menu_item_callback_set(mi, _e_int_menus_about_about, NULL); + e_menu_item_label_set(mi, "Favorite Applications"); + e_menu_item_submenu_set(mi, subm); + + mi = e_menu_item_new(m); + e_menu_item_separator_set(mi, 1); subm = e_module_menu_new(); dat->modules = subm; @@ -58,12 +64,21 @@ e_menu_item_separator_set(mi, 1); mi = e_menu_item_new(m); + e_menu_item_label_set(mi, "About Enlightenment"); + e_menu_item_icon_file_set(mi, + e_path_find(path_images, "e.png")); + e_menu_item_callback_set(mi, _e_int_menus_main_about, NULL); + + mi = e_menu_item_new(m); + e_menu_item_separator_set(mi, 1); + + mi = e_menu_item_new(m); e_menu_item_label_set(mi, "Restart Enlightement"); - e_menu_item_callback_set(mi, _e_int_menus_about_restart, NULL); + e_menu_item_callback_set(mi, _e_int_menus_main_restart, NULL); mi = e_menu_item_new(m); e_menu_item_label_set(mi, "Exit Enlightement"); - e_menu_item_callback_set(mi, _e_int_menus_about_exit, NULL); + e_menu_item_callback_set(mi, _e_int_menus_main_exit, NULL); return m; } @@ -71,6 +86,7 @@ e_int_menus_apps_new(char *dir, int top) { E_Menu *m; + E_Menu_Item *mi; E_App *a; m = e_menu_new(); @@ -86,6 +102,25 @@ } E_Menu * +e_int_menus_favorite_apps_new(int top) +{ + E_Menu *m; + E_App *a; + char buf[4096]; + char *homedir; + + homedir = e_user_homedir_get(); + if (homedir) + { + snprintf(buf, sizeof(buf), "%s/.e/e/applications/favorite", homedir); + m = e_int_menus_apps_new(buf, top); + free(homedir); + return m; + } + return NULL; +} + +E_Menu * e_int_menus_clients_new(void) { E_Menu *m; @@ -98,18 +133,19 @@ /* local subsystem functions */ static void -_e_int_menus_about_end(void *data, E_Menu *m) +_e_int_menus_main_end(void *data, E_Menu *m) { - About_Data *dat; + Main_Data *dat; dat = data; + e_object_unref(E_OBJECT(dat->apps)); e_object_unref(E_OBJECT(dat->modules)); e_object_unref(E_OBJECT(m)); free(dat); } static void -_e_int_menus_about_about(void *data, E_Menu *m, E_Menu_Item *mi) +_e_int_menus_main_about(void *data, E_Menu *m, E_Menu_Item *mi) { e_error_dialog_show("About Enlightenment", "This is Enlightenment "VERSION".\n" @@ -121,7 +157,7 @@ } static void -_e_int_menus_about_restart(void *data, E_Menu *m, E_Menu_Item *mi) +_e_int_menus_main_restart(void *data, E_Menu *m, E_Menu_Item *mi) { printf("RESTART ON!\n"); restart = 1; @@ -129,7 +165,7 @@ } static void -_e_int_menus_about_exit(void *data, E_Menu *m, E_Menu_Item *mi) +_e_int_menus_main_exit(void *data, E_Menu *m, E_Menu_Item *mi) { ecore_main_loop_quit(); } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_int_menus.h 23 Dec 2004 04:58:57 -0000 1.4 +++ e_int_menus.h 23 Dec 2004 15:31:47 -0000 1.5 @@ -1,8 +1,9 @@ #ifndef E_INT_MENUS_H #define E_INT_MENUS_H -EAPI E_Menu *e_int_menus_about_new(void); +EAPI E_Menu *e_int_menus_main_new(void); EAPI E_Menu *e_int_menus_clients_new(void); EAPI E_Menu *e_int_menus_apps_new(char *dir, int top); +EAPI E_Menu *e_int_menus_favorite_apps_new(int top); #endif ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs