* src/hildon-app-menu.c (hildon_app_menu_init, hildon_app_menu_class_init): New exter...
authorAlberto Garcia <agarcia@igalia.com>
Mon, 26 May 2008 13:56:10 +0000 (13:56 +0000)
committerAlberto Garcia <agarcia@igalia.com>
Mon, 26 May 2008 13:56:10 +0000 (13:56 +0000)
ChangeLog
src/hildon-app-menu.c

index 42413d2..28559e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@
        (hildon_app_menu_popup): Use also the default window size to
        decide where to place the menu
 
+       (hildon_app_menu_init, hildon_app_menu_class_init): New
+       external-border style property
+
 2008-05-26  Michael Natterer  <mitch@imendio.com>
 
        * src/hildon-time-editor.c (hildon_time_editor_class_init): The
index b43ee0c..2a0c091 100644 (file)
@@ -333,13 +333,17 @@ static void
 hildon_app_menu_init                            (HildonAppMenu *menu)
 {
     GtkWidget *alignment;
-    guint filter_group_spacing, horizontal_spacing, vertical_spacing;
+    GdkScreen *screen;
+    int width;
+    guint filter_group_spacing, horizontal_spacing, vertical_spacing,
+            external_border;
     HildonAppMenuPrivate *priv = HILDON_APP_MENU_GET_PRIVATE(menu);
 
     gtk_widget_style_get (GTK_WIDGET (menu),
                           "filter-group-spacing", &filter_group_spacing,
                           "horizontal-spacing", &horizontal_spacing,
                           "vertical-spacing", &vertical_spacing,
+                          "external-border", &external_border,
                           NULL);
 
     /* Initialize private variables */
@@ -363,6 +367,11 @@ hildon_app_menu_init                            (HildonAppMenu *menu)
     gtk_box_pack_start (priv->vbox, alignment, TRUE, TRUE, 0);
     gtk_box_pack_start (priv->vbox, GTK_WIDGET (priv->table), TRUE, TRUE, 0);
 
+    /* Set default size */
+    screen = gtk_widget_get_screen (GTK_WIDGET (menu));
+    width = gdk_screen_get_width (screen) - external_border * 2;
+    gtk_window_set_default_size (GTK_WINDOW (menu), width, -1);
+
     gtk_widget_show_all (GTK_WIDGET (priv->vbox));
 
     gtk_window_set_type_hint (GTK_WINDOW (menu), GDK_WINDOW_TYPE_HINT_POPUP_MENU);
@@ -419,4 +428,13 @@ hildon_app_menu_class_init                      (HildonAppMenuClass *klass)
             "Vertical spacing between each menu item (but not filters)",
             0, G_MAXUINT, 10,
             G_PARAM_READABLE));
+
+    gtk_widget_class_install_style_property (
+        widget_class,
+        g_param_spec_uint (
+            "external-border",
+            "Border between menu and screen edges",
+            "Border between the right and left edges of the menu and the screen edges",
+            0, G_MAXUINT, 40,
+            G_PARAM_READABLE));
 }