[maemo-commits] [maemo-commits] r11575 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu May 10 15:21:55 EEST 2007
- Previous message: [maemo-commits] r11574 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r11576 - in projects/haf/trunk/osso-af-startup: debian services
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart Date: 2007-05-10 15:21:52 +0300 (Thu, 10 May 2007) New Revision: 11575 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: - Added "resize-parent" property if you don't want the menu to resize the parent. * ChangeLog updated. Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-05-10 12:11:55 UTC (rev 11574) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-05-10 12:21:52 UTC (rev 11575) @@ -1,3 +1,9 @@ +2007-05-10 Moises Martinez <moises.martinez at nokia.com> + + * libhildondesktop/hildon-desktop-popup-menu.c: + - Added "resize-parent" property if you don't want the menu to resize + the parent. + 2007-05-10 Lucas Rocha <lucas.rocha at nokia.com> * libhildondesktop/hildon-desktop-notification-manager.[ch]: added 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-10 12:11:55 UTC (rev 11574) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c 2007-05-10 12:21:52 UTC (rev 11575) @@ -41,7 +41,8 @@ enum { - PROP_POPUP_ITEM_HEIGHT=1 + PROP_POPUP_ITEM_HEIGHT=1, + PROP_POPUP_RESIZE_PARENT }; enum @@ -69,6 +70,8 @@ gdouble upper_hack; GtkMenuItem *selected_item; + + gboolean resize_parent; }; static GObject *hildon_desktop_popup_menu_constructor (GType gtype, @@ -100,6 +103,8 @@ menu->priv->item_height = menu->priv->n_items = 0; + menu->priv->resize_parent = TRUE; + menu->priv->controls_on = FALSE; menu->priv->selected_item = NULL; @@ -142,6 +147,16 @@ G_MAXINT, 40, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, + PROP_POPUP_RESIZE_PARENT, + g_param_spec_boolean( + "resize-parent", + "resize-parent", + "Whether resize or not parent window of menu", + TRUE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + } static GObject * @@ -229,6 +244,10 @@ g_value_set_uint (value, menu->priv->item_height); break; + case PROP_POPUP_RESIZE_PARENT: + g_value_set_boolean (value, menu->priv->resize_parent); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -249,6 +268,10 @@ menu->priv->item_height = g_value_get_uint (value); break; + case PROP_POPUP_RESIZE_PARENT: + menu->priv->resize_parent = g_value_get_boolean (value); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -525,26 +548,29 @@ g_assert (HILDON_DESKTOP_IS_POPUP_MENU (menu)); g_return_if_fail (GTK_IS_MENU_ITEM (item)); + + if (menu->priv->resize_parent) + { + GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (menu)); + + if (GTK_IS_WINDOW (parent)) + { + gtk_widget_size_request (parent, &req); - GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (menu)); - - if (GTK_IS_WINDOW (parent)) - { - gtk_widget_size_request (parent, &req); + if (GTK_IS_SEPARATOR_MENU_ITEM (item)) + { + GtkRequisition req_sep; - if (GTK_IS_SEPARATOR_MENU_ITEM (item)) - { - GtkRequisition req_sep; + gtk_widget_size_request (GTK_WIDGET (item), &req_sep); + gtk_widget_set_size_request (GTK_WIDGET (item), req.width, req_sep.height); + } + else + gtk_widget_set_size_request (GTK_WIDGET (item), req.width, menu->priv->item_height); - gtk_widget_size_request (GTK_WIDGET (item), &req_sep); - gtk_widget_set_size_request (GTK_WIDGET (item), req.width, req_sep.height); - } - else - gtk_widget_set_size_request (GTK_WIDGET (item), req.width, menu->priv->item_height); + gtk_widget_set_size_request (menu->priv->box_buttons, req.width, menu->priv->item_height); + } + } - gtk_widget_set_size_request (menu->priv->box_buttons, req.width, menu->priv->item_height); - } - gtk_box_pack_end (GTK_BOX (menu->priv->box_items), GTK_WIDGET (item), FALSE, FALSE, 0); @@ -552,7 +578,8 @@ menu->priv->n_items++; - hildon_desktop_popup_menu_parent_size (menu); + if (menu->priv->resize_parent) + hildon_desktop_popup_menu_parent_size (menu); } void @@ -566,7 +593,8 @@ menu->priv->n_items--; - hildon_desktop_popup_menu_parent_size (menu); + if (menu->priv->resize_parent) + hildon_desktop_popup_menu_parent_size (menu); } GList *
- Previous message: [maemo-commits] r11574 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r11576 - in projects/haf/trunk/osso-af-startup: debian services
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]