summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/bookmark_menu_controller_gtk.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-27 22:56:36 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-27 22:56:36 +0000
commit8098d2d7169e5f3d004194d10b3aafa83b445637 (patch)
treeed061ebc751578cd281ef2b2d56073fef106feb6 /chrome/browser/gtk/bookmark_menu_controller_gtk.cc
parent6d66b7427180321470900d3d58ad63d4ea6df082 (diff)
downloadchromium_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.cc11
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()) {