| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/overview/overview_button_tray.h" | 5 #include "ash/system/overview/overview_button_tray.h" |
| 6 | 6 |
| 7 #include "ash/resources/vector_icons/vector_icons.h" | 7 #include "ash/resources/vector_icons/vector_icons.h" |
| 8 #include "ash/session/session_controller.h" | 8 #include "ash/session/session_controller.h" |
| 9 #include "ash/shelf/shelf_constants.h" | 9 #include "ash/shelf/shelf_constants.h" |
| 10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| 11 #include "ash/shell_port.h" | 11 #include "ash/shell_port.h" |
| 12 #include "ash/strings/grit/ash_strings.h" | 12 #include "ash/strings/grit/ash_strings.h" |
| 13 #include "ash/system/tray/tray_constants.h" | 13 #include "ash/system/tray/tray_constants.h" |
| 14 #include "ash/system/tray/tray_container.h" | 14 #include "ash/system/tray/tray_container.h" |
| 15 #include "ash/wm/maximize_mode/maximize_mode_controller.h" | |
| 16 #include "ash/wm/mru_window_tracker.h" | 15 #include "ash/wm/mru_window_tracker.h" |
| 17 #include "ash/wm/overview/window_selector_controller.h" | 16 #include "ash/wm/overview/window_selector_controller.h" |
| 17 #include "ash/wm/tablet_mode/tablet_mode_controller.h" |
| 18 #include "ui/base/l10n/l10n_util.h" | 18 #include "ui/base/l10n/l10n_util.h" |
| 19 #include "ui/gfx/paint_vector_icon.h" | 19 #include "ui/gfx/paint_vector_icon.h" |
| 20 #include "ui/views/border.h" | 20 #include "ui/views/border.h" |
| 21 #include "ui/views/controls/image_view.h" | 21 #include "ui/views/controls/image_view.h" |
| 22 #include "ui/wm/core/window_util.h" | 22 #include "ui/wm/core/window_util.h" |
| 23 | 23 |
| 24 namespace ash { | 24 namespace ash { |
| 25 | 25 |
| 26 OverviewButtonTray::OverviewButtonTray(Shelf* shelf) | 26 OverviewButtonTray::OverviewButtonTray(Shelf* shelf) |
| 27 : TrayBackgroundView(shelf), | 27 : TrayBackgroundView(shelf), |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 bool performed = controller->ToggleOverview(); | 83 bool performed = controller->ToggleOverview(); |
| 84 ShellPort::Get()->RecordUserMetricsAction(UMA_TRAY_OVERVIEW); | 84 ShellPort::Get()->RecordUserMetricsAction(UMA_TRAY_OVERVIEW); |
| 85 return performed; | 85 return performed; |
| 86 } | 86 } |
| 87 | 87 |
| 88 void OverviewButtonTray::OnSessionStateChanged( | 88 void OverviewButtonTray::OnSessionStateChanged( |
| 89 session_manager::SessionState state) { | 89 session_manager::SessionState state) { |
| 90 UpdateIconVisibility(); | 90 UpdateIconVisibility(); |
| 91 } | 91 } |
| 92 | 92 |
| 93 void OverviewButtonTray::OnMaximizeModeStarted() { | 93 void OverviewButtonTray::OnTabletModeStarted() { |
| 94 UpdateIconVisibility(); | 94 UpdateIconVisibility(); |
| 95 } | 95 } |
| 96 | 96 |
| 97 void OverviewButtonTray::OnMaximizeModeEnded() { | 97 void OverviewButtonTray::OnTabletModeEnded() { |
| 98 UpdateIconVisibility(); | 98 UpdateIconVisibility(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 void OverviewButtonTray::OnOverviewModeStarting() { | 101 void OverviewButtonTray::OnOverviewModeStarting() { |
| 102 SetIsActive(true); | 102 SetIsActive(true); |
| 103 } | 103 } |
| 104 | 104 |
| 105 void OverviewButtonTray::OnOverviewModeEnded() { | 105 void OverviewButtonTray::OnOverviewModeEnded() { |
| 106 SetIsActive(false); | 106 SetIsActive(false); |
| 107 } | 107 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 119 | 119 |
| 120 void OverviewButtonTray::UpdateIconVisibility() { | 120 void OverviewButtonTray::UpdateIconVisibility() { |
| 121 // The visibility of the OverviewButtonTray has diverged from | 121 // The visibility of the OverviewButtonTray has diverged from |
| 122 // WindowSelectorController::CanSelect. The visibility of the button should | 122 // WindowSelectorController::CanSelect. The visibility of the button should |
| 123 // not change during transient times in which CanSelect is false. Such as when | 123 // not change during transient times in which CanSelect is false. Such as when |
| 124 // a modal dialog is present. | 124 // a modal dialog is present. |
| 125 SessionController* session_controller = Shell::Get()->session_controller(); | 125 SessionController* session_controller = Shell::Get()->session_controller(); |
| 126 | 126 |
| 127 Shell* shell = Shell::Get(); | 127 Shell* shell = Shell::Get(); |
| 128 SetVisible( | 128 SetVisible( |
| 129 shell->maximize_mode_controller()->IsMaximizeModeWindowManagerEnabled() && | 129 shell->tablet_mode_controller()->IsTabletModeWindowManagerEnabled() && |
| 130 session_controller->IsActiveUserSessionStarted() && | 130 session_controller->IsActiveUserSessionStarted() && |
| 131 !session_controller->IsScreenLocked() && | 131 !session_controller->IsScreenLocked() && |
| 132 session_controller->GetSessionState() == | 132 session_controller->GetSessionState() == |
| 133 session_manager::SessionState::ACTIVE && | 133 session_manager::SessionState::ACTIVE && |
| 134 !session_controller->IsKioskSession()); | 134 !session_controller->IsKioskSession()); |
| 135 } | 135 } |
| 136 | 136 |
| 137 } // namespace ash | 137 } // namespace ash |
| OLD | NEW |