Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #import "ui/message_center/cocoa/tray_view_controller.h" | 5 #import "ui/message_center/cocoa/tray_view_controller.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 | 8 |
| 9 #include "base/mac/scoped_nsautorelease_pool.h" | 9 #include "base/mac/scoped_nsautorelease_pool.h" |
| 10 #include "base/time.h" | 10 #include "base/time.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 287 | 287 |
| 288 [[self view] addSubview:[settingsController_ view]]; | 288 [[self view] addSubview:[settingsController_ view]]; |
| 289 | 289 |
| 290 NSRect titleFrame = [title_ frame]; | 290 NSRect titleFrame = [title_ frame]; |
| 291 titleFrame.origin.x = | 291 titleFrame.origin.x = |
| 292 NSMaxX([backButton_ frame]) + message_center::kMarginBetweenItems / 2; | 292 NSMaxX([backButton_ frame]) + message_center::kMarginBetweenItems / 2; |
| 293 [title_ setFrame:titleFrame]; | 293 [title_ setFrame:titleFrame]; |
| 294 [backButton_ setHidden:NO]; | 294 [backButton_ setHidden:NO]; |
| 295 [clearAllButton_ setEnabled:NO]; | 295 [clearAllButton_ setEnabled:NO]; |
| 296 | 296 |
| 297 [scrollView_ setHidden:YES]; | |
| 298 | |
| 297 [[[self view] window] recalculateKeyViewLoop]; | 299 [[[self view] window] recalculateKeyViewLoop]; |
| 298 | 300 |
| 299 [self updateTrayViewAndWindow]; | 301 [self updateTrayViewAndWindow]; |
| 300 } | 302 } |
| 301 | 303 |
| 302 - (void)hideSettings:(id)sender { | 304 - (void)hideSettings:(id)sender { |
| 305 [scrollView_ setHidden:NO]; | |
| 306 | |
| 303 [[settingsController_ view] removeFromSuperview]; | 307 [[settingsController_ view] removeFromSuperview]; |
| 304 settingsController_.reset(); | 308 settingsController_.reset(); |
| 305 | 309 |
| 306 NSRect titleFrame = [title_ frame]; | 310 NSRect titleFrame = [title_ frame]; |
| 307 titleFrame.origin.x = NSMinX([backButton_ frame]); | 311 titleFrame.origin.x = NSMinX([backButton_ frame]); |
| 308 [title_ setFrame:titleFrame]; | 312 [title_ setFrame:titleFrame]; |
| 309 [backButton_ setHidden:YES]; | 313 [backButton_ setHidden:YES]; |
| 310 [clearAllButton_ setEnabled:YES]; | 314 [clearAllButton_ setEnabled:YES]; |
| 311 | 315 |
| 312 [[[self view] window] recalculateKeyViewLoop]; | 316 [[[self view] window] recalculateKeyViewLoop]; |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 406 [backButton_ setDefaultImage: | 410 [backButton_ setDefaultImage: |
| 407 rb.GetNativeImageNamed(IDR_NOTIFICATION_ARROW).ToNSImage()]; | 411 rb.GetNativeImageNamed(IDR_NOTIFICATION_ARROW).ToNSImage()]; |
| 408 [backButton_ setHoverImage: | 412 [backButton_ setHoverImage: |
| 409 rb.GetNativeImageNamed(IDR_NOTIFICATION_ARROW_HOVER).ToNSImage()]; | 413 rb.GetNativeImageNamed(IDR_NOTIFICATION_ARROW_HOVER).ToNSImage()]; |
| 410 [backButton_ setPressedImage: | 414 [backButton_ setPressedImage: |
| 411 rb.GetNativeImageNamed(IDR_NOTIFICATION_ARROW_PRESSED).ToNSImage()]; | 415 rb.GetNativeImageNamed(IDR_NOTIFICATION_ARROW_PRESSED).ToNSImage()]; |
| 412 [backButton_ setAction:@selector(hideSettings:)]; | 416 [backButton_ setAction:@selector(hideSettings:)]; |
| 413 configureButton(backButton_); | 417 configureButton(backButton_); |
| 414 [backButton_ setHidden:YES]; | 418 [backButton_ setHidden:YES]; |
| 415 [backButton_ setKeyEquivalent:@"\e"]; | 419 [backButton_ setKeyEquivalent:@"\e"]; |
| 420 [backButton_ setToolTip:l10n_util::GetNSString( | |
| 421 IDS_MESSAGE_CENTER_SETTINGS_GO_BACK_BUTTON_TOOLTIP)]; | |
| 422 [[backButton_ cell] | |
| 423 accessibilitySetOverrideValue:[backButton_ toolTip] | |
| 424 forAttribute:NSAccessibilityTitleAttribute]; | |
| 416 [[self view] addSubview:backButton_]; | 425 [[self view] addSubview:backButton_]; |
| 417 | 426 |
| 418 // Create the divider line between the control area and the notifications. | 427 // Create the divider line between the control area and the notifications. |
| 419 scoped_nsobject<NSBox> divider( | 428 scoped_nsobject<NSBox> divider( |
| 420 [[NSBox alloc] initWithFrame:NSMakeRect(0, 0, NSWidth([view frame]), 1)]); | 429 [[NSBox alloc] initWithFrame:NSMakeRect(0, 0, NSWidth([view frame]), 1)]); |
| 421 [divider setAutoresizingMask:NSViewMinYMargin]; | 430 [divider setAutoresizingMask:NSViewMinYMargin]; |
| 422 [divider setBorderType:NSNoBorder]; | 431 [divider setBorderType:NSNoBorder]; |
| 423 [divider setBoxType:NSBoxCustom]; | 432 [divider setBoxType:NSBoxCustom]; |
| 424 [divider setContentViewMargins:NSZeroSize]; | 433 [divider setContentViewMargins:NSZeroSize]; |
| 425 [divider setFillColor:gfx::SkColorToCalibratedNSColor( | 434 [divider setFillColor:gfx::SkColorToCalibratedNSColor( |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 444 defaultImage); | 453 defaultImage); |
| 445 settingsButton_.reset( | 454 settingsButton_.reset( |
| 446 [[HoverImageButton alloc] initWithFrame:settingsButtonFrame]); | 455 [[HoverImageButton alloc] initWithFrame:settingsButtonFrame]); |
| 447 [settingsButton_ setDefaultImage:defaultImage]; | 456 [settingsButton_ setDefaultImage:defaultImage]; |
| 448 [settingsButton_ setHoverImage: | 457 [settingsButton_ setHoverImage: |
| 449 rb.GetNativeImageNamed(IDR_NOTIFICATION_SETTINGS_HOVER).ToNSImage()]; | 458 rb.GetNativeImageNamed(IDR_NOTIFICATION_SETTINGS_HOVER).ToNSImage()]; |
| 450 [settingsButton_ setPressedImage: | 459 [settingsButton_ setPressedImage: |
| 451 rb.GetNativeImageNamed(IDR_NOTIFICATION_SETTINGS_PRESSED).ToNSImage()]; | 460 rb.GetNativeImageNamed(IDR_NOTIFICATION_SETTINGS_PRESSED).ToNSImage()]; |
| 452 [settingsButton_ setToolTip: | 461 [settingsButton_ setToolTip: |
| 453 l10n_util::GetNSString(IDS_MESSAGE_CENTER_SETTINGS_BUTTON_LABEL)]; | 462 l10n_util::GetNSString(IDS_MESSAGE_CENTER_SETTINGS_BUTTON_LABEL)]; |
| 463 [[settingsButton_ cell] | |
| 464 accessibilitySetOverrideValue:[settingsButton_ toolTip] | |
| 465 forAttribute:NSAccessibilityTitleAttribute]; | |
|
dmazzoni
2013/06/20 23:05:10
Technically I think you're supposed to use NSAcces
Robert Sesek
2013/06/22 01:56:00
You're right. Thanks for pointing that out. The do
| |
| 454 [settingsButton_ setAction:@selector(showSettings:)]; | 466 [settingsButton_ setAction:@selector(showSettings:)]; |
| 455 configureButton(settingsButton_); | 467 configureButton(settingsButton_); |
| 456 [view addSubview:settingsButton_]; | 468 [view addSubview:settingsButton_]; |
| 457 | 469 |
| 458 // Create the clear all button. | 470 // Create the clear all button. |
| 459 defaultImage = rb.GetNativeImageNamed(IDR_NOTIFICATION_CLEAR_ALL).ToNSImage(); | 471 defaultImage = rb.GetNativeImageNamed(IDR_NOTIFICATION_CLEAR_ALL).ToNSImage(); |
| 460 NSRect clearAllButtonFrame = getButtonFrame( | 472 NSRect clearAllButtonFrame = getButtonFrame( |
| 461 NSMinX(settingsButtonFrame) - kButtonXMargin, | 473 NSMinX(settingsButtonFrame) - kButtonXMargin, |
| 462 defaultImage); | 474 defaultImage); |
| 463 clearAllButton_.reset( | 475 clearAllButton_.reset( |
| 464 [[HoverImageButton alloc] initWithFrame:clearAllButtonFrame]); | 476 [[HoverImageButton alloc] initWithFrame:clearAllButtonFrame]); |
| 465 [clearAllButton_ setDefaultImage:defaultImage]; | 477 [clearAllButton_ setDefaultImage:defaultImage]; |
| 466 [clearAllButton_ setHoverImage: | 478 [clearAllButton_ setHoverImage: |
| 467 rb.GetNativeImageNamed(IDR_NOTIFICATION_CLEAR_ALL_HOVER).ToNSImage()]; | 479 rb.GetNativeImageNamed(IDR_NOTIFICATION_CLEAR_ALL_HOVER).ToNSImage()]; |
| 468 [clearAllButton_ setPressedImage: | 480 [clearAllButton_ setPressedImage: |
| 469 rb.GetNativeImageNamed(IDR_NOTIFICATION_CLEAR_ALL_PRESSED).ToNSImage()]; | 481 rb.GetNativeImageNamed(IDR_NOTIFICATION_CLEAR_ALL_PRESSED).ToNSImage()]; |
| 470 [clearAllButton_ setToolTip: | 482 [clearAllButton_ setToolTip: |
| 471 l10n_util::GetNSString(IDS_MESSAGE_CENTER_CLEAR_ALL)]; | 483 l10n_util::GetNSString(IDS_MESSAGE_CENTER_CLEAR_ALL)]; |
| 484 [[clearAllButton_ cell] | |
| 485 accessibilitySetOverrideValue:[clearAllButton_ toolTip] | |
| 486 forAttribute:NSAccessibilityTitleAttribute]; | |
| 472 [clearAllButton_ setAction:@selector(clearAllNotifications:)]; | 487 [clearAllButton_ setAction:@selector(clearAllNotifications:)]; |
| 473 configureButton(clearAllButton_); | 488 configureButton(clearAllButton_); |
| 474 [view addSubview:clearAllButton_]; | 489 [view addSubview:clearAllButton_]; |
| 475 | 490 |
| 476 // Create the pause button. | 491 // Create the pause button. |
| 477 defaultImage = rb.GetNativeImageNamed(IDR_NOTIFICATION_PAUSE).ToNSImage(); | 492 defaultImage = rb.GetNativeImageNamed(IDR_NOTIFICATION_PAUSE).ToNSImage(); |
| 478 NSRect pauseButtonFrame = getButtonFrame( | 493 NSRect pauseButtonFrame = getButtonFrame( |
| 479 NSMinX(clearAllButtonFrame) - kButtonXMargin, | 494 NSMinX(clearAllButtonFrame) - kButtonXMargin, |
| 480 defaultImage); | 495 defaultImage); |
| 481 pauseButton_.reset([[HoverImageButton alloc] initWithFrame:pauseButtonFrame]); | 496 pauseButton_.reset([[HoverImageButton alloc] initWithFrame:pauseButtonFrame]); |
| 482 [pauseButton_ setDefaultImage:defaultImage]; | 497 [pauseButton_ setDefaultImage:defaultImage]; |
| 483 [pauseButton_ setHoverImage: | 498 [pauseButton_ setHoverImage: |
| 484 rb.GetNativeImageNamed(IDR_NOTIFICATION_PAUSE_HOVER).ToNSImage()]; | 499 rb.GetNativeImageNamed(IDR_NOTIFICATION_PAUSE_HOVER).ToNSImage()]; |
| 485 [pauseButton_ setPressedImage: | 500 [pauseButton_ setPressedImage: |
| 486 rb.GetNativeImageNamed(IDR_NOTIFICATION_PAUSE_PRESSED).ToNSImage()]; | 501 rb.GetNativeImageNamed(IDR_NOTIFICATION_PAUSE_PRESSED).ToNSImage()]; |
| 487 [pauseButton_ setToolTip: | 502 [pauseButton_ setToolTip: |
| 488 l10n_util::GetNSString(IDS_MESSAGE_CENTER_QUIET_MODE_BUTTON_TOOLTIP)]; | 503 l10n_util::GetNSString(IDS_MESSAGE_CENTER_QUIET_MODE_BUTTON_TOOLTIP)]; |
| 504 [[pauseButton_ cell] | |
| 505 accessibilitySetOverrideValue:[pauseButton_ toolTip] | |
| 506 forAttribute:NSAccessibilityTitleAttribute]; | |
| 489 [pauseButton_ setAction:@selector(toggleQuietMode:)]; | 507 [pauseButton_ setAction:@selector(toggleQuietMode:)]; |
| 490 configureButton(pauseButton_); | 508 configureButton(pauseButton_); |
| 491 [view addSubview:pauseButton_]; | 509 [view addSubview:pauseButton_]; |
| 492 } | 510 } |
| 493 | 511 |
| 494 - (void)updateTrayViewAndWindow { | 512 - (void)updateTrayViewAndWindow { |
| 495 CGFloat scrollContentHeight = 0; | 513 CGFloat scrollContentHeight = 0; |
| 496 if ([notifications_ count]) { | 514 if ([notifications_ count]) { |
| 497 scrollContentHeight = NSMaxY([[[notifications_ lastObject] view] frame]) + | 515 scrollContentHeight = NSMaxY([[[notifications_ lastObject] view] frame]) + |
| 498 message_center::kMarginBetweenItems;; | 516 message_center::kMarginBetweenItems;; |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 711 | 729 |
| 712 [pauseButton_ setEnabled:YES]; | 730 [pauseButton_ setEnabled:YES]; |
| 713 [clearAllButton_ setEnabled:YES]; | 731 [clearAllButton_ setEnabled:YES]; |
| 714 [settingsButton_ setEnabled:YES]; | 732 [settingsButton_ setEnabled:YES]; |
| 715 [clipView_ setFrozen:NO]; | 733 [clipView_ setFrozen:NO]; |
| 716 | 734 |
| 717 messageCenter_->RemoveAllNotifications(true); | 735 messageCenter_->RemoveAllNotifications(true); |
| 718 } | 736 } |
| 719 | 737 |
| 720 @end | 738 @end |
| OLD | NEW |