Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_desk.c e_desk.h e_zone.c e_zone.h 


Log Message:
Only allow borders in normal layers to change stacking from the menu.
Move fullscreen from desk to zone. It is the zone that is fullscreen, and
then each desk must set fullscreen state on the zone if requested.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.339
retrieving revision 1.340
diff -u -3 -r1.339 -r1.340
--- e_border.c  19 Jul 2005 09:11:21 -0000      1.339
+++ e_border.c  20 Jul 2005 13:07:41 -0000      1.340
@@ -563,7 +563,7 @@
        _e_border_move_end(bd);
        e_zone_flip_coords_handle(bd->zone, -1, -1);
      }
-   if ((bd->desk->visible) && (bd->fullscreen))
+   if (bd->fullscreen)
      e_border_unfullscreen(bd);
    if (bd->resize_mode != RESIZE_NONE)
      {
@@ -1314,7 +1314,7 @@
        bd->client_inset.t = 0;
        bd->client_inset.b = 0;
 
-       e_desk_fullscreen_set(bd->desk, bd);
+       e_zone_fullscreen_set(bd->zone, 1);
 
        bd->layer = 200;
        e_border_raise(bd);
@@ -1352,7 +1352,7 @@
        bd->client_inset.t = bd->client_inset.st;
        bd->client_inset.b = bd->client_inset.sb;
 
-       e_desk_fullscreen_set(bd->desk, NULL);
+       e_zone_fullscreen_set(bd->zone, 0);
 
        e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, 
bd->saved.h);
        ecore_evas_show(bd->bg_ecore_evas);
@@ -5690,38 +5690,40 @@
 
    m = e_menu_new();
    bd->border_stacking_menu = m;
-   if (!bd->lock_user_stacking)
+   /* Only allow to change layer for windows in "normal" layers */
+   if ((!bd->lock_user_stacking) &&
+       ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150)))
      {
-   mi = e_menu_item_new(m);
-   e_menu_item_label_set(mi, _("Always On Top"));
-   e_menu_item_radio_set(mi, 1);
-   e_menu_item_radio_group_set(mi, 2);
-   e_menu_item_toggle_set(mi, (bd->layer == 150 ? 1 : 0));
-   e_menu_item_callback_set(mi, _e_border_menu_cb_on_top, bd);
-   e_menu_item_icon_edje_set(mi,
-                           (char *)e_theme_edje_file_get("base/theme/borders",
-                                                         
"widgets/border/default/stack_on_top"),
-                           "widgets/border/default/stack_on_top");
-   mi = e_menu_item_new(m);
-   e_menu_item_label_set(mi, _("Normal"));
-   e_menu_item_radio_set(mi, 1);
-   e_menu_item_radio_group_set(mi, 2);
-   e_menu_item_toggle_set(mi, (bd->layer == 100 ? 1 : 0));
-   e_menu_item_callback_set(mi, _e_border_menu_cb_normal, bd);
-   e_menu_item_icon_edje_set(mi,
-                           (char *)e_theme_edje_file_get("base/theme/borders",
-                                                         
"widgets/border/default/stack_normal"),
-                           "widgets/border/default/stack_normal");
-   mi = e_menu_item_new(m);
-   e_menu_item_label_set(mi, _("Always Below"));
-   e_menu_item_radio_set(mi, 1);
-   e_menu_item_radio_group_set(mi, 2);
-   e_menu_item_toggle_set(mi, (bd->layer == 50 ? 1 : 0));
-   e_menu_item_callback_set(mi, _e_border_menu_cb_below, bd);
-   e_menu_item_icon_edje_set(mi,
-                           (char *)e_theme_edje_file_get("base/theme/borders",
-                                                         
"widgets/border/default/stack_below"),
-                           "widgets/border/default/stack_below");
+       mi = e_menu_item_new(m);
+       e_menu_item_label_set(mi, _("Always On Top"));
+       e_menu_item_radio_set(mi, 1);
+       e_menu_item_radio_group_set(mi, 2);
+       e_menu_item_toggle_set(mi, (bd->layer == 150 ? 1 : 0));
+       e_menu_item_callback_set(mi, _e_border_menu_cb_on_top, bd);
+       e_menu_item_icon_edje_set(mi,
+                                 (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                               
"widgets/border/default/stack_on_top"),
+                                 "widgets/border/default/stack_on_top");
+       mi = e_menu_item_new(m);
+       e_menu_item_label_set(mi, _("Normal"));
+       e_menu_item_radio_set(mi, 1);
+       e_menu_item_radio_group_set(mi, 2);
+       e_menu_item_toggle_set(mi, (bd->layer == 100 ? 1 : 0));
+       e_menu_item_callback_set(mi, _e_border_menu_cb_normal, bd);
+       e_menu_item_icon_edje_set(mi,
+                                 (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                               
"widgets/border/default/stack_normal"),
+                                 "widgets/border/default/stack_normal");
+       mi = e_menu_item_new(m);
+       e_menu_item_label_set(mi, _("Always Below"));
+       e_menu_item_radio_set(mi, 1);
+       e_menu_item_radio_group_set(mi, 2);
+       e_menu_item_toggle_set(mi, (bd->layer == 50 ? 1 : 0));
+       e_menu_item_callback_set(mi, _e_border_menu_cb_below, bd);
+       e_menu_item_icon_edje_set(mi,
+                                 (char 
*)e_theme_edje_file_get("base/theme/borders",
+                                                               
"widgets/border/default/stack_below"),
+                                 "widgets/border/default/stack_below");
      }
 
    m = e_menu_new();
@@ -6033,9 +6035,6 @@
 static void
 _e_border_menu_cb_on_top(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   /* FIXME:
-    * - Remember old layer
-    */
    E_Border *bd;
 
    bd = data;
@@ -6050,9 +6049,6 @@
 static void
 _e_border_menu_cb_below(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   /* FIXME:
-    * - Remember old layer
-    */
    E_Border *bd;
 
    bd = data;
@@ -6067,9 +6063,6 @@
 static void
 _e_border_menu_cb_normal(void *data, E_Menu *m, E_Menu_Item *mi)
 {
-   /* FIXME:
-    * - Remember old layer
-    */
    E_Border *bd;
 
    bd = data;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -3 -r1.44 -r1.45
--- e_desk.c    19 Jul 2005 08:04:20 -0000      1.44
+++ e_desk.c    20 Jul 2005 13:07:57 -0000      1.45
@@ -30,7 +30,6 @@
 e_desk_new(E_Zone *zone, int x, int y)
 {
    E_Desk      *desk;
-   Evas_Object *o;
    char                name[40];
    
    E_OBJECT_CHECK_RETURN(zone, NULL);
@@ -45,24 +44,6 @@
    snprintf(name, sizeof(name), _("Desktop %d, %d"), x, y);
    desk->name = strdup(name);
 
-   /* TODO: config the ecore_evas type. */
-   desk->black_ecore_evas = ecore_evas_software_x11_new(NULL, 
zone->container->win,
-                                                       0, 0, zone->w, zone->h);
-   ecore_evas_software_x11_direct_resize_set(desk->black_ecore_evas, 1);
-   ecore_evas_override_set(desk->black_ecore_evas, 1);
-   ecore_evas_layer_set(desk->black_ecore_evas, 6);
-
-   desk->black_win = 
ecore_evas_software_x11_window_get(desk->black_ecore_evas);
-   desk->black_evas = ecore_evas_get(desk->black_ecore_evas);
-
-   o = evas_object_rectangle_add(desk->black_evas);
-   evas_object_move(o, 0, 0);
-   evas_object_resize(o, zone->w, zone->h);
-   evas_object_color_set(o, 0, 0, 0, 255);
-   ecore_evas_name_class_set(desk->black_ecore_evas, "E", "Black_Window");
-   snprintf(name, sizeof(name), "Enlightenment Black Desk (%d, %d)", desk->x, 
desk->y);
-   ecore_evas_title_set(desk->black_ecore_evas, name);
-
    return desk;
 }
 
@@ -95,11 +76,7 @@
             E_Desk *desk2;
 
             desk2 = e_desk_at_xy_get(desk->zone,x, y);
-            if (desk2->visible)
-              {
-                 desk2->visible = 0;
-                 ecore_evas_hide(desk2->black_ecore_evas);
-              }
+            desk2->visible = 0;
          }
      }
 
@@ -124,12 +101,6 @@
        
    desk->zone->desk_x_current = desk->x;
    desk->zone->desk_y_current = desk->y;
-   if (desk->fullscreen)
-     {
-       ecore_evas_show(desk->black_ecore_evas);
-       e_container_window_raise(desk->zone->container, desk->black_win, 150);
-       e_border_fullscreen(desk->fullscreen);
-     }
    desk->visible = 1;
 
    if (was_zone)
@@ -165,22 +136,6 @@
 }
 
 void
-e_desk_fullscreen_set(E_Desk *desk, E_Border *bd)
-{
-   if ((!desk->fullscreen) && (bd))
-     {
-       ecore_evas_show(desk->black_ecore_evas);
-       e_container_window_raise(desk->zone->container, desk->black_win, 150);
-       desk->fullscreen = bd;
-     }
-   else if ((desk->fullscreen) && (!bd))
-     {
-       ecore_evas_hide(desk->black_ecore_evas);
-       desk->fullscreen = NULL;
-     }
-}
-
-void
 e_desk_row_add(E_Zone *zone)
 {
    e_zone_desk_count_set(zone, zone->desk_x_count, zone->desk_y_count + 1);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- e_desk.h    12 Jul 2005 11:07:57 -0000      1.18
+++ e_desk.h    20 Jul 2005 13:07:57 -0000      1.19
@@ -20,13 +20,8 @@
    char                *name;
    int                  x, y;
    char                 visible : 1;
-   E_Border            *fullscreen;
 
    Evas_Object         *bg_object;
-
-   Ecore_Evas          *black_ecore_evas;
-   Evas                *black_evas;
-   Ecore_X_Window       black_win;
 };
 
 struct _E_Event_Desk_Show
@@ -40,7 +35,6 @@
 EAPI void         e_desk_name_set(E_Desk *desk, const char *name);
 EAPI void         e_desk_show(E_Desk *desk);
 EAPI void         e_desk_last_focused_focus(E_Desk *desk);
-EAPI void         e_desk_fullscreen_set(E_Desk *desk, E_Border *bd);
 EAPI E_Desk      *e_desk_current_get(E_Zone *zone);
 EAPI E_Desk      *e_desk_at_xy_get(E_Zone *zone, int x, int y);
 EAPI E_Desk      *e_desk_at_pos_get(E_Zone *zone, int pos);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -3 -r1.67 -r1.68
--- e_zone.c    12 Jul 2005 03:53:55 -0000      1.67
+++ e_zone.c    20 Jul 2005 13:07:57 -0000      1.68
@@ -99,6 +99,24 @@
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP,   
_e_zone_cb_bg_mouse_up, zone);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, 
_e_zone_cb_bg_mouse_move, zone);
 
+   /* TODO: config the ecore_evas type. */
+   zone->black_ecore_evas = ecore_evas_software_x11_new(NULL, 
zone->container->win,
+                                                       0, 0, zone->w, zone->h);
+   ecore_evas_software_x11_direct_resize_set(zone->black_ecore_evas, 1);
+   ecore_evas_override_set(zone->black_ecore_evas, 1);
+   ecore_evas_layer_set(zone->black_ecore_evas, 6);
+
+   zone->black_win = 
ecore_evas_software_x11_window_get(zone->black_ecore_evas);
+   zone->black_evas = ecore_evas_get(zone->black_ecore_evas);
+
+   o = evas_object_rectangle_add(zone->black_evas);
+   evas_object_move(o, 0, 0);
+   evas_object_resize(o, zone->w, zone->h);
+   evas_object_color_set(o, 0, 0, 0, 255);
+   ecore_evas_name_class_set(zone->black_ecore_evas, "E", "Black_Window");
+   snprintf(name, sizeof(name), "Enlightenment Black Zone (%d)", zone->num);
+   ecore_evas_title_set(zone->black_ecore_evas, name);
+
    zone->desk_x_count = 0;
    zone->desk_y_count = 0;
    zone->desk_x_current = 0;
@@ -181,6 +199,22 @@
    evas_object_resize(zone->bg_clip_object, w, h);
 } 
 
+void
+e_zone_fullscreen_set(E_Zone *zone, int on)
+{
+   if ((!zone->fullscreen) && (on))
+     {
+       ecore_evas_show(zone->black_ecore_evas);
+       e_container_window_raise(zone->container, zone->black_win, 150);
+       zone->fullscreen = 1;
+     }
+   else if ((zone->fullscreen) && (!on))
+     {
+       ecore_evas_hide(zone->black_ecore_evas);
+       zone->fullscreen = 0;
+     }
+}
+
 E_Zone *
 e_zone_current_get(E_Container *con)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- e_zone.h    12 Jul 2005 03:53:55 -0000      1.30
+++ e_zone.h    20 Jul 2005 13:07:58 -0000      1.31
@@ -25,6 +25,7 @@
     * this zone belongs to. */
    unsigned int         num;
    E_Container         *container;
+   int                  fullscreen;
 
    Evas_Object         *bg_object;
    Evas_Object         *bg_event_object;
@@ -46,6 +47,10 @@
    
    E_Action *cur_mouse_action;
    Evas_List *popups;
+
+   Ecore_Evas          *black_ecore_evas;
+   Evas                *black_evas;
+   Ecore_X_Window       black_win;
 };
 
 struct _E_Event_Zone_Desk_Count_Set
@@ -69,6 +74,7 @@
 EAPI void       e_zone_move(E_Zone *zone, int x, int y);
 EAPI void       e_zone_resize(E_Zone *zone, int w, int h);
 EAPI void       e_zone_move_resize(E_Zone *zone, int x, int y, int w, int h);
+EAPI void       e_zone_fullscreen_set(E_Zone *zone, int on);
 EAPI E_Zone    *e_zone_current_get(E_Container *con);
 EAPI void       e_zone_bg_reconfigure(E_Zone *zone);
 EAPI void       e_zone_flip_coords_handle(E_Zone *zone, int x, int y);




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to