summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/bookmark_utils_gtk.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-06 22:59:09 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-06 22:59:09 +0000
commit881826004c4baacae08506d1028afb9ca548181a (patch)
treef21c524b23e82040bc0ca6f3dc40671927fada83 /chrome/browser/gtk/bookmark_utils_gtk.cc
parentba466dbd2288baf8474020a626ef39cb4e570e70 (diff)
downloadchromium_src-881826004c4baacae08506d1028afb9ca548181a.zip
chromium_src-881826004c4baacae08506d1028afb9ca548181a.tar.gz
chromium_src-881826004c4baacae08506d1028afb9ca548181a.tar.bz2
Don't pack an empty label into bookmarks with empty titles.
BUG=18348 Review URL: http://codereview.chromium.org/164101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22684 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/bookmark_utils_gtk.cc')
-rw-r--r--chrome/browser/gtk/bookmark_utils_gtk.cc25
1 files changed, 16 insertions, 9 deletions
diff --git a/chrome/browser/gtk/bookmark_utils_gtk.cc b/chrome/browser/gtk/bookmark_utils_gtk.cc
index cf67b54..937cb3a 100644
--- a/chrome/browser/gtk/bookmark_utils_gtk.cc
+++ b/chrome/browser/gtk/bookmark_utils_gtk.cc
@@ -128,22 +128,29 @@ void ConfigureButtonForNode(const BookmarkNode* node, BookmarkModel* model,
GtkWidget* image = gtk_image_new_from_pixbuf(pixbuf);
g_object_unref(pixbuf);
- GtkWidget* label = gtk_label_new(WideToUTF8(node->GetTitle()).c_str());
- gtk_label_set_max_width_chars(GTK_LABEL(label), kMaxCharsOnAButton);
- gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END);
-
GtkWidget* box = gtk_hbox_new(FALSE, kBarButtonPadding);
gtk_box_pack_start(GTK_BOX(box), image, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
+
+ std::string label_string = WideToUTF8(node->GetTitle());
+ if (!label_string.empty()) {
+ GtkWidget* label = gtk_label_new(label_string.c_str());
+ gtk_label_set_max_width_chars(GTK_LABEL(label), kMaxCharsOnAButton);
+ gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END);
+ gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
+ SetButtonTextColors(label, provider);
+ }
GtkWidget* alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
- gtk_alignment_set_padding(GTK_ALIGNMENT(alignment),
- kButtonPaddingTop, kButtonPaddingBottom,
- kButtonPaddingLeft, kButtonPaddingRight);
+ // If we are not showing the label, don't set any padding, so that the icon
+ // will just be centered.
+ if (label_string.c_str()) {
+ gtk_alignment_set_padding(GTK_ALIGNMENT(alignment),
+ kButtonPaddingTop, kButtonPaddingBottom,
+ kButtonPaddingLeft, kButtonPaddingRight);
+ }
gtk_container_add(GTK_CONTAINER(alignment), box);
gtk_container_add(GTK_CONTAINER(button), alignment);
- SetButtonTextColors(label, provider);
g_object_set_data(G_OBJECT(button), bookmark_utils::kBookmarkNode,
AsVoid(node));