diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2010-01-12 11:03:31 -0500 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2010-01-12 11:03:31 -0500 |
commit | ed575a3914e965e03e5eeb98cf5e4a38e510afcd (patch) | |
tree | 5e838db01837910bf60cedfa238a5901a393c487 /libdbusmenu-gtk/genericmenuitem.c | |
parent | d670a52dd5214eda4d821c512774b4bca66eaa2b (diff) | |
parent | 438443e863be28a23c9494281a2a10bea6a9b6fc (diff) | |
download | libdbusmenu-ed575a3914e965e03e5eeb98cf5e4a38e510afcd.tar.gz libdbusmenu-ed575a3914e965e03e5eeb98cf5e4a38e510afcd.tar.bz2 libdbusmenu-ed575a3914e965e03e5eeb98cf5e4a38e510afcd.zip |
merged 0.2.1
Diffstat (limited to 'libdbusmenu-gtk/genericmenuitem.c')
-rw-r--r-- | libdbusmenu-gtk/genericmenuitem.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/libdbusmenu-gtk/genericmenuitem.c b/libdbusmenu-gtk/genericmenuitem.c index f927556..8f40d93 100644 --- a/libdbusmenu-gtk/genericmenuitem.c +++ b/libdbusmenu-gtk/genericmenuitem.c @@ -143,6 +143,17 @@ set_label_helper (GtkWidget * widget, gpointer data) return; } +/* A quick little function to grab the padding from the + style. It should be considered for caching when + optimizing. */ +static gint +get_hpadding (GtkWidget * widget) +{ + gint padding = 0; + gtk_widget_style_get(widget, "horizontal-padding", &padding, NULL); + return padding; +} + /* Set the label on the item */ static void set_label (GtkMenuItem * menu_item, const gchar * label) @@ -166,7 +177,7 @@ set_label (GtkMenuItem * menu_item, const gchar * label) GtkWidget * hbox = gtk_hbox_new(FALSE, 0); g_object_ref(child); gtk_container_remove(GTK_CONTAINER(menu_item), child); - gtk_box_pack_start(GTK_BOX(hbox), child, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), child, FALSE, FALSE, get_hpadding(GTK_WIDGET(menu_item))); gtk_container_add(GTK_CONTAINER(menu_item), hbox); gtk_widget_show(hbox); g_object_unref(child); @@ -190,7 +201,7 @@ set_label (GtkMenuItem * menu_item, const gchar * label) if (child == NULL) { gtk_container_add(GTK_CONTAINER(menu_item), GTK_WIDGET(labelw)); } else { - gtk_box_pack_end(GTK_BOX(child), GTK_WIDGET(labelw), TRUE, TRUE, 0); + gtk_box_pack_end(GTK_BOX(child), GTK_WIDGET(labelw), TRUE, TRUE, get_hpadding(GTK_WIDGET(menu_item))); } } else { /* Oh, just an update. No biggie. */ @@ -383,7 +394,7 @@ genericmenuitem_set_image (Genericmenuitem * menu_item, GtkWidget * image) GtkWidget * hbox = gtk_hbox_new(FALSE, 0); g_object_ref(child); gtk_container_remove(GTK_CONTAINER(menu_item), child); - gtk_box_pack_end(GTK_BOX(hbox), child, TRUE, TRUE, 0); + gtk_box_pack_end(GTK_BOX(hbox), child, TRUE, TRUE, get_hpadding(GTK_WIDGET(menu_item))); gtk_container_add(GTK_CONTAINER(menu_item), hbox); gtk_widget_show(hbox); g_object_unref(child); @@ -393,6 +404,9 @@ genericmenuitem_set_image (Genericmenuitem * menu_item, GtkWidget * image) } } + if (image == (GtkWidget *)imagew) + return; + /* No we can see if we need to ethier replace and image or just put ourselves into the structures */ if (imagew != NULL) { @@ -405,7 +419,7 @@ genericmenuitem_set_image (Genericmenuitem * menu_item, GtkWidget * image) if (child == NULL) { gtk_container_add(GTK_CONTAINER(menu_item), GTK_WIDGET(image)); } else { - gtk_box_pack_start(GTK_BOX(child), GTK_WIDGET(image), FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(child), GTK_WIDGET(image), FALSE, FALSE, get_hpadding(GTK_WIDGET(menu_item))); } gtk_widget_show(image); |