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

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

Issue 10677009: Move command handling and updating off Browser and onto a helper object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 5 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser_toolbar_gtk.h" 5 #include "chrome/browser/ui/gtk/browser_toolbar_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 #include <X11/XF86keysym.h> 9 #include <X11/XF86keysym.h>
10 10
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 97
98 BrowserToolbarGtk::BrowserToolbarGtk(Browser* browser, BrowserWindowGtk* window) 98 BrowserToolbarGtk::BrowserToolbarGtk(Browser* browser, BrowserWindowGtk* window)
99 : toolbar_(NULL), 99 : toolbar_(NULL),
100 location_bar_(new LocationBarViewGtk(browser)), 100 location_bar_(new LocationBarViewGtk(browser)),
101 model_(browser->toolbar_model()), 101 model_(browser->toolbar_model()),
102 is_wrench_menu_model_valid_(true), 102 is_wrench_menu_model_valid_(true),
103 browser_(browser), 103 browser_(browser),
104 window_(window) { 104 window_(window) {
105 wrench_menu_model_.reset(new WrenchMenuModel(this, browser_)); 105 wrench_menu_model_.reset(new WrenchMenuModel(this, browser_));
106 106
107 browser_->command_updater()->AddCommandObserver(IDC_BACK, this); 107
108 browser_->command_updater()->AddCommandObserver(IDC_FORWARD, this); 108 chrome::AddCommandObserver(browser_, IDC_BACK, this);
109 browser_->command_updater()->AddCommandObserver(IDC_HOME, this); 109 chrome::AddCommandObserver(browser_, IDC_FORWARD, this);
110 browser_->command_updater()->AddCommandObserver(IDC_BOOKMARK_PAGE, this); 110 chrome::AddCommandObserver(browser_, IDC_HOME, this);
111 chrome::AddCommandObserver(browser_, IDC_BOOKMARK_PAGE, this);
111 112
112 registrar_.Add(this, 113 registrar_.Add(this,
113 chrome::NOTIFICATION_UPGRADE_RECOMMENDED, 114 chrome::NOTIFICATION_UPGRADE_RECOMMENDED,
114 content::NotificationService::AllSources()); 115 content::NotificationService::AllSources());
115 registrar_.Add(this, 116 registrar_.Add(this,
116 chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED, 117 chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED,
117 content::Source<Profile>(browser_->profile())); 118 content::Source<Profile>(browser_->profile()));
118 } 119 }
119 120
120 BrowserToolbarGtk::~BrowserToolbarGtk() { 121 BrowserToolbarGtk::~BrowserToolbarGtk() {
121 browser_->command_updater()->RemoveCommandObserver(IDC_BACK, this); 122 chrome::RemoveCommandObserver(browser_, IDC_BACK, this);
122 browser_->command_updater()->RemoveCommandObserver(IDC_FORWARD, this); 123 chrome::RemoveCommandObserver(browser_, IDC_FORWARD, this);
123 browser_->command_updater()->RemoveCommandObserver(IDC_HOME, this); 124 chrome::RemoveCommandObserver(browser_, IDC_HOME, this);
124 browser_->command_updater()->RemoveCommandObserver(IDC_BOOKMARK_PAGE, this); 125 chrome::RemoveCommandObserver(browser_, IDC_BOOKMARK_PAGE, this);
125 126
126 offscreen_entry_.Destroy(); 127 offscreen_entry_.Destroy();
127 128
128 wrench_menu_.reset(); 129 wrench_menu_.reset();
129 } 130 }
130 131
131 void BrowserToolbarGtk::Init(GtkWindow* top_level_window) { 132 void BrowserToolbarGtk::Init(GtkWindow* top_level_window) {
132 Profile* profile = browser_->profile(); 133 Profile* profile = browser_->profile();
133 theme_service_ = GtkThemeService::GetFrom(profile); 134 theme_service_ = GtkThemeService::GetFrom(profile);
134 registrar_.Add(this, 135 registrar_.Add(this,
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 wrench_menu_->Cancel(); 297 wrench_menu_->Cancel();
297 298
298 if (!is_wrench_menu_model_valid_) 299 if (!is_wrench_menu_model_valid_)
299 RebuildWrenchMenu(); 300 RebuildWrenchMenu();
300 301
301 wrench_menu_button_->SetPaintOverride(GTK_STATE_ACTIVE); 302 wrench_menu_button_->SetPaintOverride(GTK_STATE_ACTIVE);
302 content::RecordAction(UserMetricsAction("ShowAppMenu")); 303 content::RecordAction(UserMetricsAction("ShowAppMenu"));
303 wrench_menu_->PopupAsFromKeyEvent(wrench_menu_button_->widget()); 304 wrench_menu_->PopupAsFromKeyEvent(wrench_menu_button_->widget());
304 } 305 }
305 306
306 // CommandUpdater::CommandObserver --------------------------------------------- 307 // CommandObserver -------------------------------------------------------------
307 308
308 void BrowserToolbarGtk::EnabledStateChangedForCommand(int id, bool enabled) { 309 void BrowserToolbarGtk::EnabledStateChangedForCommand(int id, bool enabled) {
309 GtkWidget* widget = NULL; 310 GtkWidget* widget = NULL;
310 switch (id) { 311 switch (id) {
311 case IDC_BACK: 312 case IDC_BACK:
312 widget = back_->widget(); 313 widget = back_->widget();
313 break; 314 break;
314 case IDC_FORWARD: 315 case IDC_FORWARD:
315 widget = forward_->widget(); 316 widget = forward_->widget();
316 break; 317 break;
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 const SkBitmap* badge = theme_service_->GetBitmapNamed(resource_id); 688 const SkBitmap* badge = theme_service_->GetBitmapNamed(resource_id);
688 gfx::CanvasSkiaPaint canvas(expose, false); 689 gfx::CanvasSkiaPaint canvas(expose, false);
689 int x_offset = base::i18n::IsRTL() ? 0 : allocation.width - badge->width(); 690 int x_offset = base::i18n::IsRTL() ? 0 : allocation.width - badge->width();
690 int y_offset = 0; 691 int y_offset = 0;
691 canvas.DrawImageInt(*badge, 692 canvas.DrawImageInt(*badge,
692 allocation.x + x_offset, 693 allocation.x + x_offset,
693 allocation.y + y_offset); 694 allocation.y + y_offset);
694 695
695 return FALSE; 696 return FALSE;
696 } 697 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/browser_toolbar_gtk.h ('k') | chrome/browser/ui/gtk/browser_window_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698