| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "ash/system/cast/tray_cast.h" | 5 #include "ash/system/cast/tray_cast.h" |
| 6 | 6 |
| 7 #include "ash/common/wm/shelf/wm_shelf_util.h" | 7 #include "ash/common/shelf/shelf_types.h" |
| 8 #include "ash/common/shelf/wm_shelf_util.h" |
| 8 #include "ash/session/session_state_delegate.h" | 9 #include "ash/session/session_state_delegate.h" |
| 9 #include "ash/shelf/shelf_types.h" | |
| 10 #include "ash/shelf/shelf_util.h" | 10 #include "ash/shelf/shelf_util.h" |
| 11 #include "ash/shell.h" | 11 #include "ash/shell.h" |
| 12 #include "ash/system/chromeos/screen_security/screen_tray_item.h" | 12 #include "ash/system/chromeos/screen_security/screen_tray_item.h" |
| 13 #include "ash/system/tray/fixed_sized_image_view.h" | 13 #include "ash/system/tray/fixed_sized_image_view.h" |
| 14 #include "ash/system/tray/fixed_sized_scroll_view.h" | 14 #include "ash/system/tray/fixed_sized_scroll_view.h" |
| 15 #include "ash/system/tray/hover_highlight_view.h" | 15 #include "ash/system/tray/hover_highlight_view.h" |
| 16 #include "ash/system/tray/system_tray.h" | 16 #include "ash/system/tray/system_tray.h" |
| 17 #include "ash/system/tray/system_tray_delegate.h" | 17 #include "ash/system/tray/system_tray_delegate.h" |
| 18 #include "ash/system/tray/system_tray_notifier.h" | 18 #include "ash/system/tray/system_tray_notifier.h" |
| 19 #include "ash/system/tray/throbber_view.h" | 19 #include "ash/system/tray/throbber_view.h" |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 } | 332 } |
| 333 | 333 |
| 334 // Exposes an icon in the tray. |TrayCast| manages the visiblity of this. | 334 // Exposes an icon in the tray. |TrayCast| manages the visiblity of this. |
| 335 class CastTrayView : public TrayItemView { | 335 class CastTrayView : public TrayItemView { |
| 336 public: | 336 public: |
| 337 explicit CastTrayView(SystemTrayItem* tray_item); | 337 explicit CastTrayView(SystemTrayItem* tray_item); |
| 338 ~CastTrayView() override; | 338 ~CastTrayView() override; |
| 339 | 339 |
| 340 // Called when the tray alignment changes so that the icon can recenter | 340 // Called when the tray alignment changes so that the icon can recenter |
| 341 // itself. | 341 // itself. |
| 342 void UpdateAlignment(wm::ShelfAlignment alignment); | 342 void UpdateAlignment(ShelfAlignment alignment); |
| 343 | 343 |
| 344 private: | 344 private: |
| 345 DISALLOW_COPY_AND_ASSIGN(CastTrayView); | 345 DISALLOW_COPY_AND_ASSIGN(CastTrayView); |
| 346 }; | 346 }; |
| 347 | 347 |
| 348 CastTrayView::CastTrayView(SystemTrayItem* tray_item) | 348 CastTrayView::CastTrayView(SystemTrayItem* tray_item) |
| 349 : TrayItemView(tray_item) { | 349 : TrayItemView(tray_item) { |
| 350 CreateImageView(); | 350 CreateImageView(); |
| 351 | 351 |
| 352 image_view()->SetImage(ui::ResourceBundle::GetSharedInstance() | 352 image_view()->SetImage(ui::ResourceBundle::GetSharedInstance() |
| 353 .GetImageNamed(IDR_AURA_UBER_TRAY_SCREENSHARE) | 353 .GetImageNamed(IDR_AURA_UBER_TRAY_SCREENSHARE) |
| 354 .ToImageSkia()); | 354 .ToImageSkia()); |
| 355 } | 355 } |
| 356 | 356 |
| 357 CastTrayView::~CastTrayView() { | 357 CastTrayView::~CastTrayView() { |
| 358 } | 358 } |
| 359 | 359 |
| 360 void CastTrayView::UpdateAlignment(wm::ShelfAlignment alignment) { | 360 void CastTrayView::UpdateAlignment(ShelfAlignment alignment) { |
| 361 // Center the item dependent on the orientation of the shelf. | 361 // Center the item dependent on the orientation of the shelf. |
| 362 views::BoxLayout::Orientation layout = wm::IsHorizontalAlignment(alignment) | 362 views::BoxLayout::Orientation layout = IsHorizontalAlignment(alignment) |
| 363 ? views::BoxLayout::kVertical | 363 ? views::BoxLayout::kVertical |
| 364 : views::BoxLayout::kHorizontal; | 364 : views::BoxLayout::kHorizontal; |
| 365 SetLayoutManager(new views::BoxLayout(layout, 0, 0, 0)); | 365 SetLayoutManager(new views::BoxLayout(layout, 0, 0, 0)); |
| 366 Layout(); | 366 Layout(); |
| 367 } | 367 } |
| 368 | 368 |
| 369 // This view displays a list of cast receivers that can be clicked on and casted | 369 // This view displays a list of cast receivers that can be clicked on and casted |
| 370 // to. It is activated by clicking on the chevron inside of | 370 // to. It is activated by clicking on the chevron inside of |
| 371 // |CastSelectDefaultView|. | 371 // |CastSelectDefaultView|. |
| 372 class CastDetailedView : public TrayDetailsView, public ViewClickListener { | 372 class CastDetailedView : public TrayDetailsView, public ViewClickListener { |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 667 if (tray_) | 667 if (tray_) |
| 668 tray_->SetVisible(false); | 668 tray_->SetVisible(false); |
| 669 } | 669 } |
| 670 } | 670 } |
| 671 | 671 |
| 672 void TrayCast::OnCastingSessionStartedOrStopped(bool started) { | 672 void TrayCast::OnCastingSessionStartedOrStopped(bool started) { |
| 673 is_casting_ = started; | 673 is_casting_ = started; |
| 674 UpdatePrimaryView(); | 674 UpdatePrimaryView(); |
| 675 } | 675 } |
| 676 | 676 |
| 677 void TrayCast::UpdateAfterShelfAlignmentChange(wm::ShelfAlignment alignment) { | 677 void TrayCast::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { |
| 678 if (tray_) | 678 if (tray_) |
| 679 tray_->UpdateAlignment(alignment); | 679 tray_->UpdateAlignment(alignment); |
| 680 } | 680 } |
| 681 | 681 |
| 682 } // namespace ash | 682 } // namespace ash |
| OLD | NEW |