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

Side by Side Diff: chrome/browser/gtk/browser_toolbar_gtk.cc

Issue 48068: Cleanup GTK toolbar tooltips. Move from GtkTooltips to GtkTooltip API. (Closed)
Patch Set: Diff from correct branch Created 11 years, 9 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
« no previous file with comments | « chrome/browser/gtk/browser_toolbar_gtk.h ('k') | no next file » | 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/gtk/browser_toolbar_gtk.h" 5 #include "chrome/browser/gtk/browser_toolbar_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/base_paths_linux.h" 10 #include "base/base_paths_linux.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 gtk_widget_set_size_request(toolbar_, -1, kToolbarHeight); 70 gtk_widget_set_size_request(toolbar_, -1, kToolbarHeight);
71 71
72 // A GtkAccelGroup is not InitiallyUnowned, meaning we get a real reference 72 // A GtkAccelGroup is not InitiallyUnowned, meaning we get a real reference
73 // count starting at one. We don't want the lifetime to be managed by the 73 // count starting at one. We don't want the lifetime to be managed by the
74 // top level window, since the lifetime should be tied to the C++ object. 74 // top level window, since the lifetime should be tied to the C++ object.
75 // When we add the accelerator group, the window will take a reference, but 75 // When we add the accelerator group, the window will take a reference, but
76 // we still hold on to the original, and thus own a reference to the group. 76 // we still hold on to the original, and thus own a reference to the group.
77 accel_group_ = gtk_accel_group_new(); 77 accel_group_ = gtk_accel_group_new();
78 gtk_window_add_accel_group(top_level_window, accel_group_); 78 gtk_window_add_accel_group(top_level_window, accel_group_);
79 79
80 toolbar_tooltips_ = gtk_tooltips_new();
81
82 back_.reset(BuildBackForwardButton(IDR_BACK, IDR_BACK_P, IDR_BACK_H, 80 back_.reset(BuildBackForwardButton(IDR_BACK, IDR_BACK_P, IDR_BACK_H,
83 IDR_BACK_D, 81 IDR_BACK_D,
84 l10n_util::GetString(IDS_TOOLTIP_BACK))); 82 l10n_util::GetString(IDS_TOOLTIP_BACK)));
85 AddAcceleratorToButton(back_, GDK_Left, GDK_MOD1_MASK); 83 AddAcceleratorToButton(back_, GDK_Left, GDK_MOD1_MASK);
86 forward_.reset(BuildBackForwardButton(IDR_FORWARD, IDR_FORWARD_P, 84 forward_.reset(BuildBackForwardButton(IDR_FORWARD, IDR_FORWARD_P,
87 IDR_FORWARD_H, IDR_FORWARD_D, 85 IDR_FORWARD_H, IDR_FORWARD_D,
88 l10n_util::GetString(IDS_TOOLTIP_FORWARD))); 86 l10n_util::GetString(IDS_TOOLTIP_FORWARD)));
89 AddAcceleratorToButton(forward_, GDK_Right, GDK_MOD1_MASK); 87 AddAcceleratorToButton(forward_, GDK_Right, GDK_MOD1_MASK);
90 88
91 // TODO(estade): These blank labels are kind of ghetto. Padding should be 89 // TODO(estade): These blank labels are kind of ghetto. Padding should be
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 bool should_restore_state) { 200 bool should_restore_state) {
203 location_bar_->Update(should_restore_state ? contents : NULL); 201 location_bar_->Update(should_restore_state ? contents : NULL);
204 } 202 }
205 203
206 CustomDrawButton* BrowserToolbarGtk::BuildToolbarButton( 204 CustomDrawButton* BrowserToolbarGtk::BuildToolbarButton(
207 int normal_id, int active_id, int highlight_id, int depressed_id, 205 int normal_id, int active_id, int highlight_id, int depressed_id,
208 const std::wstring& localized_tooltip) { 206 const std::wstring& localized_tooltip) {
209 CustomDrawButton* button = new CustomDrawButton(normal_id, active_id, 207 CustomDrawButton* button = new CustomDrawButton(normal_id, active_id,
210 highlight_id, depressed_id); 208 highlight_id, depressed_id);
211 209
212 gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tooltips_), 210 gtk_widget_set_tooltip_text(button->widget(),
213 GTK_WIDGET(button->widget()), 211 WideToUTF8(localized_tooltip).c_str());
214 WideToUTF8(localized_tooltip).c_str(),
215 WideToUTF8(localized_tooltip).c_str());
216 g_signal_connect(G_OBJECT(button->widget()), "clicked", 212 g_signal_connect(G_OBJECT(button->widget()), "clicked",
217 G_CALLBACK(OnButtonClick), this); 213 G_CALLBACK(OnButtonClick), this);
218 GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS); 214 GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS);
219 215
220 gtk_box_pack_start(GTK_BOX(toolbar_), button->widget(), FALSE, FALSE, 0); 216 gtk_box_pack_start(GTK_BOX(toolbar_), button->widget(), FALSE, FALSE, 0);
221 return button; 217 return button;
222 } 218 }
223 219
224 CustomContainerButton* BrowserToolbarGtk::BuildToolbarMenuButton( 220 CustomContainerButton* BrowserToolbarGtk::BuildToolbarMenuButton(
225 int icon_id, 221 int icon_id,
226 const std::wstring& localized_tooltip) { 222 const std::wstring& localized_tooltip) {
227 CustomContainerButton* button = new CustomContainerButton; 223 CustomContainerButton* button = new CustomContainerButton;
228 224
229 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 225 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
230 gtk_container_set_border_width(GTK_CONTAINER(button->widget()), 2); 226 gtk_container_set_border_width(GTK_CONTAINER(button->widget()), 2);
231 gtk_container_add(GTK_CONTAINER(button->widget()), 227 gtk_container_add(GTK_CONTAINER(button->widget()),
232 gtk_image_new_from_pixbuf(rb.LoadPixbuf(icon_id))); 228 gtk_image_new_from_pixbuf(rb.LoadPixbuf(icon_id)));
233 229
234 gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tooltips_), 230 gtk_widget_set_tooltip_text(button->widget(),
235 GTK_WIDGET(button->widget()), 231 WideToUTF8(localized_tooltip).c_str());
236 WideToUTF8(localized_tooltip).c_str(),
237 WideToUTF8(localized_tooltip).c_str());
238 g_signal_connect(G_OBJECT(button->widget()), "button-press-event", 232 g_signal_connect(G_OBJECT(button->widget()), "button-press-event",
239 G_CALLBACK(OnMenuButtonPressEvent), this); 233 G_CALLBACK(OnMenuButtonPressEvent), this);
240 GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS); 234 GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS);
241 235
242 gtk_box_pack_start(GTK_BOX(toolbar_), button->widget(), FALSE, FALSE, 0); 236 gtk_box_pack_start(GTK_BOX(toolbar_), button->widget(), FALSE, FALSE, 0);
243 237
244 return button; 238 return button;
245 } 239 }
246 240
247 // static 241 // static
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 289
296 CustomDrawButton* BrowserToolbarGtk::BuildBackForwardButton( 290 CustomDrawButton* BrowserToolbarGtk::BuildBackForwardButton(
297 int normal_id, 291 int normal_id,
298 int active_id, 292 int active_id,
299 int highlight_id, 293 int highlight_id,
300 int depressed_id, 294 int depressed_id,
301 const std::wstring& localized_tooltip) { 295 const std::wstring& localized_tooltip) {
302 CustomDrawButton* button = new CustomDrawButton(normal_id, active_id, 296 CustomDrawButton* button = new CustomDrawButton(normal_id, active_id,
303 highlight_id, depressed_id); 297 highlight_id, depressed_id);
304 298
305 // TODO(erg): Mismatch between wstring and string. 299 gtk_widget_set_tooltip_text(button->widget(),
306 // gtk_tooltips_set_tip(GTK_TOOLTIPS(toolbar_tooltips_), 300 WideToUTF8(localized_tooltip).c_str());
307 // GTK_WIDGET(back_),
308 // localized_tooltip, localized_tooltip);
309 301
310 g_signal_connect(G_OBJECT(button->widget()), "button-press-event", 302 g_signal_connect(G_OBJECT(button->widget()), "button-press-event",
311 G_CALLBACK(OnBackForwardPressEvent), this); 303 G_CALLBACK(OnBackForwardPressEvent), this);
312 g_signal_connect(G_OBJECT(button->widget()), "clicked", 304 g_signal_connect(G_OBJECT(button->widget()), "clicked",
313 G_CALLBACK(OnButtonClick), this); 305 G_CALLBACK(OnButtonClick), this);
314 GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS); 306 GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS);
315 307
316 gtk_box_pack_start(GTK_BOX(toolbar_), button->widget(), FALSE, FALSE, 0); 308 gtk_box_pack_start(GTK_BOX(toolbar_), button->widget(), FALSE, FALSE, 0);
317 // Popup the menu as left-aligned relative to this widget rather than the 309 // Popup the menu as left-aligned relative to this widget rather than the
318 // default of right aligned. 310 // default of right aligned.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 } 351 }
360 352
361 void BrowserToolbarGtk::RunAppMenu(GdkEvent* button_press_event) { 353 void BrowserToolbarGtk::RunAppMenu(GdkEvent* button_press_event) {
362 app_menu_->Popup(app_menu_button_->widget(), button_press_event); 354 app_menu_->Popup(app_menu_button_->widget(), button_press_event);
363 } 355 }
364 356
365 CustomDrawButton* BrowserToolbarGtk::MakeHomeButton() { 357 CustomDrawButton* BrowserToolbarGtk::MakeHomeButton() {
366 return BuildToolbarButton(IDR_HOME, IDR_HOME_P, IDR_HOME_H, 0, 358 return BuildToolbarButton(IDR_HOME, IDR_HOME_P, IDR_HOME_H, 0,
367 l10n_util::GetString(IDS_TOOLTIP_HOME)); 359 l10n_util::GetString(IDS_TOOLTIP_HOME));
368 } 360 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/browser_toolbar_gtk.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698