Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #include "ash/common/wm/overview/window_selector_item.h" | 5 #include "ash/common/wm/overview/window_selector_item.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "ash/common/material_design/material_design_controller.h" | 10 #include "ash/common/material_design/material_design_controller.h" |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 434 transform_window_.window()); | 434 transform_window_.window()); |
| 435 } | 435 } |
| 436 } | 436 } |
| 437 if (background_view_) { | 437 if (background_view_) { |
| 438 background_view_->OnItemRestored(); | 438 background_view_->OnItemRestored(); |
| 439 background_view_ = nullptr; | 439 background_view_ = nullptr; |
| 440 } | 440 } |
| 441 FadeOut(std::move(window_label_)); | 441 FadeOut(std::move(window_label_)); |
| 442 } | 442 } |
| 443 | 443 |
| 444 void WindowSelectorItem::ShowWindowOnExit() { | |
| 445 transform_window_.ShowWindowOnExit(); | |
| 446 } | |
| 447 | |
| 448 void WindowSelectorItem::PrepareForOverview() { | 444 void WindowSelectorItem::PrepareForOverview() { |
| 449 transform_window_.PrepareForOverview(); | 445 transform_window_.PrepareForOverview(); |
| 450 UpdateHeaderLayout(HeaderFadeInMode::ENTER, | 446 UpdateHeaderLayout(HeaderFadeInMode::ENTER, |
| 451 OverviewAnimationType::OVERVIEW_ANIMATION_NONE); | 447 OverviewAnimationType::OVERVIEW_ANIMATION_NONE); |
| 452 } | 448 } |
| 453 | 449 |
| 454 bool WindowSelectorItem::Contains(const WmWindow* target) const { | 450 bool WindowSelectorItem::Contains(const WmWindow* target) const { |
| 455 return transform_window_.Contains(target); | 451 return transform_window_.Contains(target); |
| 456 } | 452 } |
| 457 | 453 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 509 // Fade out the window and the label, effectively hiding them. | 505 // Fade out the window and the label, effectively hiding them. |
| 510 AnimateOpacity(0.0, | 506 AnimateOpacity(0.0, |
| 511 OverviewAnimationType::OVERVIEW_ANIMATION_CLOSE_SELECTOR_ITEM); | 507 OverviewAnimationType::OVERVIEW_ANIMATION_CLOSE_SELECTOR_ITEM); |
| 512 transform_window_.Close(); | 508 transform_window_.Close(); |
| 513 } | 509 } |
| 514 | 510 |
| 515 void WindowSelectorItem::HideHeader() { | 511 void WindowSelectorItem::HideHeader() { |
| 516 transform_window_.HideHeader(); | 512 transform_window_.HideHeader(); |
| 517 } | 513 } |
| 518 | 514 |
| 515 void WindowSelectorItem::OnMinimizedStateChanged() { | |
| 516 transform_window_.UpdateMirrorWindowForMinimizedState(); | |
| 517 } | |
| 518 | |
| 519 void WindowSelectorItem::SetDimmed(bool dimmed) { | 519 void WindowSelectorItem::SetDimmed(bool dimmed) { |
| 520 dimmed_ = dimmed; | 520 dimmed_ = dimmed; |
| 521 SetOpacity(dimmed ? kDimmedItemOpacity : 1.0f); | 521 SetOpacity(dimmed ? kDimmedItemOpacity : 1.0f); |
| 522 } | 522 } |
| 523 | 523 |
| 524 void WindowSelectorItem::ButtonPressed(views::Button* sender, | 524 void WindowSelectorItem::ButtonPressed(views::Button* sender, |
| 525 const ui::Event& event) { | 525 const ui::Event& event) { |
| 526 if (sender == close_button_) { | 526 if (sender == close_button_) { |
| 527 WmShell::Get()->RecordUserMetricsAction(UMA_WINDOW_OVERVIEW_CLOSE_BUTTON); | 527 WmShell::Get()->RecordUserMetricsAction(UMA_WINDOW_OVERVIEW_CLOSE_BUTTON); |
| 528 CloseWindow(); | 528 CloseWindow(); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 616 // |background_view_| will get added as a child to CaptionContainerView. | 616 // |background_view_| will get added as a child to CaptionContainerView. |
| 617 views::Widget::InitParams params_label; | 617 views::Widget::InitParams params_label; |
| 618 params_label.type = views::Widget::InitParams::TYPE_POPUP; | 618 params_label.type = views::Widget::InitParams::TYPE_POPUP; |
| 619 params_label.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 619 params_label.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
| 620 params_label.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; | 620 params_label.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; |
| 621 params_label.visible_on_all_workspaces = true; | 621 params_label.visible_on_all_workspaces = true; |
| 622 params_label.name = "OverviewModeLabel"; | 622 params_label.name = "OverviewModeLabel"; |
| 623 params_label.activatable = | 623 params_label.activatable = |
| 624 views::Widget::InitParams::Activatable::ACTIVATABLE_DEFAULT; | 624 views::Widget::InitParams::Activatable::ACTIVATABLE_DEFAULT; |
| 625 params_label.accept_events = true; | 625 params_label.accept_events = true; |
| 626 window_label_.reset(new views::Widget); | |
|
varkha
2016/11/08 00:02:56
I guess this would not work with mus. Thanks for p
| |
| 626 root_window_->GetRootWindowController() | 627 root_window_->GetRootWindowController() |
| 627 ->ConfigureWidgetInitParamsForContainer( | 628 ->ConfigureWidgetInitParamsForContainer( |
| 628 window_label_.get(), | 629 window_label_.get(), |
| 629 transform_window_.window()->GetParent()->GetShellWindowId(), | 630 transform_window_.window()->GetParent()->GetShellWindowId(), |
| 630 ¶ms_label); | 631 ¶ms_label); |
| 631 window_label_.reset(new views::Widget); | |
| 632 window_label_->set_focus_on_creation(false); | 632 window_label_->set_focus_on_creation(false); |
| 633 window_label_->Init(params_label); | 633 window_label_->Init(params_label); |
| 634 window_label_button_view_ = new OverviewLabelButton(this, title); | 634 window_label_button_view_ = new OverviewLabelButton(this, title); |
| 635 window_label_button_view_->SetBorder(views::Border::NullBorder()); | 635 window_label_button_view_->SetBorder(views::Border::NullBorder()); |
| 636 window_label_button_view_->SetEnabledTextColors(kLabelColor); | 636 window_label_button_view_->SetEnabledTextColors(kLabelColor); |
| 637 window_label_button_view_->set_animate_on_state_change(false); | 637 window_label_button_view_->set_animate_on_state_change(false); |
| 638 WmWindow* label_window = | 638 WmWindow* label_window = |
| 639 WmLookup::Get()->GetWindowForWidget(window_label_.get()); | 639 WmLookup::Get()->GetWindowForWidget(window_label_.get()); |
| 640 if (transform_window_.GetTopInset()) { | 640 if (transform_window_.GetTopInset()) { |
| 641 // For windows with headers the overview header fades in above the | 641 // For windows with headers the overview header fades in above the |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 780 animation_settings->AddObserver(observer.get()); | 780 animation_settings->AddObserver(observer.get()); |
| 781 window_selector_->delegate()->AddDelayedAnimationObserver( | 781 window_selector_->delegate()->AddDelayedAnimationObserver( |
| 782 std::move(observer)); | 782 std::move(observer)); |
| 783 widget_ptr->SetOpacity(0.f); | 783 widget_ptr->SetOpacity(0.f); |
| 784 } | 784 } |
| 785 | 785 |
| 786 gfx::SlideAnimation* WindowSelectorItem::GetBackgroundViewAnimation() { | 786 gfx::SlideAnimation* WindowSelectorItem::GetBackgroundViewAnimation() { |
| 787 return background_view_ ? background_view_->animation() : nullptr; | 787 return background_view_ ? background_view_->animation() : nullptr; |
| 788 } | 788 } |
| 789 | 789 |
| 790 WmWindow* WindowSelectorItem::GetOverviewWindowForMinimizedStateForTest() { | |
| 791 return transform_window_.GetOverviewWindowForMinimizedState(); | |
| 792 } | |
| 793 | |
| 790 } // namespace ash | 794 } // namespace ash |
| OLD | NEW |