[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 ]
