diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-27 22:56:36 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-27 22:56:36 +0000 |
commit | 8098d2d7169e5f3d004194d10b3aafa83b445637 (patch) | |
tree | ed061ebc751578cd281ef2b2d56073fef106feb6 /chrome/browser/gtk/bookmark_menu_controller_gtk.cc | |
parent | 6d66b7427180321470900d3d58ad63d4ea6df082 (diff) | |
download | chromium_src-8098d2d7169e5f3d004194d10b3aafa83b445637.zip chromium_src-8098d2d7169e5f3d004194d10b3aafa83b445637.tar.gz chromium_src-8098d2d7169e5f3d004194d10b3aafa83b445637.tar.bz2 |
Ellipsize long entries in bookmark menus and the back/forward menus.
Also ellipsize long tooltips.
Also make the bookmark bar tooltips more like window (Title on one line, then url on the next line). I've made the title bold, although that isn't the case on windows.
Menus: Prefer popping downwards rather than upwards when there is more space down than up.
BUG=18617
BUG=20120
Review URL: http://codereview.chromium.org/175004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24685 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/bookmark_menu_controller_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/bookmark_menu_controller_gtk.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/chrome/browser/gtk/bookmark_menu_controller_gtk.cc b/chrome/browser/gtk/bookmark_menu_controller_gtk.cc index b059fc8..de4b885 100644 --- a/chrome/browser/gtk/bookmark_menu_controller_gtk.cc +++ b/chrome/browser/gtk/bookmark_menu_controller_gtk.cc @@ -27,6 +27,9 @@ namespace { +// TODO(estade): It might be a good idea to vary this by locale. +const int kMaxChars = 50; + void SetImageMenuItem(GtkWidget* menu_item, const SkBitmap& bitmap) { GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(&bitmap); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), @@ -150,8 +153,12 @@ void BookmarkMenuController::BuildMenu(const BookmarkNode* parent, for (int i = start_child_index; i < parent->GetChildCount(); ++i) { const BookmarkNode* node = parent->GetChild(i); - GtkWidget* menu_item = gtk_image_menu_item_new_with_label( - WideToUTF8(node->GetTitle()).c_str()); + // This breaks on word boundaries. Ideally we would break on character + // boundaries. + std::wstring elided_name = + l10n_util::TruncateString(node->GetTitle(), kMaxChars); + GtkWidget* menu_item = + gtk_image_menu_item_new_with_label(WideToUTF8(elided_name).c_str()); g_object_set_data(G_OBJECT(menu_item), "bookmark-node", AsVoid(node)); if (node->is_url()) { |