[maemo-commits] [maemo-commits] r11614 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri May 11 17:41:40 EEST 2007
- Previous message: [maemo-commits] r11613 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r11615 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart
Date: 2007-05-11 17:41:40 +0300 (Fri, 11 May 2007)
New Revision: 11614
Modified:
projects/haf/trunk/hildon-desktop/ChangeLog
projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c
Log:
* libhildondesktop/hildon-desktop-popup-menu.c:
- Fixed problem with scrolling.
- When resizing parent with scroll controls, resize it as big as the
screen.
* ChangeLog updated.
Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog 2007-05-11 14:40:10 UTC (rev 11613)
+++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-05-11 14:41:40 UTC (rev 11614)
@@ -1,3 +1,10 @@
+2007-05-11 Moises Martinez <moises.martinez at nokia.com>
+
+ * libhildondesktop/hildon-desktop-popup-menu.c:
+ - Fixed problem with scrolling.
+ - When resizing parent with scroll controls, resize it as big as the
+ screen.
+
2007-05-11 Lucas Rocha <lucas.rocha at nokia.com>
* libhildondesktop/hildon-desktop-popup-menu.c: fixed sizing and
Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c 2007-05-11 14:40:10 UTC (rev 11613)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c 2007-05-11 14:41:40 UTC (rev 11614)
@@ -337,16 +337,29 @@
GtkAdjustment *adj =
gtk_viewport_get_vadjustment
(GTK_VIEWPORT (menu->priv->viewport));
+ GtkRequisition req;
+ gdouble upper_hack;
if (widget == menu->priv->scroll_up)
delta *= -1;
position = gtk_adjustment_get_value (adj);
- if ((gint)(position + (gdouble)delta) <= menu->priv->upper_hack)
- gtk_adjustment_set_value (adj, position + (gdouble)delta);
+ GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (menu));
- g_debug ("min: %lf max: %lf current: %lf", adj->lower,adj->upper, adj->value);
+ if (parent && GTK_IS_WINDOW (parent))
+ {
+ gtk_widget_size_request (parent, &req);
+
+ upper_hack = adj->upper - (req.height - menu->priv->item_height);
+
+ if ((gint)(position + (gdouble)delta) <= upper_hack)
+ gtk_adjustment_set_value (adj, position + (gdouble)delta);
+ else
+ gtk_adjustment_set_value (adj, upper_hack);
+
+ g_debug ("min: %lf max: %lf current: %lf upper_hack: %lf", adj->lower,adj->upper, adj->value, menu->priv->upper_hack);
+ }
}
static gboolean
@@ -489,7 +502,6 @@
gint d_height = 0;
gboolean show_scroll_controls = FALSE;
GtkRequisition req;
- gint separators = 0;
gint screen_height = gdk_screen_height ();
GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (menu));
@@ -498,9 +510,6 @@
for (l=children; l != NULL; l = g_list_next (l))
{
- if (GTK_IS_SEPARATOR_MENU_ITEM (l->data))
- separators++;
-
gtk_widget_size_request (GTK_WIDGET (l->data), &req);
d_height += req.height;
@@ -517,12 +526,7 @@
{
hildon_desktop_popup_menu_show_controls (menu);
gtk_widget_set_size_request
- (menu->priv->viewport, -1, d_height - menu->priv->item_height);
-
- if (separators == 0)
- separators++;
-
- menu->priv->upper_hack = d_height - menu->priv->item_height*separators;
+ (menu->priv->viewport, -1, screen_height - menu->priv->item_height);/*d_height - menu->priv->item_height);*/
}
else
{
@@ -536,7 +540,11 @@
if (menu->priv->resize_parent && GTK_IS_WINDOW (parent))
{
gtk_widget_size_request (parent, &req);
- gtk_widget_set_size_request (parent, req.width, d_height);
+ gtk_widget_set_size_request (parent,
+ req.width,
+ show_scroll_controls ?
+ screen_height :
+ (d_height - menu->priv->item_height));
if (GTK_WIDGET_MAPPED (parent))
{
@@ -547,7 +555,11 @@
}
if (GTK_WIDGET_REALIZED (parent))
- gdk_window_resize (parent->window, req.width, d_height);
+ gdk_window_resize (parent->window,
+ req.width,
+ show_scroll_controls ?
+ screen_height :
+ (d_height - menu->priv->item_height));
}
g_list_free (children);
- Previous message: [maemo-commits] r11613 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r11615 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
