← Back to team overview

ayatana-commits team mailing list archive

[Merge] lp:~ted/dbusmenu/icon-padding into lp:dbusmenu

 

Ted Gould has proposed merging lp:~ted/dbusmenu/icon-padding into lp:dbusmenu.

    Requested reviews:
    DBus Menu Team (dbusmenu-team)


Adding a check of the horizontal padding and using that to space out the
icon and the label.

-- 
https://code.launchpad.net/~ted/dbusmenu/icon-padding/+merge/17157
Your team ayatana-commits is subscribed to branch lp:dbusmenu.
=== modified file 'libdbusmenu-gtk/genericmenuitem.c'
--- libdbusmenu-gtk/genericmenuitem.c	2009-12-17 21:49:27 +0000
+++ libdbusmenu-gtk/genericmenuitem.c	2010-01-11 19:20:30 +0000
@@ -143,6 +143,17 @@
 	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 @@
 			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 @@
 		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 @@
 			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);
@@ -405,7 +416,7 @@
 		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);


Follow ups