Enlightenment CVS committal

Author  : pfritz
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_paned.c 


Log Message:
set preferred size correct, if initial size is used

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_paned.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -3 -r1.59 -r1.60
--- ewl_paned.c 6 Nov 2007 16:38:01 -0000       1.59
+++ ewl_paned.c 8 Nov 2007 12:09:33 -0000       1.60
@@ -336,6 +336,7 @@
 ewl_paned_cb_child_show(Ewl_Container *c, Ewl_Widget *w)
 {
        int cw, ch, ww, wh;
+       Ewl_Paned_Size_Info *info;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
        DCHECK_PARAM_PTR("c", c);
@@ -348,14 +349,24 @@
 
        EWL_PANED(c)->new_panes = TRUE;
 
+       info = ewl_paned_size_info_get(EWL_PANED(c), w);
+
        if (EWL_ORIENTATION_HORIZONTAL == EWL_PANED(c)->orientation)
        {
-               cw += ww;
+               if (!info)
+                       cw += ww;
+               else
+                       cw += info->initial_size;
+
                if (wh > ch) ch = wh;
        }
        else
        {
-               ch += wh;
+               if (!info)
+                       ch += wh;
+               else
+                       ch += info->initial_size;
+
                if (ww > cw) cw = ww;
        }
 
@@ -376,6 +387,7 @@
 ewl_paned_cb_child_hide(Ewl_Container *c, Ewl_Widget *w)
 {
        int cw, ch, ww, wh;
+       Ewl_Paned_Size_Info *info;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
        DCHECK_PARAM_PTR("c", c);
@@ -385,11 +397,22 @@
 
        ewl_object_preferred_size_get(EWL_OBJECT(w), &ww, &wh);
        ewl_object_preferred_inner_size_get(EWL_OBJECT(c), &cw, &ch);
+       info = ewl_paned_size_info_get(EWL_PANED(c), w);
 
        if (EWL_ORIENTATION_HORIZONTAL == EWL_PANED(c)->orientation)
-               cw -= ww;
+       {
+               if (!info)
+                       cw -= ww;
+               else
+                       cw -= info->initial_size;
+       }
        else
-               ch -= wh;
+       {
+               if (!info)
+                       ch -= wh;
+               else
+                       ch -= info->initial_size;
+       }
 
        ewl_object_preferred_inner_size_set(EWL_OBJECT(c), cw, ch);
        ewl_paned_grabbers_update(EWL_PANED(c));



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to