Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_border_menu.c 


Log Message:
Add Raise/Lower to window border menu.


===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_border_menu.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- e_int_border_menu.c 29 May 2006 07:35:41 -0000      1.20
+++ e_int_border_menu.c 3 Jun 2006 02:47:54 -0000       1.21
@@ -25,6 +25,8 @@
 static void _e_border_menu_cb_skip_winlist(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item 
*mi);
 static void _e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _e_border_menu_cb_raise(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _e_border_menu_cb_lower(void *data, E_Menu *m, E_Menu_Item *mi);
 
 EAPI void
 e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, 
Ecore_X_Time timestamp)
@@ -338,6 +340,31 @@
        mi = e_menu_item_new(m);
        e_menu_item_separator_set(mi, 1);
      }
+
+   /* Only allow to change layer for windows in "normal" layers */
+
+   if ((!bd->lock_user_stacking) && (!bd->internal) &&
+       ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150)))
+     {
+       mi = e_menu_item_new(m);
+       e_menu_item_label_set(mi, _("Raise"));
+       e_menu_item_callback_set(mi, _e_border_menu_cb_raise, 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, _("Lower"));
+       e_menu_item_callback_set(mi, _e_border_menu_cb_lower, 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_below");
+       mi = e_menu_item_new(m);
+       e_menu_item_separator_set(mi, 1);
+       
+     }
    
    if ((!bd->lock_user_iconify) && (!bd->fullscreen))
      {
@@ -739,3 +766,30 @@
        e_border_desk_set(bd, desk);
      }
 }
+
+static void 
+_e_border_menu_cb_raise(void *data, E_Menu *m, E_Menu_Item *mi) 
+{
+   E_Border *bd;
+
+   bd = data;
+   if ((!bd->lock_user_stacking) && (!bd->internal) &&
+       ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150)))
+     {
+       e_border_raise(bd);
+     }   
+}
+
+static void 
+_e_border_menu_cb_lower(void *data, E_Menu *m, E_Menu_Item *mi) 
+{
+   E_Border *bd;
+
+   bd = data;
+   if ((!bd->lock_user_stacking) && (!bd->internal) &&
+       ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150)))
+     {
+       e_border_lower(bd);
+     }   
+}
+




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to