Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        Makefile.am e.h e_actions.c e_border.c e_config.c 
        e_config_dialog.c e_configure.c e_dialog.h e_exebuf.c 
        e_includes.h e_int_config_window_display.c e_int_menus.c 
        e_ipc_handlers.h e_main.c e_menu.c e_module.c e_module.h 
        e_object.h e_winlist.c 
Added Files:
        e_exehist.c e_exehist.h 


Log Message:


make symbol hiding actually work - fix some bugs, fixme's adjust bugs and
TODO, add exe history and actually use it etc.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -3 -r1.89 -r1.90
--- Makefile.am 19 Dec 2005 14:42:43 -0000      1.89
+++ Makefile.am 27 Dec 2005 17:16:57 -0000      1.90
@@ -125,7 +125,8 @@
 e_int_config_menus.h \
 e_deskpreview.h \
 e_exebuf.h \
-e_int_config_modules.h
+e_int_config_modules.h \
+e_exehist.h
 
 enlightenment_src = \
 e_user.c \
@@ -232,6 +233,7 @@
 e_deskpreview.c \
 e_exebuf.c \
 e_int_config_modules.c \
+e_exehist.c \
 $(ENLIGHTENMENTHEADERS)
 
 enlightenment_SOURCES = \
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- e.h 15 Dec 2005 07:12:00 -0000      1.37
+++ e.h 27 Dec 2005 17:16:57 -0000      1.38
@@ -59,8 +59,13 @@
 #  define EAPI __declspec(dllimport)
 # endif
 #else
-# ifdef GCC_HASCLASSVISIBILITY
-#  define EAPI __attribute__ ((visibility("default")))
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   pragma GCC visibility push(hidden)
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
 # else
 #  define EAPI
 # endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -3 -r1.46 -r1.47
--- e_actions.c 9 Dec 2005 07:47:03 -0000       1.46
+++ e_actions.c 27 Dec 2005 17:16:57 -0000      1.47
@@ -1068,6 +1068,7 @@
        Ecore_Exe *exe;
        
        exe = ecore_exe_run(params, NULL);
+       e_exehist_add("action/exec", params);
        if (exe) ecore_exe_free(exe);
      }
 }
@@ -1100,7 +1101,10 @@
                  else if (!strcmp(p2, "exe:"))
                    a = e_app_exe_find(p + 1);
                  if (a)
-                   e_zone_app_exec(zone, a);
+                   {
+                      e_zone_app_exec(zone, a);
+                      e_exehist_add("action/app", a->exe);
+                   }
               }
          }
      }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.469
retrieving revision 1.470
diff -u -3 -r1.469 -r1.470
--- e_border.c  18 Dec 2005 21:43:59 -0000      1.469
+++ e_border.c  27 Dec 2005 17:16:57 -0000      1.470
@@ -3682,6 +3682,7 @@
      {
        if (e->detail == ECORE_X_EVENT_DETAIL_INFERIOR) return 1;
        else if (e->detail == ECORE_X_EVENT_DETAIL_NON_LINEAR) return 1;
+       else if (e->detail == ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL) return 1;
      }
    else if (e->mode == ECORE_X_EVENT_MODE_GRAB)
      {
@@ -3689,12 +3690,14 @@
        else if (e->detail == ECORE_X_EVENT_DETAIL_INFERIOR) return 1;
        else if (e->detail == ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL) return 1;
        else if (e->detail == ECORE_X_EVENT_DETAIL_ANCESTOR) return 1;
+       else if (e->detail == ECORE_X_EVENT_DETAIL_VIRTUAL) return 1;
      }
    else if (e->mode == ECORE_X_EVENT_MODE_UNGRAB)
      {
        /* for firefox/thunderbird (xul) menu walking */
        /* NB: why did i disable this before? */
        if (e->detail == ECORE_X_EVENT_DETAIL_INFERIOR) return 1;
+       else if (e->detail == ECORE_X_EVENT_DETAIL_POINTER) return 1;
      }
    else if (e->mode == ECORE_X_EVENT_MODE_WHILE_GRABBED)
      {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -3 -r1.133 -r1.134
--- e_config.c  21 Dec 2005 16:56:33 -0000      1.133
+++ e_config.c  27 Dec 2005 17:16:57 -0000      1.134
@@ -366,18 +366,18 @@
    E_CONFIG_VAL(D, T, input_method, STR); /**/
    E_CONFIG_LIST(D, T, path_append_input_methods, _e_config_path_append_edd); 
/**/
    E_CONFIG_LIST(D, T, path_append_messages, _e_config_path_append_edd); /**/
-   E_CONFIG_VAL(D, T, exebuf_max_exe_list, INT); /**/
-   E_CONFIG_VAL(D, T, exebuf_max_eap_list, INT); /**/
-   E_CONFIG_VAL(D, T, exebuf_scroll_animate, INT); /**/
-   E_CONFIG_VAL(D, T, exebuf_scroll_speed, DOUBLE); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_align_x, DOUBLE); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_align_y, DOUBLE); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_size_w, DOUBLE); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_size_h, DOUBLE); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_min_w, INT); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_min_h, INT); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_max_w, INT); /**/
-   E_CONFIG_VAL(D, T, exebuf_pos_max_h, INT); /**/
+   E_CONFIG_VAL(D, T, exebuf_max_exe_list, INT);
+   E_CONFIG_VAL(D, T, exebuf_max_eap_list, INT);
+   E_CONFIG_VAL(D, T, exebuf_scroll_animate, INT);
+   E_CONFIG_VAL(D, T, exebuf_scroll_speed, DOUBLE);
+   E_CONFIG_VAL(D, T, exebuf_pos_align_x, DOUBLE);
+   E_CONFIG_VAL(D, T, exebuf_pos_align_y, DOUBLE);
+   E_CONFIG_VAL(D, T, exebuf_pos_size_w, DOUBLE);
+   E_CONFIG_VAL(D, T, exebuf_pos_size_h, DOUBLE);
+   E_CONFIG_VAL(D, T, exebuf_pos_min_w, INT);
+   E_CONFIG_VAL(D, T, exebuf_pos_min_h, INT);
+   E_CONFIG_VAL(D, T, exebuf_pos_max_w, INT);
+   E_CONFIG_VAL(D, T, exebuf_pos_max_h, INT);
    e_config = e_config_domain_load("e", _e_config_edd);
    if (e_config)
      {
@@ -666,7 +666,7 @@
             eb->action = evas_stringshare_add("menu_show");
             eb->params = evas_stringshare_add("favorites");
             e_config->mouse_bindings = 
evas_list_append(e_config->mouse_bindings, eb);
-            
+/*          
             eb = E_NEW(E_Config_Binding_Mouse, 1);
             eb->context = E_BINDING_CONTEXT_CONTAINER;
             eb->button = 1;
@@ -675,6 +675,7 @@
             eb->action = evas_stringshare_add("edit_mode");
             eb->params = NULL;
             e_config->mouse_bindings = 
evas_list_append(e_config->mouse_bindings, eb);
+*/
          }
          {
             E_Config_Binding_Key *eb;
@@ -1766,7 +1767,7 @@
    ef = eet_open(buf, EET_FILE_MODE_WRITE);
    if (ef)
      {
-       ok = eet_data_write(ef, edd, "config", data, 0);
+       ok = eet_data_write(ef, edd, "config", data, 1);
        eet_close(ef);
      }
    return ok;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config_dialog.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- e_config_dialog.c   21 Dec 2005 02:45:24 -0000      1.13
+++ e_config_dialog.c   27 Dec 2005 17:16:57 -0000      1.14
@@ -120,9 +120,29 @@
        e_dialog_button_disable_num_set(cfd->dia, 1, 1);
      }
    e_dialog_button_add(cfd->dia, _("Close"), NULL, NULL, NULL);
-   e_win_centered_set(cfd->dia->win, 1);
-   e_dialog_show(cfd->dia);
+   if (!pdia)
+     {
+       e_win_centered_set(cfd->dia->win, 1);
+       e_dialog_show(cfd->dia);
+     }
+   else
+     {
+       int x, y;
+
+       e_dialog_show(cfd->dia);
+       x = pdia->win->border->x + ((pdia->win->w - cfd->dia->win->w) / 2);
+       y = pdia->win->border->y + ((pdia->win->h - cfd->dia->win->h) / 2);
+       if (x < 0) x = 0;
+       if (y < 0) y = 0;
+       if ((x + cfd->dia->win->w) > (pdia->win->container->w))
+         x = pdia->win->container->w - cfd->dia->win->w;
+       if ((y + cfd->dia->win->h) > (pdia->win->container->h))
+         x = pdia->win->container->h - cfd->dia->win->h;
+       e_win_move(cfd->dia->win, x, y);
+       e_win_placed_set(cfd->dia->win, 1);
+     }
    cfd->view_type = type;
+   
    if (pdia)
      {
        e_object_del_attach_func_set(E_OBJECT(pdia), NULL);
@@ -169,11 +189,11 @@
      ok = cfd->view.advanced.apply_cfdata(cfd, cfd->cfdata);
    if (ok)
      {
-       _e_config_dialog_go(cfd, cfd->view_type);
-       /*
+// FIXME: this is a nasty hack - from modules conf dialog patch i think. 
+// bad bad. make the modules dialog work WITHOUT this
+//     _e_config_dialog_go(cfd, cfd->view_type);
        e_dialog_button_disable_num_set(cfd->dia, 0, 1);
        e_dialog_button_disable_num_set(cfd->dia, 1, 1);
-       */
      }
 }
 
@@ -202,13 +222,15 @@
    
    cfd = data;
 
-   if(cfd->view_dirty)
-     {
-       _e_config_dialog_go(cfd, cfd->view_type);
-     }
-   else if(!cfd->hide_buttons)
+// FIXME: this is a nasty hack - from modules conf dialog patch i think. 
+// bad bad. make the modules dialog work WITHOUT this
+//   if (cfd->view_dirty)
+//     {
+//     _e_config_dialog_go(cfd, cfd->view_type);
+//     }
+//   else if (!cfd->hide_buttons)
      {
-   e_dialog_button_disable_num_set(cfd->dia, 0, 0);
-   e_dialog_button_disable_num_set(cfd->dia, 1, 0);
+       e_dialog_button_disable_num_set(cfd->dia, 0, 0);
+       e_dialog_button_disable_num_set(cfd->dia, 1, 0);
      }
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_configure.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- e_configure.c       21 Dec 2005 06:38:50 -0000      1.20
+++ e_configure.c       27 Dec 2005 17:16:57 -0000      1.21
@@ -19,7 +19,7 @@
 {
    E_Configure *eco;
    E_Manager *man;
-   Evas_Coord w, h, ew, eh;   
+   Evas_Coord w, h, ew, eh, mw, mh;
    
    if (!con)
      {
@@ -55,6 +55,8 @@
    
    eco->ilist = e_widget_ilist_add(eco->evas, 48, 48, NULL);
    e_widget_ilist_selector_set(eco->ilist, 1);
+   e_widget_min_size_get(eco->ilist, &mw, &mh);
+   edje_extern_object_min_size_set(eco->ilist, mw, mh);
    edje_object_part_swallow(eco->edje, "item", eco->ilist);
    edje_object_part_text_set(eco->edje, "title", _("Configuration Panel"));
 
@@ -71,7 +73,10 @@
    /* FIXME: we should have a way for modules to hook in here and add their
     * own entries
     */
+   
    eco->close = e_widget_button_add(eco->evas, _("Close"), NULL, 
_e_configure_cb_close, eco, NULL);
+   e_widget_min_size_get(eco->close, &mw, &mh);
+   edje_extern_object_min_size_set(eco->close, mw, mh);
    edje_object_part_swallow(eco->edje, "button", eco->close);
 
    edje_object_size_min_calc(eco->edje, &ew, &eh);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_dialog.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- e_dialog.h  11 Dec 2005 03:03:53 -0000      1.10
+++ e_dialog.h  27 Dec 2005 17:16:57 -0000      1.11
@@ -7,10 +7,10 @@
 typedef struct _E_Dialog_Button E_Dialog_Button;
 
 #else
-# ifndef E_DIALOG_H
-#  define E_DIALOG_H
+#ifndef E_DIALOG_H
+#define E_DIALOG_H
 
-#  define E_DIALOG_TYPE 0xE0b01012
+#define E_DIALOG_TYPE 0xE0b01012
 
 struct _E_Dialog
 {
@@ -41,5 +41,5 @@
 EAPI void      e_dialog_resizable_set          (E_Dialog *dia, int resizable);
 EAPI void      e_dialog_show                   (E_Dialog *dia);
 
-# endif
+#endif
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_exebuf.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_exebuf.c  15 Dec 2005 10:17:02 -0000      1.7
+++ e_exebuf.c  27 Dec 2005 17:16:57 -0000      1.8
@@ -18,6 +18,8 @@
 
 static void _e_exebuf_exe_free(E_Exebuf_Exe *exe);
 static void _e_exebuf_matches_clear(void);
+static int _e_exebuf_cb_sort_eap(void *data1, void *data2);
+static int _e_exebuf_cb_sort_exe(void *data1, void *data2);
 static void _e_exebuf_update(void);
 static void _e_exebuf_exec(void);
 static void _e_exebuf_exe_sel(E_Exebuf_Exe *exe);
@@ -306,12 +308,21 @@
    if (exe_sel)
      {
        if (exe_sel->app)
-         e_zone_app_exec(exebuf->zone, exe_sel->app);
+         {
+            e_zone_app_exec(exebuf->zone, exe_sel->app);
+            e_exehist_add("exebuf", exe_sel->app->exe);
+         }
        else
-         e_zone_exec(exebuf->zone, exe_sel->file);
+         {
+            e_zone_exec(exebuf->zone, exe_sel->file);
+            e_exehist_add("exebuf", exe_sel->file);
+         }
      }
    else
-     e_zone_exec(exebuf->zone, cmd_buf);
+     {
+       e_zone_exec(exebuf->zone, cmd_buf);
+       e_exehist_add("exebuf", cmd_buf);
+     }
    
    e_exebuf_hide();
 }
@@ -608,6 +619,32 @@
      }
 }
 
+static int
+_e_exebuf_cb_sort_eap(void *data1, void *data2)
+{
+   E_App *a1, *a2;
+   double t1, t2;
+   
+   a1 = data1;
+   a2 = data2;
+   t1 = e_exehist_newest_run_get(a1->exe);
+   t2 = e_exehist_newest_run_get(a2->exe);
+   return (int)(t2 - t1);
+}
+
+static int
+_e_exebuf_cb_sort_exe(void *data1, void *data2)
+{
+   char *e1, *e2;
+   double t1, t2;
+   
+   e1 = data1;
+   e2 = data2;
+   t1 = e_exehist_newest_run_get(e1);
+   t2 = e_exehist_newest_run_get(e2);
+   return (int)(t2 - t1);
+}
+
 static void
 _e_exebuf_matches_update(void)
 {
@@ -723,6 +760,8 @@
    /* FIXME: sort eap matches with most recently selected matches at the
     * start and then from shortest to longest string
     */
+   eap_matches = evas_list_sort(eap_matches, evas_list_count(eap_matches), 
_e_exebuf_cb_sort_eap);
+   
    max = e_config->exebuf_max_eap_list;
    e_box_freeze(eap_list_object);
    for (i = 0, l = eap_matches; l && (i < max); l = l->next, i++)
@@ -760,9 +799,11 @@
      }
    e_box_thaw(eap_list_object);
    
-   /* FIXME: sort eap matches with most recently selected matches at the
+   /* FIXME: sort exe matches with most recently selected matches at the
     * start and then from shortest to longest string
     */
+   exe_matches = evas_list_sort(exe_matches, evas_list_count(exe_matches), 
_e_exebuf_cb_sort_exe);
+   
    max = e_config->exebuf_max_exe_list;
    e_box_freeze(exe_list_object);
    for (i = 0, l = exe_matches; l && (i < max); l = l->next, i++)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -3 -r1.73 -r1.74
--- e_includes.h        19 Dec 2005 14:42:43 -0000      1.73
+++ e_includes.h        27 Dec 2005 17:16:57 -0000      1.74
@@ -106,3 +106,4 @@
 #include "e_deskpreview.h"
 #include "e_exebuf.h"
 #include "e_int_config_modules.h"
+#include "e_exehist.h"
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e/src/bin/e_int_config_window_display.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_int_config_window_display.c       1 Dec 2005 06:46:40 -0000       1.2
+++ e_int_config_window_display.c       27 Dec 2005 17:16:57 -0000      1.3
@@ -63,7 +63,7 @@
    cfdata->border_shade_transition = e_config->border_shade_transition;
    cfdata->border_shade_speed = e_config->border_shade_speed;
    if (cfdata->move_info_visible ||
-       cfdata->resize_info_follows) cfdata->move_resize_info = 1;
+       cfdata->resize_info_visible) cfdata->move_resize_info = 1;
    if (cfdata->border_shade_animate) cfdata->animate_shading = 1;
    cfdata->placement = cfdata->window_placement_policy;
 }
@@ -99,6 +99,11 @@
        e_config->move_info_visible = 1;
        e_config->resize_info_visible = 1;
      }
+   else
+     {
+       e_config->move_info_visible = 0;
+       e_config->resize_info_visible = 0;
+     }
    e_config->window_placement_policy = cfdata->placement;
    e_config->border_shade_animate = cfdata->animate_shading;
    e_config_save_queue();
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -3 -r1.119 -r1.120
--- e_int_menus.c       25 Dec 2005 11:20:29 -0000      1.119
+++ e_int_menus.c       27 Dec 2005 17:16:57 -0000      1.120
@@ -12,7 +12,7 @@
    E_Menu *apps;
    E_Menu *desktops;
    E_Menu *clients;
-   //E_Menu *modules;
+   E_Menu *modules;
    E_Menu *gadgets;
    E_Menu *themes;
    E_Menu *config;
@@ -85,14 +85,13 @@
   
    mi = e_menu_item_new(m);
    e_menu_item_separator_set(mi, 1);
-   /*
+
    subm = e_module_menu_new();
    dat->modules = subm;
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Modules"));
    e_util_menu_item_edje_icon_set(mi, "enlightenment/modules");
    e_menu_item_submenu_set(mi, subm);
-   */
 
    subm = e_int_menus_desktops_new();
    dat->desktops = subm;
@@ -346,7 +345,7 @@
    if (dat)
      {
        e_object_del(E_OBJECT(dat->apps));
-/*     e_object_del(E_OBJECT(dat->modules));*/
+       e_object_del(E_OBJECT(dat->modules));
        e_object_del(E_OBJECT(dat->desktops));
        e_object_del(E_OBJECT(dat->clients));
        e_object_del(E_OBJECT(dat->gadgets));
@@ -513,6 +512,7 @@
    
    a = data;
    e_zone_app_exec(m->zone, a);
+   e_exehist_add("menu/apps", a->exe);
 }
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers.h,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -3 -r1.114 -r1.115
--- e_ipc_handlers.h    6 Dec 2005 22:50:41 -0000       1.114
+++ e_ipc_handlers.h    27 Dec 2005 17:16:57 -0000      1.115
@@ -29,7 +29,7 @@
    char *__str = NULL; \
    if (e_ipc_codec_str_dec(e->data, e->size, &__str)) {
 # define END_STRING(__str) \
-      free(__str); \
+      if (__str) free(__str); \
    } \
 } \
 break;
@@ -4426,7 +4426,12 @@
    REQ_STRING(params[0], HDL);
 #elif (TYPE == E_WM_IN)
    STRING(s, HDL);
-   if (e_theme_transition_find(s))
+   if (!s)
+     {
+       if (e_config->transition_start) 
evas_stringshare_del(e_config->transition_start);
+       e_config->transition_start = NULL;
+     }
+   if ((s) && (e_theme_transition_find(s)))
      {
        if (e_config->transition_start) 
evas_stringshare_del(e_config->transition_start);
        e_config->transition_start = NULL;
@@ -4471,13 +4476,18 @@
    REQ_STRING(params[0], HDL);
 #elif (TYPE == E_WM_IN)
    STRING(s, HDL);
-   if (e_theme_transition_find(s))
+   if (!s)
+     {
+       if (e_config->transition_desk) 
evas_stringshare_del(e_config->transition_desk);
+       e_config->transition_desk = NULL;
+     }
+   if ((s) && (e_theme_transition_find(s)))
      {
        if (e_config->transition_desk) 
evas_stringshare_del(e_config->transition_desk);
        e_config->transition_desk = NULL;
        if (s) e_config->transition_desk = evas_stringshare_add(s);
-               SAVE;
      }
+   SAVE;
    END_STRING(s);
 #elif (TYPE == E_REMOTE_IN)
 #endif
@@ -4516,7 +4526,12 @@
    REQ_STRING(params[0], HDL);
 #elif (TYPE == E_WM_IN)
    STRING(s, HDL);
-   if (e_theme_transition_find(s))
+   if (!s)
+     {
+       if (e_config->transition_change) 
evas_stringshare_del(e_config->transition_change);
+       e_config->transition_change = NULL;
+     }
+   if ((s) && (e_theme_transition_find(s)))
      {
        if (e_config->transition_change) 
evas_stringshare_del(e_config->transition_change);
        e_config->transition_change = NULL;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -3 -r1.138 -r1.139
--- e_main.c    22 Nov 2005 13:28:10 -0000      1.138
+++ e_main.c    27 Dec 2005 17:16:57 -0000      1.139
@@ -767,6 +767,7 @@
    if (!e_desk_init()) return 0;
    if (!e_gadman_init()) return 0;
    if (!e_menu_init()) return 0;
+   if (!e_exehist_init()) return 0;
    
    num = 0;
    roots = ecore_x_window_root_list(&num);
@@ -824,6 +825,7 @@
    e_win_shutdown();
    e_border_shutdown();
    e_focus_shutdown();
+   e_exehist_shutdown();
    e_menu_shutdown();
    e_gadman_shutdown();
    e_desk_shutdown();
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_menu.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -3 -r1.42 -r1.43
--- e_menu.c    3 Dec 2005 15:39:25 -0000       1.42
+++ e_menu.c    27 Dec 2005 17:16:57 -0000      1.43
@@ -1428,6 +1428,7 @@
 static void
 _e_menu_item_unrealize(E_Menu_Item *mi)
 {
+   e_box_freeze(mi->container_object);
    if (mi->separator_object) evas_object_del(mi->separator_object);
    mi->separator_object = NULL;
    if (mi->bg_object) evas_object_del(mi->bg_object);
@@ -1454,9 +1455,11 @@
    Evas_List *l;
    
    if (!m->realized) return;
+   evas_event_freeze(m->evas);
    e_container_shape_hide(m->shape);
    e_object_del(E_OBJECT(m->shape));
    m->shape = NULL;
+   e_box_freeze(m->container_object);
    for (l = m->items; l; l = l->next)
      {
        E_Menu_Item *mi;
@@ -2057,6 +2060,8 @@
    int x, y, w, h;
    int dx, dy;
    
+   if (!mi->menu) return;
+   if (!mi->menu->zone) return;
    x = mi->x + mi->menu->cur.x;
    y = mi->y + mi->menu->cur.y;
    w = mi->w;
@@ -2065,10 +2070,12 @@
    dy = 0;
    if ((x + w) > (mi->menu->zone->x + mi->menu->zone->w))
      dx = (mi->menu->zone->x + mi->menu->zone->w) - (x + w);
+   else if (x < mi->menu->zone->x)
+     dx = mi->menu->zone->x - x;
    if ((y + h) > (mi->menu->zone->y + mi->menu->zone->h))
      dy = (mi->menu->zone->y + mi->menu->zone->h) - (y + h);
-   if (x < 0) dx = x;
-   if (y < 0) dy = y;
+   else if (y < mi->menu->zone->y)
+     dy = mi->menu->zone->y - y;
    if ((dx != 0) || (dy != 0))
      _e_menu_scroll_by(dx, dy);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_module.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- e_module.c  17 Dec 2005 11:21:53 -0000      1.49
+++ e_module.c  27 Dec 2005 17:16:57 -0000      1.50
@@ -27,6 +27,7 @@
 static E_Menu *_e_module_control_menu_new(E_Module *mod);
 static void _e_module_menu_free(void *obj);
 static void _e_module_control_menu_about(void *data, E_Menu *m, E_Menu_Item 
*mi);
+static void _e_module_control_menu_configuration(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void _e_module_control_menu_enabled(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_module_dialog_disable_show(char *title, char *body, E_Module 
*m);
 static void _e_module_cb_dialog_disable(void *data, E_Dialog *dia);
@@ -378,7 +379,8 @@
        
        mod = l->data;
        mi = e_menu_item_new(m);
-       if ((mod->api) && (mod->api->name)) e_menu_item_label_set(mi, 
mod->api->name);
+       if ((mod->api) && (mod->api->name))
+         e_menu_item_label_set(mi, mod->api->name);
        else e_menu_item_label_set(mi, mod->name);
        if (mod->edje_icon_file)
          {
@@ -483,14 +485,14 @@
    if (mod->enabled) e_menu_item_toggle_set(mi, 1);
    e_menu_item_callback_set(mi, _e_module_control_menu_enabled, mod);
 
-   if (mod->config_menu)
+   if (mod->func.config)
      {
        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, _("Configuration"));
-       e_menu_item_submenu_set(mi, mod->config_menu);
+       e_menu_item_callback_set(mi, _e_module_control_menu_configuration, mod);
      }
    return m;
 }
@@ -522,6 +524,15 @@
 }
 
 static void
+_e_module_control_menu_configuration(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   E_Module *mod;
+   
+   mod = data;
+   mod->func.config(mod);
+}
+
+static void
 _e_module_control_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi)
 {
    E_Module *mod;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_module.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- e_module.h  17 Dec 2005 11:21:53 -0000      1.9
+++ e_module.h  27 Dec 2005 17:16:57 -0000      1.10
@@ -30,7 +30,7 @@
       int    (*save)        (E_Module *m);
       int    (*info)        (E_Module *m);
       int    (*about)       (E_Module *m);
-      int    (*config)       (E_Module *m);
+      int    (*config)      (E_Module *m);
    } func;
    
    unsigned char        enabled : 1;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_object.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- e_object.h  28 Jul 2005 04:35:45 -0000      1.17
+++ e_object.h  27 Dec 2005 17:16:57 -0000      1.18
@@ -30,18 +30,18 @@
 #define E_OBJECT_DEL_SET(x, del_func)   e_object_del_func_set(E_OBJECT(x), 
E_OBJECT_CLEANUP_FUNC(del_func))
 
 #ifdef OBJECT_PARANOIA_CHECK
-# define E_OBJECT_CHECK(x)                  do {if 
(e_object_error(E_OBJECT(x))) return;} while (0)
-# define E_OBJECT_CHECK_RETURN(x, ret)      do {if 
(e_object_error(E_OBJECT(x))) return ret;} while (0)
-#  define E_OBJECT_TYPE_CHECK(x, tp)      do {if ((E_OBJECT(x)->type) != (tp)) 
{ fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); return;} } 
while (0)
-#  define E_OBJECT_TYPE_CHECK_RETURN(x, tp, ret)  do {if ((E_OBJECT(x)->type) 
!= tp) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); 
return ret;} } while (0)
-# define E_OBJECT_IF_NOT_TYPE(x, tp)      if (E_OBJECT(x)->type != (tp))
+# define E_OBJECT_CHECK(x)                       do {if 
(e_object_error(E_OBJECT(x))) return;} while (0)
+# define E_OBJECT_CHECK_RETURN(x, ret)           do {if 
(e_object_error(E_OBJECT(x))) return ret;} while (0)
+#  define E_OBJECT_TYPE_CHECK(x, tp)             do {if ((E_OBJECT(x)->type) 
!= (tp)) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); 
return;} } while (0)
+#  define E_OBJECT_TYPE_CHECK_RETURN(x, tp, ret) do {if ((E_OBJECT(x)->type) 
!= tp) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); 
return ret;} } while (0)
+# define E_OBJECT_IF_NOT_TYPE(x, tp)             if (E_OBJECT(x)->type != (tp))
 #else
 # ifdef OBJECT_CHECK
-#  define E_OBJECT_CHECK(x)                 do {if ((!E_OBJECT(x)) || 
(E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return;} while (0)
-#  define E_OBJECT_CHECK_RETURN(x, ret)     do {if ((!E_OBJECT(x)) || 
(E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return ret;} while (0)
-#  define E_OBJECT_TYPE_CHECK(x, tp)        do {if ((E_OBJECT(x)->type) != 
(tp)) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); 
return;} } while (0)
+#  define E_OBJECT_CHECK(x)                       do {if ((!E_OBJECT(x)) || 
(E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return;} while (0)
+#  define E_OBJECT_CHECK_RETURN(x, ret)           do {if ((!E_OBJECT(x)) || 
(E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return ret;} while (0)
+#  define E_OBJECT_TYPE_CHECK(x, tp)              do {if ((E_OBJECT(x)->type) 
!= (tp)) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); 
return;} } while (0)
 #  define E_OBJECT_TYPE_CHECK_RETURN(x, tp, ret)  do {if ((E_OBJECT(x)->type) 
!= (tp)) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); 
return ret;} } while (0)
-# define E_OBJECT_IF_NOT_TYPE(x, type)      if (E_OBJECT(x)->type != (type))
+# define E_OBJECT_IF_NOT_TYPE(x, type)            if (E_OBJECT(x)->type != 
(type))
 # else
 #  define E_OBJECT_CHECK(x)               
 #  define E_OBJECT_CHECK_RETURN(x, ret)   
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_winlist.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- e_winlist.c 14 Dec 2005 15:54:51 -0000      1.36
+++ e_winlist.c 27 Dec 2005 17:16:57 -0000      1.37
@@ -719,7 +719,8 @@
    Ecore_X_Event_Key_Up *ev;
    
    ev = event;
-   if (ev->win != input_window) return 1;
+   if (!winlist) return 1;
+//   if (ev->win != input_window) return 1;
    if (hold_mod)
      {
        if      ((hold_mod & ECORE_X_MODIFIER_SHIFT) && (!strcmp(ev->keysymbol, 
"Shift_L"))) hold_count--;




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to