Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_actions.c e_border.c e_border.h e_config.c e_hints.c 
        e_int_border_menu.c 


Log Message:


patches and stuff hanign in mail...

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -3 -r1.40 -r1.41
--- e_actions.c 11 Oct 2005 20:21:50 -0000      1.40
+++ e_actions.c 1 Dec 2005 07:10:32 -0000       1.41
@@ -367,23 +367,67 @@
        E_Border *bd;
        
        bd = (E_Border *)obj;
-       if (bd->maximized) e_border_unmaximize(bd);
+       /*if (bd->maximized) e_border_unmaximize(bd);*/
+       if( bd->maximized != E_MAXIMIZE_NONE &&
+           bd->maximized != E_MAXIMIZE_VERTICAL &&
+           bd->maximized != E_MAXIMIZE_HORIZONTAL )
+       {
+         if( !params )
+           e_border_unmaximize(bd);
+         else
+         {
+           if( !strcmp( params, "vertical"))
+             e_border_unmaximize_vh(bd, E_MAXIMIZE_VERTICAL );
+           else if( !strcmp( params, "horizontal"))
+             e_border_unmaximize_vh(bd, E_MAXIMIZE_HORIZONTAL );
+           else
+             e_border_unmaximize(bd);
+         }
+       }
        else
+       {
+         if( !bd->maximized )
          {
-            if (!params)
-              e_border_maximize(bd, e_config->maximize_policy);
-            else
-              {
-                 if (!strcmp(params, "fullscreen")) e_border_maximize(bd, 
E_MAXIMIZE_FULLSCREEN);
-                 else if (!strcmp(params, "smart")) e_border_maximize(bd, 
E_MAXIMIZE_SMART);
-                 else if (!strcmp(params, "expand")) e_border_maximize(bd, 
E_MAXIMIZE_EXPAND);
-                 else if (!strcmp(params, "fill")) e_border_maximize(bd, 
E_MAXIMIZE_FILL);
-                 else e_border_maximize(bd, e_config->maximize_policy);
-              }
+           if (!params)
+             e_border_maximize(bd, e_config->maximize_policy);
+           else
+           {
+             if (!strcmp(params, "fullscreen")) e_border_maximize(bd, 
E_MAXIMIZE_FULLSCREEN);
+             else if (!strcmp(params, "smart")) e_border_maximize(bd, 
E_MAXIMIZE_SMART);
+             else if (!strcmp(params, "expand")) e_border_maximize(bd, 
E_MAXIMIZE_EXPAND);
+             else if (!strcmp(params, "fill")) e_border_maximize(bd, 
E_MAXIMIZE_FILL);
+             else if (!strcmp(params, "vertical")) e_border_maximize(bd, 
E_MAXIMIZE_VERTICAL);
+             else if (!strcmp(params, "horizontal")) e_border_maximize(bd, 
E_MAXIMIZE_HORIZONTAL);
+             else e_border_maximize(bd, e_config->maximize_policy);
+           }
+         }
+         else
+         {
+           if( !params )
+             e_border_maximize( bd, e_config->maximize_policy );
+           else
+           {
+             if( !strcmp(params, "vertical") )
+             {
+               if( bd->maximized == E_MAXIMIZE_VERTICAL )
+                 e_border_unmaximize_vh(bd, E_MAXIMIZE_VERTICAL );
+               else
+                 e_border_maximize(bd, E_MAXIMIZE_VERTICAL );
+             }
+             else if( !strcmp(params, "horizontal") )
+             {
+               if( bd->maximized == E_MAXIMIZE_HORIZONTAL )
+                 e_border_unmaximize_vh(bd, E_MAXIMIZE_HORIZONTAL );
+               else
+                 e_border_maximize(bd, E_MAXIMIZE_HORIZONTAL );
+             }
+             else
+               e_border_maximize(bd, e_config->maximize_policy);
+           }
          }
+       }
      }
 }
-
 /***************************************************************************/
 ACT_FN_GO(window_maximized)
 {
@@ -534,7 +578,6 @@
        }
      }
 }
-
 /***************************************************************************/
 ACT_FN_GO(window_move_to)
 {
@@ -1297,7 +1340,7 @@
    ACT_GO(window_iconic);
    
    ACT_GO(window_maximized_toggle);
-   
+
    ACT_GO(window_maximized);
    
    ACT_GO(window_shaded_toggle);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.464
retrieving revision 1.465
diff -u -3 -r1.464 -r1.465
--- e_border.c  11 Nov 2005 08:15:29 -0000      1.464
+++ e_border.c  1 Dec 2005 07:10:32 -0000       1.465
@@ -1443,7 +1443,14 @@
    if ((bd->shaded) || (bd->shading)) return;
    if (bd->fullscreen)
      e_border_unfullscreen(bd);
-   if (!bd->maximized)
+   if( bd->maximized == E_MAXIMIZE_VERTICAL && max == E_MAXIMIZE_VERTICAL )
+     ; // ignore. we are already maximized vertical.
+   else if( bd->maximized == E_MAXIMIZE_HORIZONTAL && max == 
E_MAXIMIZE_HORIZONTAL )
+     ; // ignore. we are already maximized horizontaly.
+   else if ( ( bd->maximized == E_MAXIMIZE_NONE ||
+              bd->maximized == E_MAXIMIZE_VERTICAL ||
+              bd->maximized == E_MAXIMIZE_HORIZONTAL )
+          )
      {
        int x1, y1, x2, y2;
        int w, h;
@@ -1453,10 +1460,14 @@
             bd->need_maximize = 1;
             return;
          }
-       bd->saved.x = bd->x;
-       bd->saved.y = bd->y;
-       bd->saved.w = bd->w;
-       bd->saved.h = bd->h;
+       
+       if( !bd->maximized ) // E_MAXIMIZE_NONE
+       {
+         bd->saved.x = bd->x;
+         bd->saved.y = bd->y;
+         bd->saved.w = bd->w;
+         bd->saved.h = bd->h;
+       }
        e_hints_window_size_set(bd);
 
        e_border_raise(bd);
@@ -1532,8 +1543,54 @@
              e_border_resize_limit(bd, &w, &h);
              e_border_move_resize(bd, x1, y1, w, h);
              break;
+           case E_MAXIMIZE_VERTICAL:
+             x1 = bd->zone->x;
+             y1 = bd->zone->y;
+             x2 = bd->zone->x + bd->zone->w;
+             y2 = bd->zone->y + bd->zone->h;
+
+             /* walk through all gadgets */
+             e_maximize_border_gadman_fill(bd, &x1, &y1, &x2, &y2);
+
+             /* walk through docks and toolbars */
+             //e_maximize_border_dock_fit(bd, &x1, &y1, &x2, &y2);
+
+             /* walk through all windows */
+             //e_maximize_border_border_fill(bd, &x1, &y1, &x2, &y2);
+
+             x1 = bd->x;
+             w = bd->w;
+             h = y2 - y1;
+             e_border_resize_limit(bd,&w,&h);
+             e_border_move_resize(bd,x1,y1,w,h);
+             break;
+           case E_MAXIMIZE_HORIZONTAL:
+             x1 = bd->zone->x;
+             y1 = bd->zone->y;
+             x2 = bd->zone->x + bd->zone->w;
+             y2 = bd->zone->y + bd->zone->h;
+
+             /* walk through all gadgets */
+             e_maximize_border_gadman_fill(bd, &x1, &y1, &x2, &y2);
+
+             /* walk through docks and toolbars */
+             //e_maximize_border_dock_fit(bd, &x1, &y1, &x2, &y2);
+
+             /* walk through all windows */
+             //e_maximize_border_border_fill(bd, &x1, &y1, &x2, &y2);
+
+             y1 = bd->y;
+             h = bd->h;
+             w = x2 - x1;
+             e_border_resize_limit(bd,&w,&h);
+             e_border_move_resize(bd,x1,y1,w,h);
+             break;
          }
-        bd->maximized = max;
+       if( bd->maximized == E_MAXIMIZE_HORIZONTAL && max == 
E_MAXIMIZE_VERTICAL ||
+           bd->maximized == E_MAXIMIZE_VERTICAL && max == 
E_MAXIMIZE_HORIZONTAL )
+         bd->maximized = e_config->maximize_policy;
+       else
+         bd->maximized = max;
 
        if (bd->maximized)
          e_hints_window_maximized_set(bd, 1);
@@ -1542,6 +1599,90 @@
 
      }
 }
+/***sndev : e_border_unmaxmize_vh 
*******************************************************/
+void
+e_border_unmaximize_vh(E_Border *bd, E_Maximize max )
+{
+   E_OBJECT_CHECK(bd);
+   E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
+   if ((bd->shaded) || (bd->shading)) return;
+   if( max != E_MAXIMIZE_VERTICAL && max != E_MAXIMIZE_HORIZONTAL ) return; 
+
+   if( !bd->lock_user_maximize)
+   {
+     if( bd->maximized )
+     {
+       switch( bd->maximized )
+       {
+        case E_MAXIMIZE_NONE:
+        case E_MAXIMIZE_FULLSCREEN:
+          /* Ignore */
+          break;
+        case E_MAXIMIZE_SMART:
+        case E_MAXIMIZE_EXPAND:
+        case E_MAXIMIZE_FILL:
+          if( max == E_MAXIMIZE_VERTICAL )
+          {
+            bd->maximized = E_MAXIMIZE_NONE;
+            e_hints_window_maximized_set(bd, 0);
+
+            bd->maximized = E_MAXIMIZE_HORIZONTAL;
+            e_hints_window_maximized_set(bd, 1);
+
+            e_border_move_resize( bd, bd->x, bd->saved.y, bd->w, bd->saved.h);
+            e_hints_window_size_unset(bd);
+
+            //edje_object_signal_emit(bd->bg_object, "unmaximize", "");
+          }
+          if( max == E_MAXIMIZE_HORIZONTAL )
+          {
+            bd->maximized = E_MAXIMIZE_NONE;
+            e_hints_window_maximized_set(bd, 0);
+
+            bd->maximized = E_MAXIMIZE_VERTICAL;
+            e_hints_window_maximized_set(bd, 1);
+
+            e_border_move_resize( bd, bd->saved.x, bd->y, bd->saved.w, bd->h);
+            e_hints_window_size_unset(bd);
+
+            //edje_object_signal_emit(bd->bg_object, "unmaximize", "");
+          }
+          break;
+        case E_MAXIMIZE_VERTICAL:
+          if( max == E_MAXIMIZE_HORIZONTAL )
+            ; // do nothing in this case
+          if( max == E_MAXIMIZE_VERTICAL )
+          {
+            bd->maximized = E_MAXIMIZE_NONE;
+            e_hints_window_maximized_set(bd, 0);
+
+            e_border_move_resize( bd, bd->saved.x, bd->saved.y, bd->saved.w, 
bd->saved.h);
+            bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
+            e_hints_window_size_unset(bd);
+
+            edje_object_signal_emit(bd->bg_object, "unmaximize", "");
+          }
+          break;
+        case E_MAXIMIZE_HORIZONTAL:
+          if( max == E_MAXIMIZE_VERTICAL )
+            ; // do nothing in this case.
+          if( max == E_MAXIMIZE_HORIZONTAL )
+          {
+            bd->maximized = E_MAXIMIZE_NONE;
+            e_hints_window_maximized_set(bd, 0);
+
+            e_border_move_resize( bd, bd->saved.x, bd->saved.y, bd->saved.w, 
bd->saved.h);
+            bd->saved.x = bd->saved.y = bd->saved.w = bd->saved.h = 0;
+            e_hints_window_size_unset(bd);
+
+            edje_object_signal_emit(bd->bg_object, "unmaximize", "");
+          }
+          break;
+       }
+     }
+   }
+}
+/**************************************************************************************/
 
 void
 e_border_unmaximize(E_Border *bd)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -3 -r1.125 -r1.126
--- e_border.h  6 Nov 2005 08:03:13 -0000       1.125
+++ e_border.h  1 Dec 2005 07:10:32 -0000       1.126
@@ -47,7 +47,9 @@
    E_MAXIMIZE_FULLSCREEN,
    E_MAXIMIZE_SMART,
    E_MAXIMIZE_EXPAND,
-   E_MAXIMIZE_FILL
+   E_MAXIMIZE_FILL,
+   E_MAXIMIZE_VERTICAL,
+   E_MAXIMIZE_HORIZONTAL
 } E_Maximize;
 
 typedef enum _E_Fullscreen
@@ -358,6 +360,7 @@
    E_Config_Dialog *border_remember_dialog;
    E_Config_Dialog *border_border_dialog;
    E_Menu *border_stacking_menu;
+   E_Menu *border_maximize_menu;
    Evas_List *pending_move_resize;
    
    struct {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.126
retrieving revision 1.127
diff -u -3 -r1.126 -r1.127
--- e_config.c  25 Nov 2005 04:10:54 -0000      1.126
+++ e_config.c  1 Dec 2005 07:10:32 -0000       1.127
@@ -763,6 +763,26 @@
             eb->params = NULL;
             e_config->key_bindings = evas_list_append(e_config->key_bindings, 
eb);
 
+            // sndev : start
+            eb = E_NEW( E_Config_Binding_Key, 1 );
+            eb->context = E_BINDING_CONTEXT_ANY;
+            eb->key = strdup("F10");
+            eb->modifiers = E_BINDING_MODIFIER_ALT;
+            eb->any_mod = 0;
+            eb->action = strdup( "window_maximized_toggle" );
+            eb->params = strdup( "vertical" );
+            e_config->key_bindings = evas_list_append( e_config->key_bindings, 
eb );
+
+            eb = E_NEW( E_Config_Binding_Key, 1 );
+            eb->context = E_BINDING_CONTEXT_ANY;
+            eb->key = strdup("F10");
+            eb->modifiers = E_BINDING_MODIFIER_CTRL;
+            eb->any_mod = 0;
+            eb->action = strdup( "window_maximized_toggle" );
+            eb->params = strdup( "horizontal" );
+            e_config->key_bindings = evas_list_append( e_config->key_bindings, 
eb );
+            // sndev : end
+
             eb = E_NEW(E_Config_Binding_Key, 1);
             eb->context = E_BINDING_CONTEXT_ANY;
             eb->key = strdup("r");
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -3 -r1.79 -r1.80
--- e_hints.c   4 Nov 2005 23:30:18 -0000       1.79
+++ e_hints.c   1 Dec 2005 07:10:32 -0000       1.80
@@ -1010,7 +1010,60 @@
 void
 e_hints_window_maximized_set(E_Border *bd, int on)
 {
-   if ((!bd->client.netwm.state.maximized_v) && (on))
+
+  if( on )
+  {
+    if( bd->maximized == E_MAXIMIZE_VERTICAL )
+    {
+      if( !bd->client.netwm.state.maximized_v )
+      {
+       bd->client.netwm.update.state = 1;
+       bd->client.netwm.state.maximized_v = 1;
+       bd->changed = 1;
+      }
+    }
+    else if( bd->maximized == E_MAXIMIZE_HORIZONTAL )
+    {
+      if( !bd->client.netwm.state.maximized_h )
+      {
+       bd->client.netwm.update.state = 1;
+       bd->client.netwm.state.maximized_h = 1;
+       bd->changed = 1;
+      }
+    }
+    else
+    {
+      if( !bd->client.netwm.state.maximized_v )
+      {
+       bd->client.netwm.update.state = 1;
+       bd->client.netwm.state.maximized_v = 1;
+       bd->changed = 1;
+      }
+      if( !bd->client.netwm.state.maximized_h )
+      {
+       bd->client.netwm.update.state = 1;
+       bd->client.netwm.state.maximized_h = 1;
+       bd->changed = 1;
+      }
+    }
+  }
+  else
+  {
+    if( bd->client.netwm.state.maximized_v )
+    {
+      bd->client.netwm.update.state = 1;
+      bd->client.netwm.state.maximized_v = 0;
+      bd->changed = 1;
+    }
+    if( bd->client.netwm.state.maximized_h )
+    {
+      bd->client.netwm.update.state = 1;
+      bd->client.netwm.state.maximized_h = 0;
+      bd->changed = 1;
+    }
+  }
+
+   /*if ((!bd->client.netwm.state.maximized_v) && (on))
      {
        bd->client.netwm.update.state = 1;
        bd->client.netwm.state.maximized_v = 1;
@@ -1033,7 +1086,7 @@
        bd->client.netwm.update.state = 1;
        bd->client.netwm.state.maximized_h = 0;
        bd->changed = 1;
-     }
+     }*/
 }
 
 void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_border_menu.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_int_border_menu.c 18 Nov 2005 07:21:21 -0000      1.7
+++ e_int_border_menu.c 1 Dec 2005 07:10:32 -0000       1.8
@@ -11,6 +11,8 @@
 static void _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_kill(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _e_border_menu_cb_maximize_verticaly(void *data, E_Menu *m, 
E_Menu_Item *mi);
+static void _e_border_menu_cb_maximize_horizontaly(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void _e_border_menu_cb_shade(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi);
@@ -70,6 +72,55 @@
      }
 
    m = e_menu_new();
+   bd->border_maximize_menu = m;
+   /* Only allow to change layer for windows in "normal" layers */
+   if ((!bd->lock_user_maximize) &&
+       ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150)))
+   { 
+     int __fullmaximization = 0;
+     mi = e_menu_item_new(m);
+     e_menu_item_label_set(mi, _("Maximized"));
+     e_menu_item_check_set(mi, 1);
+     //e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
+     e_menu_item_toggle_set( mi, ( ( (__fullmaximization = bd->maximized &&
+                                       bd->maximized != E_MAXIMIZE_VERTICAL &&
+                                       bd->maximized != 
E_MAXIMIZE_HORIZONTAL)) ? 1 : 0 ));
+     e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
+     e_menu_item_icon_edje_set(mi,
+                               (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                             
"widgets/border/default/maximize"),
+                               "widgets/border/default/maximize");
+
+     mi = e_menu_item_new(m);
+     e_menu_item_label_set(mi, _("Maximized verticaly"));
+     e_menu_item_check_set(mi, 1);
+     //e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
+     e_menu_item_toggle_set( mi, ( ( (bd->maximized &&
+                                     bd->maximized == E_MAXIMIZE_VERTICAL &&
+                                     bd->maximized != E_MAXIMIZE_HORIZONTAL) ||
+                                    __fullmaximization ) ? 1 : 0 ));
+     e_menu_item_callback_set(mi, _e_border_menu_cb_maximize_verticaly, bd);
+     e_menu_item_icon_edje_set(mi,
+                               (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                             
"widgets/border/default/maximize"),
+                               "widgets/border/default/maximize");
+
+     mi = e_menu_item_new(m);
+     e_menu_item_label_set(mi, _("Maximized horizontaly"));
+     e_menu_item_check_set(mi, 1);
+     //e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
+     e_menu_item_toggle_set( mi, ( ( (bd->maximized &&
+                                     bd->maximized != E_MAXIMIZE_VERTICAL &&
+                                     bd->maximized == E_MAXIMIZE_HORIZONTAL) ||
+                                    __fullmaximization ) ? 1 : 0 ));
+     e_menu_item_callback_set(mi, _e_border_menu_cb_maximize_horizontaly, bd);
+     e_menu_item_icon_edje_set(mi,
+                               (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                             
"widgets/border/default/maximize"),
+                               "widgets/border/default/maximize");
+   }
+
+   m = e_menu_new();
    e_object_data_set(E_OBJECT(m), bd);
    bd->border_menu = m;
    e_menu_post_deactivate_callback_set(m, _e_border_cb_border_menu_end, NULL);
@@ -117,6 +168,14 @@
                                                           
"widgets/border/default/stacking"),
                             "widgets/border/default/stacking");
    
+   mi = e_menu_item_new(m);
+   e_menu_item_label_set(mi, _("Maximize"));
+   e_menu_item_submenu_set(mi, bd->border_maximize_menu);
+   e_menu_item_icon_edje_set(mi,
+                            (char *)e_theme_edje_file_get("base/theme/borders",
+                                                          
"widgets/border/default/maximize"),
+                            "widgets/border/default/maximize");
+
    if ((!bd->lock_user_shade) && (!(!strcmp("borderless", 
bd->client.border.name))))
      {
        mi = e_menu_item_new(m);
@@ -130,18 +189,44 @@
                                  "widgets/border/default/shade");
      }
 
-   if (!bd->lock_user_maximize)
-     {
-       mi = e_menu_item_new(m);
-       e_menu_item_label_set(mi, _("Maximized"));
-       e_menu_item_check_set(mi, 1);
-       e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
-       e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
-       e_menu_item_icon_edje_set(mi,
-                                 (char 
*)e_theme_edje_file_get("base/theme/borders",
-                                                               
"widgets/border/default/maximize"),
-                                 "widgets/border/default/maximize");
-     }
+   /*if (!bd->lock_user_maximize)
+   {
+     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, _("Maximized"));
+     e_menu_item_check_set(mi, 1);
+     e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
+     e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
+     e_menu_item_icon_edje_set(mi,
+                               (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                             
"widgets/border/default/maximize"),
+                               "widgets/border/default/maximize");
+
+     mi = e_menu_item_new(m);
+     e_menu_item_label_set(mi, _("Maximized verticaly"));
+     e_menu_item_check_set(mi, 1);
+     e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
+     e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
+     e_menu_item_icon_edje_set(mi,
+                               (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                             
"widgets/border/default/maximize"),
+                               "widgets/border/default/maximize");
+
+     mi = e_menu_item_new(m);
+     e_menu_item_label_set(mi, _("Maximized horizontaly"));
+     e_menu_item_check_set(mi, 1);
+     e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
+     e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
+     e_menu_item_icon_edje_set(mi,
+                               (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                             
"widgets/border/default/maximize"),
+                               "widgets/border/default/maximize");
+
+     mi = e_menu_item_new(m);
+     e_menu_item_separator_set(mi, 1);
+   }*/
    
    if (!bd->lock_user_sticky)
      {
@@ -270,6 +355,12 @@
        bd->border_stacking_menu = NULL;
        was_menu = 1;
      }
+   if( bd->border_maximize_menu )
+   {
+     e_object_del(E_OBJECT(bd->border_maximize_menu));
+     bd->border_maximize_menu = NULL;
+     was_menu = 1;
+   }
    if (bd->border_menu)
      {
        e_object_del(E_OBJECT(bd->border_menu));
@@ -365,11 +456,41 @@
    bd = data;
    if (!bd->lock_user_maximize)
      {
-       if (bd->maximized) e_border_unmaximize(bd);
+       if (bd->maximized != E_MAXIMIZE_NONE &&
+           bd->maximized != E_MAXIMIZE_VERTICAL &&
+           bd->maximized != E_MAXIMIZE_HORIZONTAL ) e_border_unmaximize(bd);
        else e_border_maximize(bd, e_config->maximize_policy);
      }
 }
+/*** sndev : menu_cb_miximize_verticaly callback **************/
+static void
+_e_border_menu_cb_maximize_verticaly(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   E_Border *bd;
+
+   bd = data;
+   if (!bd->lock_user_maximize)
+     {
+       if (bd->maximized && bd->maximized != E_MAXIMIZE_HORIZONTAL ) 
+         e_border_unmaximize_vh(bd, E_MAXIMIZE_VERTICAL );
+       else e_border_maximize(bd, E_MAXIMIZE_VERTICAL );
+     }
+}
+/*** sndev : menu_cb_miximize_verticaly callback **************/
+static void
+_e_border_menu_cb_maximize_horizontaly(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   E_Border *bd;
 
+   bd = data;
+   if (!bd->lock_user_maximize)
+     {
+       if (bd->maximized && bd->maximized != E_MAXIMIZE_VERTICAL ) 
+         e_border_unmaximize_vh(bd, E_MAXIMIZE_HORIZONTAL );
+       else e_border_maximize(bd, E_MAXIMIZE_HORIZONTAL );
+     }
+}
+/*************************************************************/
 static void
 _e_border_menu_cb_shade(void *data, E_Menu *m, E_Menu_Item *mi)
 {




-------------------------------------------------------
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