Index: ui/message_center/cocoa/tray_controller.mm |
diff --git a/ui/message_center/cocoa/tray_controller.mm b/ui/message_center/cocoa/tray_controller.mm |
deleted file mode 100644 |
index ddbdcc77cdc63bf57badbef9480cd150c539271a..0000000000000000000000000000000000000000 |
--- a/ui/message_center/cocoa/tray_controller.mm |
+++ /dev/null |
@@ -1,113 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ui/message_center/cocoa/tray_controller.h" |
- |
-#include "ui/base/cocoa/window_size_constants.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#import "ui/message_center/cocoa/popup_collection.h" |
-#import "ui/message_center/cocoa/tray_view_controller.h" |
-#include "ui/message_center/message_center_tray.h" |
-#include "ui/message_center/message_center_tray_delegate.h" |
- |
-@interface MCTrayWindow : NSPanel |
-@end |
- |
-@implementation MCTrayWindow |
- |
-- (BOOL)canBecomeKeyWindow { |
- return YES; |
-} |
- |
-- (void)cancelOperation:(id)sender { |
- [self orderOut:self]; |
-} |
- |
-@end |
- |
-@implementation MCTrayController |
- |
-- (id)initWithMessageCenterTray:(message_center::MessageCenterTray*)tray { |
- base::scoped_nsobject<MCTrayWindow> window( |
- [[MCTrayWindow alloc] initWithContentRect:ui::kWindowSizeDeterminedLater |
- styleMask:NSBorderlessWindowMask | |
- NSNonactivatingPanelMask |
- backing:NSBackingStoreBuffered |
- defer:NO]); |
- if ((self = [super initWithWindow:window])) { |
- tray_ = tray; |
- |
- [window setDelegate:self]; |
- [window setHasShadow:YES]; |
- [window setHidesOnDeactivate:NO]; |
- [window setLevel:NSFloatingWindowLevel]; |
- |
- viewController_.reset([[MCTrayViewController alloc] initWithMessageCenter: |
- tray_->message_center()]); |
- NSView* contentView = [viewController_ view]; |
- [window setFrame:[contentView frame] display:NO]; |
- [window setContentView:contentView]; |
- |
- // The global event monitor will close the tray in response to events |
- // delivered to other applications, and -windowDidResignKey: will catch |
- // events within the application. |
- __block MCTrayController* weakSelf = self; |
- clickEventMonitor_ = |
- [NSEvent addGlobalMonitorForEventsMatchingMask:NSLeftMouseDownMask | |
- NSRightMouseDownMask | |
- NSOtherMouseDownMask |
- handler:^(NSEvent* event) { |
- [weakSelf windowDidResignKey:nil]; |
- }]; |
- } |
- return self; |
-} |
- |
-- (void)dealloc { |
- [NSEvent removeMonitor:clickEventMonitor_]; |
- [super dealloc]; |
-} |
- |
-- (MCTrayViewController*)viewController { |
- return viewController_.get(); |
-} |
- |
-- (void)close { |
- [viewController_ onWindowClosing]; |
- [super close]; |
-} |
- |
-- (void)showTrayAtRightOf:(NSPoint)rightPoint atLeftOf:(NSPoint)leftPoint { |
- NSScreen* screen = [[NSScreen screens] objectAtIndex:0]; |
- NSRect screenFrame = [screen visibleFrame]; |
- |
- NSRect frame = [[viewController_ view] frame]; |
- |
- if (rightPoint.x + NSWidth(frame) < NSMaxX(screenFrame)) { |
- frame.origin.x = rightPoint.x; |
- frame.origin.y = rightPoint.y - NSHeight(frame); |
- } else { |
- frame.origin.x = leftPoint.x - NSWidth(frame); |
- frame.origin.y = leftPoint.y - NSHeight(frame); |
- } |
- |
- [[self window] setFrame:frame display:YES]; |
- [viewController_ scrollToTop]; |
- [self showWindow:nil]; |
-} |
- |
-- (void)onMessageCenterTrayChanged { |
- [viewController_ onMessageCenterTrayChanged]; |
-} |
- |
-- (void)windowDidResignKey:(NSNotification*)notification { |
- // The settings bubble data structures assume that the settings dialog is |
- // visible only for short periods of time: There's a fixed list of permissions |
- // for example. |
- [viewController_ cleanupSettings]; |
- |
- tray_->HideMessageCenterBubble(); |
-} |
- |
-@end |