diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-06 22:59:09 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-06 22:59:09 +0000 |
commit | 881826004c4baacae08506d1028afb9ca548181a (patch) | |
tree | f21c524b23e82040bc0ca6f3dc40671927fada83 /chrome/browser/gtk/bookmark_utils_gtk.cc | |
parent | ba466dbd2288baf8474020a626ef39cb4e570e70 (diff) | |
download | chromium_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.cc | 25 |
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)); |