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

Reply via email to