Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_border.h 


Log Message:
Honour modal windows.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.383
retrieving revision 1.384
diff -u -3 -r1.383 -r1.384
--- e_border.c  2 Sep 2005 07:38:40 -0000       1.383
+++ e_border.c  2 Sep 2005 09:25:53 -0000       1.384
@@ -973,6 +973,11 @@
    E_OBJECT_CHECK(bd);
    E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
    //printf("e_border_focus_set(%p, %i %i);\n", bd, focus, set);
+   if (bd->modal)
+     {
+       e_border_focus_set(bd->modal, focus, set);
+       return;
+     }
    if ((bd->visible) && (bd->changes.visible))
      {  
        if ((bd->want_focus) && (set) && (!focus))
@@ -2311,7 +2316,15 @@
      }
 
    if (bd->parent)
-     bd->parent->children = evas_list_remove(bd->parent->children, bd);
+     {
+       bd->parent->children = evas_list_remove(bd->parent->children, bd);
+       if (bd->parent->modal == bd)
+         {
+            bd->parent->modal = NULL;
+            if (bd->focused)
+              e_border_focus_set(bd->parent, 1, 1);
+         }
+     }
    while (bd->children)
      {
        E_Border *child;
@@ -4715,6 +4728,8 @@
               {
                  bd_parent->children = evas_list_append(bd_parent->children, 
bd);
                  bd->parent = bd_parent;
+                 if (bd->client.netwm.state.modal)
+                   bd->parent->modal = bd;
               }
          }
 //     printf("##- NEW CLIENT SETUP 0x%x\n", bd->client.win);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -3 -r1.107 -r1.108
--- e_border.h  2 Sep 2005 07:38:40 -0000       1.107
+++ e_border.h  2 Sep 2005 09:25:53 -0000       1.108
@@ -386,6 +386,7 @@
    E_Remember *remember;
 
    E_Border *parent;
+   E_Border *modal;
    Evas_List *children;
 };
 




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to