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

Side by Side Diff: chrome/browser/views/toolbar_view.cc

Issue 3163035: Revert "Clean up the WrenchMenuModel so that it uses SimpleMenu::Delegate." (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 4 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/views/toolbar_view.h ('k') | chrome/browser/wrench_menu_model.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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/views/toolbar_view.h" 5 #include "chrome/browser/views/toolbar_view.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "app/resource_bundle.h" 8 #include "app/resource_bundle.h"
9 #include "chrome/app/chrome_dll_resource.h" 9 #include "chrome/app/chrome_dll_resource.h"
10 #include "chrome/browser/browser.h" 10 #include "chrome/browser/browser.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 // NOTE: Don't remove the command observers here. This object gets destroyed 103 // NOTE: Don't remove the command observers here. This object gets destroyed
104 // after the Browser (which owns the CommandUpdater), so the CommandUpdater is 104 // after the Browser (which owns the CommandUpdater), so the CommandUpdater is
105 // already gone. 105 // already gone.
106 } 106 }
107 107
108 void ToolbarView::Init(Profile* profile) { 108 void ToolbarView::Init(Profile* profile) {
109 back_menu_model_.reset(new BackForwardMenuModel( 109 back_menu_model_.reset(new BackForwardMenuModel(
110 browser_, BackForwardMenuModel::BACKWARD_MENU)); 110 browser_, BackForwardMenuModel::BACKWARD_MENU));
111 forward_menu_model_.reset(new BackForwardMenuModel( 111 forward_menu_model_.reset(new BackForwardMenuModel(
112 browser_, BackForwardMenuModel::FORWARD_MENU)); 112 browser_, BackForwardMenuModel::FORWARD_MENU));
113 wrench_menu_model_.reset(new WrenchMenuModel(this, browser_)); 113 app_menu_model_.reset(new WrenchMenuModel(this, browser_));
114 114
115 back_ = new views::ButtonDropDown(this, back_menu_model_.get()); 115 back_ = new views::ButtonDropDown(this, back_menu_model_.get());
116 back_->set_triggerable_event_flags(views::Event::EF_LEFT_BUTTON_DOWN | 116 back_->set_triggerable_event_flags(views::Event::EF_LEFT_BUTTON_DOWN |
117 views::Event::EF_MIDDLE_BUTTON_DOWN); 117 views::Event::EF_MIDDLE_BUTTON_DOWN);
118 back_->set_tag(IDC_BACK); 118 back_->set_tag(IDC_BACK);
119 back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT, 119 back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT,
120 views::ImageButton::ALIGN_TOP); 120 views::ImageButton::ALIGN_TOP);
121 back_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_BACK)); 121 back_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_BACK));
122 back_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_BACK)); 122 back_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_BACK));
123 back_->SetID(VIEW_ID_BACK_BUTTON); 123 back_->SetID(VIEW_ID_BACK_BUTTON);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 241
242 //////////////////////////////////////////////////////////////////////////////// 242 ////////////////////////////////////////////////////////////////////////////////
243 // ToolbarView, views::MenuDelegate implementation: 243 // ToolbarView, views::MenuDelegate implementation:
244 244
245 void ToolbarView::RunMenu(views::View* source, const gfx::Point& /*pt*/) { 245 void ToolbarView::RunMenu(views::View* source, const gfx::Point& /*pt*/) {
246 DCHECK_EQ(VIEW_ID_APP_MENU, source->GetID()); 246 DCHECK_EQ(VIEW_ID_APP_MENU, source->GetID());
247 247
248 bool destroyed_flag = false; 248 bool destroyed_flag = false;
249 destroyed_flag_ = &destroyed_flag; 249 destroyed_flag_ = &destroyed_flag;
250 wrench_menu_.reset(new WrenchMenu(browser_)); 250 wrench_menu_.reset(new WrenchMenu(browser_));
251 wrench_menu_->Init(wrench_menu_model_->menu_model()); 251 wrench_menu_->Init(app_menu_model_.get());
252 252
253 for (size_t i = 0; i < menu_listeners_.size(); ++i) 253 for (size_t i = 0; i < menu_listeners_.size(); ++i)
254 menu_listeners_[i]->OnMenuOpened(); 254 menu_listeners_[i]->OnMenuOpened();
255 255
256 wrench_menu_->RunMenu(app_menu_); 256 wrench_menu_->RunMenu(app_menu_);
257 257
258 if (destroyed_flag) 258 if (destroyed_flag)
259 return; 259 return;
260 destroyed_flag_ = NULL; 260 destroyed_flag_ = NULL;
261 261
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 if (*pref_name == prefs::kShowHomeButton) { 337 if (*pref_name == prefs::kShowHomeButton) {
338 Layout(); 338 Layout();
339 SchedulePaint(); 339 SchedulePaint();
340 } 340 }
341 } else if (type == NotificationType::UPGRADE_RECOMMENDED) { 341 } else if (type == NotificationType::UPGRADE_RECOMMENDED) {
342 ShowUpgradeReminder(); 342 ShowUpgradeReminder();
343 } 343 }
344 } 344 }
345 345
346 //////////////////////////////////////////////////////////////////////////////// 346 ////////////////////////////////////////////////////////////////////////////////
347 // ToolbarView, menus::AcceleratorProvider implementation: 347 // ToolbarView, menus::SimpleMenuModel::Delegate implementation:
348
349 bool ToolbarView::IsCommandIdChecked(int command_id) const {
350 #if defined(OS_CHROMEOS)
351 if (command_id == IDC_TOGGLE_VERTICAL_TABS) {
352 return browser_->UseVerticalTabs();
353 }
354 #endif
355 return (command_id == IDC_SHOW_BOOKMARK_BAR) &&
356 profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar);
357 }
358
359 bool ToolbarView::IsCommandIdEnabled(int command_id) const {
360 return browser_->command_updater()->IsCommandEnabled(command_id);
361 }
348 362
349 bool ToolbarView::GetAcceleratorForCommandId(int command_id, 363 bool ToolbarView::GetAcceleratorForCommandId(int command_id,
350 menus::Accelerator* accelerator) { 364 menus::Accelerator* accelerator) {
351 // The standard Ctrl-X, Ctrl-V and Ctrl-C are not defined as accelerators 365 // The standard Ctrl-X, Ctrl-V and Ctrl-C are not defined as accelerators
352 // anywhere so we need to check for them explicitly here. 366 // anywhere so we need to check for them explicitly here.
353 // TODO(cpu) Bug 1109102. Query WebKit land for the actual bindings. 367 // TODO(cpu) Bug 1109102. Query WebKit land for the actual bindings.
354 switch (command_id) { 368 switch (command_id) {
355 case IDC_CUT: 369 case IDC_CUT:
356 *accelerator = views::Accelerator(base::VKEY_X, false, true, false); 370 *accelerator = views::Accelerator(base::VKEY_X, false, true, false);
357 return true; 371 return true;
358 case IDC_COPY: 372 case IDC_COPY:
359 *accelerator = views::Accelerator(base::VKEY_C, false, true, false); 373 *accelerator = views::Accelerator(base::VKEY_C, false, true, false);
360 return true; 374 return true;
361 case IDC_PASTE: 375 case IDC_PASTE:
362 *accelerator = views::Accelerator(base::VKEY_V, false, true, false); 376 *accelerator = views::Accelerator(base::VKEY_V, false, true, false);
363 return true; 377 return true;
364 } 378 }
365 // Else, we retrieve the accelerator information from the frame. 379 // Else, we retrieve the accelerator information from the frame.
366 return GetWidget()->GetAccelerator(command_id, accelerator); 380 return GetWidget()->GetAccelerator(command_id, accelerator);
367 } 381 }
368 382
383 void ToolbarView::ExecuteCommand(int command_id) {
384 browser_->ExecuteCommand(command_id);
385 }
386
369 //////////////////////////////////////////////////////////////////////////////// 387 ////////////////////////////////////////////////////////////////////////////////
370 // ToolbarView, views::View overrides: 388 // ToolbarView, views::View overrides:
371 389
372 gfx::Size ToolbarView::GetPreferredSize() { 390 gfx::Size ToolbarView::GetPreferredSize() {
373 if (IsDisplayModeNormal()) { 391 if (IsDisplayModeNormal()) {
374 int min_width = kEdgeSpacing + 392 int min_width = kEdgeSpacing +
375 back_->GetPreferredSize().width() + kButtonSpacing + 393 back_->GetPreferredSize().width() + kButtonSpacing +
376 forward_->GetPreferredSize().width() + kButtonSpacing + 394 forward_->GetPreferredSize().width() + kButtonSpacing +
377 reload_->GetPreferredSize().width() + kStandardSpacing + 395 reload_->GetPreferredSize().width() + kStandardSpacing +
378 (show_home_button_.GetValue() ? 396 (show_home_button_.GetValue() ?
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 *tp->GetBitmapNamed(IDR_UPGRADE_DOT_ACTIVE), 637 *tp->GetBitmapNamed(IDR_UPGRADE_DOT_ACTIVE),
620 value); 638 value);
621 } 639 }
622 640
623 static const int kBadgeLeftSpacing = 8; 641 static const int kBadgeLeftSpacing = 8;
624 static const int kBadgeTopSpacing = 18; 642 static const int kBadgeTopSpacing = 18;
625 canvas->DrawBitmapInt(badge, kBadgeLeftSpacing, kBadgeTopSpacing); 643 canvas->DrawBitmapInt(badge, kBadgeLeftSpacing, kBadgeTopSpacing);
626 644
627 return canvas->ExtractBitmap(); 645 return canvas->ExtractBitmap();
628 } 646 }
OLDNEW
« no previous file with comments | « chrome/browser/views/toolbar_view.h ('k') | chrome/browser/wrench_menu_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698