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 |