| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/views/toolbar/wrench_menu.h" | 5 #include "chrome/browser/ui/views/toolbar/wrench_menu.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 #include "ui/views/controls/label.h" | 54 #include "ui/views/controls/label.h" |
| 55 #include "ui/views/controls/menu/menu_config.h" | 55 #include "ui/views/controls/menu/menu_config.h" |
| 56 #include "ui/views/controls/menu/menu_item_view.h" | 56 #include "ui/views/controls/menu/menu_item_view.h" |
| 57 #include "ui/views/controls/menu/menu_model_adapter.h" | 57 #include "ui/views/controls/menu/menu_model_adapter.h" |
| 58 #include "ui/views/controls/menu/menu_runner.h" | 58 #include "ui/views/controls/menu/menu_runner.h" |
| 59 #include "ui/views/controls/menu/menu_scroll_view_container.h" | 59 #include "ui/views/controls/menu/menu_scroll_view_container.h" |
| 60 #include "ui/views/controls/menu/submenu_view.h" | 60 #include "ui/views/controls/menu/submenu_view.h" |
| 61 #include "ui/views/widget/widget.h" | 61 #include "ui/views/widget/widget.h" |
| 62 | 62 |
| 63 using base::UserMetricsAction; | 63 using base::UserMetricsAction; |
| 64 using content::HostZoomMap; | |
| 65 using content::WebContents; | 64 using content::WebContents; |
| 66 using ui::MenuModel; | 65 using ui::MenuModel; |
| 67 using views::CustomButton; | 66 using views::CustomButton; |
| 68 using views::ImageButton; | 67 using views::ImageButton; |
| 69 using views::Label; | 68 using views::Label; |
| 70 using views::LabelButton; | 69 using views::LabelButton; |
| 71 using views::MenuConfig; | 70 using views::MenuConfig; |
| 72 using views::MenuItemView; | 71 using views::MenuItemView; |
| 73 using views::View; | 72 using views::View; |
| 74 | 73 |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 int decrement_index, | 486 int decrement_index, |
| 488 int increment_index, | 487 int increment_index, |
| 489 int fullscreen_index) | 488 int fullscreen_index) |
| 490 : WrenchMenuView(menu, menu_model), | 489 : WrenchMenuView(menu, menu_model), |
| 491 fullscreen_index_(fullscreen_index), | 490 fullscreen_index_(fullscreen_index), |
| 492 increment_button_(NULL), | 491 increment_button_(NULL), |
| 493 zoom_label_(NULL), | 492 zoom_label_(NULL), |
| 494 decrement_button_(NULL), | 493 decrement_button_(NULL), |
| 495 fullscreen_button_(NULL), | 494 fullscreen_button_(NULL), |
| 496 zoom_label_width_(0) { | 495 zoom_label_width_(0) { |
| 497 content_zoom_subscription_ = HostZoomMap::GetDefaultForBrowserContext( | 496 content_zoom_subscription_ = |
| 498 menu->browser_->profile())->AddZoomLevelChangedCallback( | 497 content::HostZoomMap::GetDefaultForBrowserContext( |
| 499 base::Bind(&WrenchMenu::ZoomView::OnZoomLevelChanged, | 498 menu->browser_->profile()) |
| 500 base::Unretained(this))); | 499 ->AddZoomLevelChangedCallback( |
| 500 base::Bind(&WrenchMenu::ZoomView::OnZoomLevelChanged, |
| 501 base::Unretained(this))); |
| 501 | 502 |
| 502 browser_zoom_subscription_ = ZoomEventManager::GetForBrowserContext( | 503 browser_zoom_subscription_ = ZoomEventManager::GetForBrowserContext( |
| 503 menu->browser_->profile())->AddZoomLevelChangedCallback( | 504 menu->browser_->profile())->AddZoomLevelChangedCallback( |
| 504 base::Bind(&WrenchMenu::ZoomView::OnZoomLevelChanged, | 505 base::Bind(&WrenchMenu::ZoomView::OnZoomLevelChanged, |
| 505 base::Unretained(this))); | 506 base::Unretained(this))); |
| 506 | 507 |
| 507 decrement_button_ = CreateButtonWithAccName( | 508 decrement_button_ = CreateButtonWithAccName( |
| 508 IDS_ZOOM_MINUS2, InMenuButtonBackground::LEFT_BUTTON, | 509 IDS_ZOOM_MINUS2, InMenuButtonBackground::LEFT_BUTTON, |
| 509 decrement_index, IDS_ACCNAME_ZOOM_MINUS2); | 510 decrement_index, IDS_ACCNAME_ZOOM_MINUS2); |
| 510 | 511 |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 } else { | 628 } else { |
| 628 // Zoom buttons don't close the menu. | 629 // Zoom buttons don't close the menu. |
| 629 menu_model()->ActivatedAt(sender->tag()); | 630 menu_model()->ActivatedAt(sender->tag()); |
| 630 } | 631 } |
| 631 } | 632 } |
| 632 | 633 |
| 633 // Overridden from WrenchMenuObserver. | 634 // Overridden from WrenchMenuObserver. |
| 634 void WrenchMenuDestroyed() override { WrenchMenuView::WrenchMenuDestroyed(); } | 635 void WrenchMenuDestroyed() override { WrenchMenuView::WrenchMenuDestroyed(); } |
| 635 | 636 |
| 636 private: | 637 private: |
| 637 void OnZoomLevelChanged(const HostZoomMap::ZoomLevelChange& change) { | 638 void OnZoomLevelChanged(const content::HostZoomMap::ZoomLevelChange& change) { |
| 638 UpdateZoomControls(); | 639 UpdateZoomControls(); |
| 639 } | 640 } |
| 640 | 641 |
| 641 void UpdateZoomControls() { | 642 void UpdateZoomControls() { |
| 642 WebContents* selected_tab = | 643 WebContents* selected_tab = |
| 643 menu()->browser_->tab_strip_model()->GetActiveWebContents(); | 644 menu()->browser_->tab_strip_model()->GetActiveWebContents(); |
| 644 int zoom = 100; | 645 int zoom = 100; |
| 645 if (selected_tab) | 646 if (selected_tab) |
| 646 zoom = ZoomController::FromWebContents(selected_tab)->GetZoomPercent(); | 647 zoom = ZoomController::FromWebContents(selected_tab)->GetZoomPercent(); |
| 647 increment_button_->SetEnabled(zoom < selected_tab->GetMaximumZoomPercent()); | 648 increment_button_->SetEnabled(zoom < selected_tab->GetMaximumZoomPercent()); |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1239 0, | 1240 0, |
| 1240 BookmarkMenuDelegate::SHOW_PERMANENT_FOLDERS, | 1241 BookmarkMenuDelegate::SHOW_PERMANENT_FOLDERS, |
| 1241 BOOKMARK_LAUNCH_LOCATION_WRENCH_MENU); | 1242 BOOKMARK_LAUNCH_LOCATION_WRENCH_MENU); |
| 1242 } | 1243 } |
| 1243 | 1244 |
| 1244 int WrenchMenu::ModelIndexFromCommandId(int command_id) const { | 1245 int WrenchMenu::ModelIndexFromCommandId(int command_id) const { |
| 1245 CommandIDToEntry::const_iterator ix = command_id_to_entry_.find(command_id); | 1246 CommandIDToEntry::const_iterator ix = command_id_to_entry_.find(command_id); |
| 1246 DCHECK(ix != command_id_to_entry_.end()); | 1247 DCHECK(ix != command_id_to_entry_.end()); |
| 1247 return ix->second.second; | 1248 return ix->second.second; |
| 1248 } | 1249 } |
| OLD | NEW |