Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: chrome/browser/ui/gtk/bookmarks/bookmark_menu_controller_gtk.cc

Issue 6990049: GTK: Refinements to the global menu. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/gtk/bookmarks/bookmark_menu_controller_gtk.h" 5 #include "chrome/browser/ui/gtk/bookmarks/bookmark_menu_controller_gtk.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 8
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 start_child_index < parent->child_count()); 146 start_child_index < parent->child_count());
147 147
148 signals_.Connect(menu, "button-press-event", 148 signals_.Connect(menu, "button-press-event",
149 G_CALLBACK(OnMenuButtonPressedOrReleasedThunk), this); 149 G_CALLBACK(OnMenuButtonPressedOrReleasedThunk), this);
150 signals_.Connect(menu, "button-release-event", 150 signals_.Connect(menu, "button-release-event",
151 G_CALLBACK(OnMenuButtonPressedOrReleasedThunk), this); 151 G_CALLBACK(OnMenuButtonPressedOrReleasedThunk), this);
152 152
153 for (int i = start_child_index; i < parent->child_count(); ++i) { 153 for (int i = start_child_index; i < parent->child_count(); ++i) {
154 const BookmarkNode* node = parent->GetChild(i); 154 const BookmarkNode* node = parent->GetChild(i);
155 155
156 // This breaks on word boundaries. Ideally we would break on character 156 GtkWidget* menu_item = gtk_image_menu_item_new_with_label(
157 // boundaries. 157 bookmark_utils::BuildMenuLabelFor(node).c_str());
158 string16 elided_name = l10n_util::TruncateString(node->GetTitle(),
159 kMaxChars);
160 GtkWidget* menu_item =
161 gtk_image_menu_item_new_with_label(UTF16ToUTF8(elided_name).c_str());
162 g_object_set_data(G_OBJECT(menu_item), "bookmark-node", AsVoid(node)); 158 g_object_set_data(G_OBJECT(menu_item), "bookmark-node", AsVoid(node));
163 SetImageMenuItem(menu_item, node, profile_->GetBookmarkModel()); 159 SetImageMenuItem(menu_item, node, profile_->GetBookmarkModel());
164 gtk_util::SetAlwaysShowImage(menu_item); 160 gtk_util::SetAlwaysShowImage(menu_item);
165 161
166 signals_.Connect(menu_item, "button-release-event", 162 signals_.Connect(menu_item, "button-release-event",
167 G_CALLBACK(OnButtonReleasedThunk), this); 163 G_CALLBACK(OnButtonReleasedThunk), this);
168 if (node->is_url()) { 164 if (node->is_url()) {
169 signals_.Connect(menu_item, "activate", 165 signals_.Connect(menu_item, "activate",
170 G_CALLBACK(OnMenuItemActivatedThunk), this); 166 G_CALLBACK(OnMenuItemActivatedThunk), this);
171 } else if (node->is_folder()) { 167 } else if (node->is_folder()) {
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 } 363 }
368 364
369 void BookmarkMenuController::OnMenuItemDragGet( 365 void BookmarkMenuController::OnMenuItemDragGet(
370 GtkWidget* widget, GdkDragContext* context, 366 GtkWidget* widget, GdkDragContext* context,
371 GtkSelectionData* selection_data, 367 GtkSelectionData* selection_data,
372 guint target_type, guint time) { 368 guint target_type, guint time) {
373 const BookmarkNode* node = bookmark_utils::BookmarkNodeForWidget(widget); 369 const BookmarkNode* node = bookmark_utils::BookmarkNodeForWidget(widget);
374 bookmark_utils::WriteBookmarkToSelection(node, selection_data, target_type, 370 bookmark_utils::WriteBookmarkToSelection(node, selection_data, target_type,
375 profile_); 371 profile_);
376 } 372 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698