[maemo-commits] [maemo-commits] r11205 - in projects/haf/trunk/hildon-desktop: . libhildondesktop

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Apr 23 19:57:16 EEST 2007
Author: moimart
Date: 2007-04-23 19:57:13 +0300 (Mon, 23 Apr 2007)
New Revision: 11205

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c
Log:
	* libhildondesktop/hildon-desktop-popup-window.c:
        - Fixed Horizontal positioning. Vertical pending.



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-04-23 16:46:42 UTC (rev 11204)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-04-23 16:57:13 UTC (rev 11205)
@@ -1,5 +1,10 @@
 2007-04-23  Moises Martinez  <moises.martinez at nokia.com>
 
+	* libhildondesktop/hildon-desktop-popup-window.c:
+	- Fixed Horizontal positioning. Vertical pending.
+
+2007-04-23  Moises Martinez  <moises.martinez at nokia.com>
+
 	* libhildondesktop/hildon-desktop-popup-menu.[ch]:
 	- Added basic implementation of new menu.
 	* Makefile.am:

Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c	2007-04-23 16:46:42 UTC (rev 11204)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c	2007-04-23 16:57:13 UTC (rev 11205)
@@ -632,11 +632,13 @@
 static void 
 hildon_desktop_popup_window_calculate_position (HildonDesktopPopupWindow *popup)
 {
-  gint x=0,y=0,i;
-  GtkRequisition req;
+  gint x=0,y=0,i,d_width=0;
+  GtkRequisition orig_req, req, req_pane;
 
   gtk_widget_size_request (GTK_WIDGET (popup), &req);
 
+  orig_req = req;
+
   if (popup->priv->position_func)
   {
     (* popup->priv->position_func) (popup, &x, &y, popup->priv->position_func_data);
@@ -648,15 +650,33 @@
   {
     if (popup->priv->direction == HD_POPUP_WINDOW_DIRECTION_RIGHT_BOTTOM)
       for (i=0; i < popup->priv->n_extra_panes; i++)
+      {	
+	gtk_widget_size_request (popup->priv->extra_panes[i], &req_pane);
+
+	if (i > 0)
+          gtk_widget_size_request (popup->priv->extra_panes[i-1], &req);
+
+	d_width += req.width;
+	
         gtk_window_move (GTK_WINDOW (popup->priv->extra_panes[i]),
-			 req.width*(i+1) + x,
-			 y);
+			 d_width + x,
+			 y + orig_req.height - req_pane.height);
+      }
     else
     if (popup->priv->direction == HD_POPUP_WINDOW_DIRECTION_LEFT_TOP)	    
       for (i=0; i < popup->priv->n_extra_panes; i++)
+      {	      
+        gtk_widget_size_request (popup->priv->extra_panes[i], &req_pane);
+
+        if (i > 0)
+          gtk_widget_size_request (popup->priv->extra_panes[i-1], &req);
+
+        d_width -= req.width;
+
         gtk_window_move (GTK_WINDOW (popup->priv->extra_panes[i]),
-                         req.width*(i+1) - x,
-                         y);
+                         d_width - x,
+                         y + orig_req.height - req_pane.height);
+      }
   }	  
   else
   if (popup->priv->orientation == GTK_ORIENTATION_VERTICAL)


More information about the maemo-commits mailing list