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

Side by Side Diff: chrome/browser/ui/gtk/avatar_menu_item_gtk.cc

Issue 8933005: Linux/Gtk: Setting "can-focus" to FALSE for edit link in avatar menu. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 9 years 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 | 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) 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/avatar_menu_item_gtk.h" 5 #include "chrome/browser/ui/gtk/avatar_menu_item_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 g_free(markup); 287 g_free(markup);
288 gtk_misc_set_alignment(GTK_MISC(status_label_), 0, 0); 288 gtk_misc_set_alignment(GTK_MISC(status_label_), 0, 0);
289 gtk_widget_set_no_show_all(status_label_, TRUE); 289 gtk_widget_set_no_show_all(status_label_, TRUE);
290 gtk_box_pack_start(GTK_BOX(item_vbox), status_label_, FALSE, FALSE, 0); 290 gtk_box_pack_start(GTK_BOX(item_vbox), status_label_, FALSE, FALSE, 0);
291 gtk_widget_show(status_label_); 291 gtk_widget_show(status_label_);
292 292
293 if (item_.active) { 293 if (item_.active) {
294 // The "edit your profile" link. 294 // The "edit your profile" link.
295 edit_profile_link_ = gtk_chrome_link_button_new( 295 edit_profile_link_ = gtk_chrome_link_button_new(
296 l10n_util::GetStringUTF8(IDS_PROFILES_EDIT_PROFILE_LINK).c_str()); 296 l10n_util::GetStringUTF8(IDS_PROFILES_EDIT_PROFILE_LINK).c_str());
297 // Fix for bug#107348. edit link steals focus from menu item which
298 // hides edit link button in focus-out-event handler,
299 // so, it misses the click event.
300 gtk_widget_set_can_focus(edit_profile_link_, FALSE);
297 301
298 link_alignment_ = gtk_alignment_new(0, 0, 0, 0); 302 link_alignment_ = gtk_alignment_new(0, 0, 0, 0);
299 gtk_container_add(GTK_CONTAINER(link_alignment_), edit_profile_link_); 303 gtk_container_add(GTK_CONTAINER(link_alignment_), edit_profile_link_);
300 304
301 // The chrome link button contains a label that won't be shown if the button 305 // The chrome link button contains a label that won't be shown if the button
302 // is set to "no show all", so show all first. 306 // is set to "no show all", so show all first.
303 gtk_widget_show_all(link_alignment_); 307 gtk_widget_show_all(link_alignment_);
304 gtk_widget_set_no_show_all(link_alignment_, TRUE); 308 gtk_widget_set_no_show_all(link_alignment_, TRUE);
305 gtk_widget_hide(link_alignment_); 309 gtk_widget_hide(link_alignment_);
306 310
307 gtk_box_pack_start(GTK_BOX(item_vbox), link_alignment_, FALSE, FALSE, 0); 311 gtk_box_pack_start(GTK_BOX(item_vbox), link_alignment_, FALSE, FALSE, 0);
308 312
309 g_signal_connect(edit_profile_link_, "clicked", 313 g_signal_connect(edit_profile_link_, "clicked",
310 G_CALLBACK(OnEditProfileLinkClickedThunk), this); 314 G_CALLBACK(OnEditProfileLinkClickedThunk), this);
311 315
312 GtkSizeGroup* size_group = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); 316 GtkSizeGroup* size_group = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
313 gtk_size_group_add_widget(size_group, status_label_); 317 gtk_size_group_add_widget(size_group, status_label_);
314 gtk_size_group_add_widget(size_group, link_alignment_); 318 gtk_size_group_add_widget(size_group, link_alignment_);
315 g_object_unref(size_group); 319 g_object_unref(size_group);
316 } 320 }
317 321
318 gtk_box_pack_start(GTK_BOX(item_hbox), item_vbox, TRUE, TRUE, 0); 322 gtk_box_pack_start(GTK_BOX(item_hbox), item_vbox, TRUE, TRUE, 0);
319 gtk_container_add(GTK_CONTAINER(widget_.get()), item_hbox); 323 gtk_container_add(GTK_CONTAINER(widget_.get()), item_hbox);
320 } 324 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698