Chromium Code Reviews| Index: ui/message_center/cocoa/status_item_view.mm |
| diff --git a/ui/message_center/cocoa/status_item_view.mm b/ui/message_center/cocoa/status_item_view.mm |
| deleted file mode 100644 |
| index 793fae47fea1265556adcee2ada675ace51c650c..0000000000000000000000000000000000000000 |
| --- a/ui/message_center/cocoa/status_item_view.mm |
| +++ /dev/null |
| @@ -1,194 +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. |
| - |
| -#import "ui/message_center/cocoa/status_item_view.h" |
| - |
| -#include <cmath> |
| - |
| -#include "base/format_macros.h" |
| -#include "base/mac/sdk_forward_declarations.h" |
| -#include "ui/base/resource/resource_bundle.h" |
| -#include "ui/resources/grit/ui_resources.h" |
| - |
| -// The width of the status bar item when it's just the icon. |
| -const CGFloat kStatusItemLength = 26; |
| - |
| -// The amount of space between the left and right edges and the content of the |
| -// status item. |
| -const CGFloat kMargin = 5; |
| - |
| - |
| -@interface MCStatusItemView (Private) |
| -// Whether or not the status item should be drawn highlighted. |
| -- (BOOL)shouldHighlight; |
| - |
| -- (int)getTrayResourceId; |
| -@end |
| - |
| -@implementation MCStatusItemView |
| - |
| -@synthesize highlight = highlight_; |
| - |
| -- (id)init { |
| - statusItem_.reset([[[NSStatusBar systemStatusBar] statusItemWithLength: |
| - NSVariableStatusItemLength] retain]); |
| - CGFloat thickness = [[statusItem_ statusBar] thickness]; |
| - |
| - NSRect frame = NSMakeRect(0, 0, kStatusItemLength, thickness); |
| - if ((self = [super initWithFrame:frame])) { |
| - [statusItem_ setView:self]; |
| - } |
| - return self; |
| -} |
| - |
| -- (void)removeItem { |
| - [[NSStatusBar systemStatusBar] removeStatusItem:statusItem_]; |
| - statusItem_.reset(); |
| -} |
| - |
| -- (size_t)unreadCount { |
| - return unreadCount_; |
| -} |
| - |
| -- (message_center::StatusItemClickedCallback)callback { |
| - return callback_.get(); |
| -} |
| - |
| -- (void)setCallback:(message_center::StatusItemClickedCallback)callback { |
| - callback_.reset(callback, base::scoped_policy::RETAIN); |
| -} |
| - |
| -- (void)setUnreadCount:(size_t)unreadCount withQuietMode:(BOOL)quietMode { |
| - unreadCount_ = unreadCount; |
| - quietMode_ = quietMode; |
| - |
| - NSRect frame = [self frame]; |
| - frame.size.width = kStatusItemLength; |
| - [self setFrame:frame]; |
| - |
| - [self setNeedsDisplay:YES]; |
| -} |
| - |
| -- (void)setHighlight:(BOOL)highlight { |
| - highlight_ = highlight; |
| - [self setNeedsDisplay:YES]; |
| -} |
| - |
| -- (void)mouseDown:(NSEvent*)event { |
| - inMouseEventSequence_ = YES; |
| - [self setNeedsDisplay:YES]; |
| - |
| - if (callback_) |
| - callback_.get()(); |
| -} |
| - |
| -- (void)mouseUp:(NSEvent*)event { |
| - inMouseEventSequence_ = NO; |
| - [self setNeedsDisplay:YES]; |
| -} |
| - |
| -- (void)rightMouseDown:(NSEvent*)event { |
| - [self mouseDown:event]; |
| -} |
| - |
| -- (void)rightMouseUp:(NSEvent*)event { |
| - [self mouseUp:event]; |
| -} |
| - |
| -- (void)otherMouseDown:(NSEvent*)event { |
| - [self mouseDown:event]; |
| -} |
| - |
| -- (void)otherMouseUp:(NSEvent*)event { |
| - [self mouseUp:event]; |
| -} |
| - |
| -- (void)drawRect:(NSRect)dirtyRect { |
| - NSRect frame = [self bounds]; |
| - |
| - // Draw the background color. |
| - BOOL highlight = [self shouldHighlight]; |
| - [statusItem_ drawStatusBarBackgroundInRect:frame |
| - withHighlight:highlight]; |
| - |
| - int resource_id = [self getTrayResourceId]; |
| - // Draw the icon. |
| - ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| - NSImage* image = rb.GetNativeImageNamed(resource_id).ToNSImage(); |
| - NSSize size = [image size]; |
| - NSRect drawRect = NSMakeRect(kMargin, |
| - floorf((NSHeight(frame) - size.height) / 2), |
| - size.width, |
| - size.height); |
| - [image drawInRect:drawRect |
| - fromRect:NSZeroRect |
| - operation:NSCompositeSourceOver |
| - fraction:1.0]; |
| -} |
| - |
| -- (NSArray*)accessibilityActionNames { |
| - return @[ NSAccessibilityPressAction ]; |
| -} |
| - |
| -- (void)accessibilityPerformAction:(NSString*)action { |
| - if ([action isEqualToString:NSAccessibilityPressAction]) { |
| - if (callback_) |
| - callback_.get()(); |
| - return; |
| - } |
| - [super accessibilityPerformAction:action]; |
| -} |
| - |
| -// Private ///////////////////////////////////////////////////////////////////// |
| - |
| -- (BOOL)shouldHighlight { |
| - return highlight_ || inMouseEventSequence_; |
| -} |
| - |
| -- (int)getTrayResourceId { |
| - BOOL highlight = [self shouldHighlight]; |
| - BOOL hasUnreadItems = unreadCount_ > 0; |
| - BOOL dark = NO; |
| - |
| - Class nsAppearanceClass = NSClassFromString(@"NSAppearance"); |
| - if ([self respondsToSelector:@selector(effectiveAppearance)] && |
| - [nsAppearanceClass respondsToSelector:@selector(appearanceNamed:)]) { |
| - id<NSObject> darkAppearance = |
| - [nsAppearanceClass appearanceNamed:NSAppearanceNameVibrantDark]; |
| - dark = [[self effectiveAppearance] isEqual:darkAppearance]; |
| - } |
| - |
| - int kResourceIds[2][2][2][2] = { |
| - { |
| - { |
| - { IDR_TRAY_EMPTY, IDR_TRAY_EMPTY_PRESSED }, |
|
Robert Sesek
2015/09/15 22:07:08
Can we remove these resources too?
dewittj
2015/09/15 22:52:22
Yes!
Done.
|
| - { IDR_TRAY_ATTENTION, IDR_TRAY_ATTENTION_PRESSED }, |
| - }, |
| - { |
| - { IDR_TRAY_DO_NOT_DISTURB_EMPTY, |
| - IDR_TRAY_DO_NOT_DISTURB_EMPTY_PRESSED }, |
| - { IDR_TRAY_DO_NOT_DISTURB_ATTENTION, |
| - IDR_TRAY_DO_NOT_DISTURB_ATTENTION_PRESSED }, |
| - }, |
| - }, |
| - { |
| - { |
| - // We chose not to support the empty version of the pressed |
| - // resource for the dark theme, so we use the same resource |
| - // for both "pressed" options. |
| - { IDR_DARK_TRAY_EMPTY, IDR_DARK_TRAY_PRESSED }, |
| - { IDR_DARK_TRAY_ATTENTION, IDR_DARK_TRAY_PRESSED }, |
| - }, |
| - { |
| - { IDR_DARK_TRAY_DO_NOT_DISTURB_EMPTY, |
| - IDR_DARK_TRAY_DO_NOT_DISTURB_PRESSED }, |
| - { IDR_DARK_TRAY_DO_NOT_DISTURB_ATTENTION, |
| - IDR_DARK_TRAY_DO_NOT_DISTURB_PRESSED }, |
| - }, |
| - } |
| - }; |
| - return kResourceIds[dark][quietMode_][hasUnreadItems][highlight]; |
| -} |
| - |
| -@end |