OLD | NEW |
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 #import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h" | 5 #import "chrome/browser/ui/cocoa/app_menu/app_menu_controller.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/mac/bundle_locations.h" | 10 #include "base/mac/bundle_locations.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 #import "chrome/browser/ui/cocoa/encoding_menu_controller_delegate_mac.h" | 29 #import "chrome/browser/ui/cocoa/encoding_menu_controller_delegate_mac.h" |
30 #import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h" | 30 #import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h" |
31 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h" | 31 #import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h" |
32 #import "chrome/browser/ui/cocoa/l10n_util.h" | 32 #import "chrome/browser/ui/cocoa/l10n_util.h" |
33 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" | 33 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" |
34 #include "chrome/browser/ui/toolbar/app_menu_model.h" | 34 #include "chrome/browser/ui/toolbar/app_menu_model.h" |
35 #include "chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h" | 35 #include "chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h" |
36 #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" | 36 #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" |
37 #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" | 37 #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" |
38 #include "chrome/grit/generated_resources.h" | 38 #include "chrome/grit/generated_resources.h" |
39 #include "components/ui/zoom/zoom_event_manager.h" | 39 #include "components/zoom/zoom_event_manager.h" |
40 #include "content/public/browser/user_metrics.h" | 40 #include "content/public/browser/user_metrics.h" |
41 #include "ui/base/l10n/l10n_util.h" | 41 #include "ui/base/l10n/l10n_util.h" |
42 #include "ui/base/models/menu_model.h" | 42 #include "ui/base/models/menu_model.h" |
43 #include "ui/gfx/geometry/size.h" | 43 #include "ui/gfx/geometry/size.h" |
44 | 44 |
45 namespace { | 45 namespace { |
46 // Padding amounts on the left/right of a custom menu item (like the browser | 46 // Padding amounts on the left/right of a custom menu item (like the browser |
47 // actions overflow container). | 47 // actions overflow container). |
48 const int kLeftPadding = 16; | 48 const int kLeftPadding = 16; |
49 const int kRightPadding = 10; | 49 const int kRightPadding = 10; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 if (!accelerator) | 87 if (!accelerator) |
88 return false; | 88 return false; |
89 *out_accelerator = *accelerator; | 89 *out_accelerator = *accelerator; |
90 return true; | 90 return true; |
91 } | 91 } |
92 }; | 92 }; |
93 | 93 |
94 class ZoomLevelObserver { | 94 class ZoomLevelObserver { |
95 public: | 95 public: |
96 ZoomLevelObserver(AppMenuController* controller, | 96 ZoomLevelObserver(AppMenuController* controller, |
97 ui_zoom::ZoomEventManager* manager) | 97 zoom::ZoomEventManager* manager) |
98 : controller_(controller) { | 98 : controller_(controller) { |
99 subscription_ = manager->AddZoomLevelChangedCallback( | 99 subscription_ = manager->AddZoomLevelChangedCallback( |
100 base::Bind(&ZoomLevelObserver::OnZoomLevelChanged, | 100 base::Bind(&ZoomLevelObserver::OnZoomLevelChanged, |
101 base::Unretained(this))); | 101 base::Unretained(this))); |
102 } | 102 } |
103 | 103 |
104 ~ZoomLevelObserver() {} | 104 ~ZoomLevelObserver() {} |
105 | 105 |
106 private: | 106 private: |
107 void OnZoomLevelChanged(const content::HostZoomMap::ZoomLevelChange& change) { | 107 void OnZoomLevelChanged(const content::HostZoomMap::ZoomLevelChange& change) { |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 [browserActionsController_ update]; | 344 [browserActionsController_ update]; |
345 | 345 |
346 [view setFrameOrigin:NSZeroPoint]; | 346 [view setFrameOrigin:NSZeroPoint]; |
347 [[containerView superview] setFrameOrigin:NSZeroPoint]; | 347 [[containerView superview] setFrameOrigin:NSZeroPoint]; |
348 [containerView setFrameOrigin:NSMakePoint(kLeftPadding, 0)]; | 348 [containerView setFrameOrigin:NSMakePoint(kLeftPadding, 0)]; |
349 } | 349 } |
350 | 350 |
351 - (void)menuWillOpen:(NSMenu*)menu { | 351 - (void)menuWillOpen:(NSMenu*)menu { |
352 [super menuWillOpen:menu]; | 352 [super menuWillOpen:menu]; |
353 | 353 |
354 zoom_level_observer_.reset( | 354 zoom_level_observer_.reset(new AppMenuControllerInternal::ZoomLevelObserver( |
355 new AppMenuControllerInternal::ZoomLevelObserver( | 355 self, zoom::ZoomEventManager::GetForBrowserContext(browser_->profile()))); |
356 self, | |
357 ui_zoom::ZoomEventManager::GetForBrowserContext( | |
358 browser_->profile()))); | |
359 NSString* title = base::SysUTF16ToNSString( | 356 NSString* title = base::SysUTF16ToNSString( |
360 [self appMenuModel]->GetLabelForCommandId(IDC_ZOOM_PERCENT_DISPLAY)); | 357 [self appMenuModel]->GetLabelForCommandId(IDC_ZOOM_PERCENT_DISPLAY)); |
361 [[[buttonViewController_ zoomItem] viewWithTag:IDC_ZOOM_PERCENT_DISPLAY] | 358 [[[buttonViewController_ zoomItem] viewWithTag:IDC_ZOOM_PERCENT_DISPLAY] |
362 setTitle:title]; | 359 setTitle:title]; |
363 [[[[buttonViewController_ zoomItem] | 360 [[[[buttonViewController_ zoomItem] |
364 viewWithTag:IDC_ZOOM_MINUS] image] | 361 viewWithTag:IDC_ZOOM_MINUS] image] |
365 setAccessibilityDescription:l10n_util::GetNSString( | 362 setAccessibilityDescription:l10n_util::GetNSString( |
366 IDS_TEXT_SMALLER_MAC)]; | 363 IDS_TEXT_SMALLER_MAC)]; |
367 [[[[buttonViewController_ zoomItem] | 364 [[[[buttonViewController_ zoomItem] |
368 viewWithTag:IDC_ZOOM_PLUS] image] | 365 viewWithTag:IDC_ZOOM_PLUS] image] |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 // (and thus, after all our ability to adjust it normally). Throw in the | 630 // (and thus, after all our ability to adjust it normally). Throw in the |
634 // towel, and simply don't let the frame move from where it's supposed to be. | 631 // towel, and simply don't let the frame move from where it's supposed to be. |
635 // TODO(devlin): Yet another Cocoa hack. It'd be good to find a workaround, | 632 // TODO(devlin): Yet another Cocoa hack. It'd be good to find a workaround, |
636 // but unlikely unless we replace the Cocoa menu implementation. | 633 // but unlikely unless we replace the Cocoa menu implementation. |
637 NSView* containerSuperview = [overflowActionsContainerView_ superview]; | 634 NSView* containerSuperview = [overflowActionsContainerView_ superview]; |
638 if (NSMinX([containerSuperview frame]) != 0) | 635 if (NSMinX([containerSuperview frame]) != 0) |
639 [containerSuperview setFrameOrigin:NSZeroPoint]; | 636 [containerSuperview setFrameOrigin:NSZeroPoint]; |
640 } | 637 } |
641 | 638 |
642 @end // @implementation AppMenuButtonViewController | 639 @end // @implementation AppMenuButtonViewController |
OLD | NEW |