| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/accelerators/accelerator_controller.h" | 5 #include "ash/accelerators/accelerator_controller.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <iostream> | 9 #include <iostream> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 #include "ash/system/chromeos/keyboard_brightness_controller.h" | 74 #include "ash/system/chromeos/keyboard_brightness_controller.h" |
| 75 #include "base/sys_info.h" | 75 #include "base/sys_info.h" |
| 76 #include "chromeos/ime/input_method_manager.h" | 76 #include "chromeos/ime/input_method_manager.h" |
| 77 #include "chromeos/ime/xkeyboard.h" | 77 #include "chromeos/ime/xkeyboard.h" |
| 78 #endif // defined(OS_CHROMEOS) | 78 #endif // defined(OS_CHROMEOS) |
| 79 | 79 |
| 80 namespace ash { | 80 namespace ash { |
| 81 namespace { | 81 namespace { |
| 82 | 82 |
| 83 using base::UserMetricsAction; | 83 using base::UserMetricsAction; |
| 84 using internal::DisplayInfo; | |
| 85 | 84 |
| 86 bool DebugShortcutsEnabled() { | 85 bool DebugShortcutsEnabled() { |
| 87 #if defined(NDEBUG) | 86 #if defined(NDEBUG) |
| 88 return CommandLine::ForCurrentProcess()->HasSwitch( | 87 return CommandLine::ForCurrentProcess()->HasSwitch( |
| 89 switches::kAshDebugShortcuts); | 88 switches::kAshDebugShortcuts); |
| 90 #else | 89 #else |
| 91 return true; | 90 return true; |
| 92 #endif | 91 #endif |
| 93 } | 92 } |
| 94 | 93 |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 Shell::GetInstance()->new_window_delegate()->RestoreTab(); | 284 Shell::GetInstance()->new_window_delegate()->RestoreTab(); |
| 286 return true; | 285 return true; |
| 287 } | 286 } |
| 288 | 287 |
| 289 bool HandleRotatePaneFocus(Shell::Direction direction) { | 288 bool HandleRotatePaneFocus(Shell::Direction direction) { |
| 290 Shell* shell = Shell::GetInstance(); | 289 Shell* shell = Shell::GetInstance(); |
| 291 switch (direction) { | 290 switch (direction) { |
| 292 // TODO(stevet): Not sure if this is the same as IDC_FOCUS_NEXT_PANE. | 291 // TODO(stevet): Not sure if this is the same as IDC_FOCUS_NEXT_PANE. |
| 293 case Shell::FORWARD: { | 292 case Shell::FORWARD: { |
| 294 base::RecordAction(UserMetricsAction("Accel_Focus_Next_Pane")); | 293 base::RecordAction(UserMetricsAction("Accel_Focus_Next_Pane")); |
| 295 shell->focus_cycler()->RotateFocus(internal::FocusCycler::FORWARD); | 294 shell->focus_cycler()->RotateFocus(FocusCycler::FORWARD); |
| 296 break; | 295 break; |
| 297 } | 296 } |
| 298 case Shell::BACKWARD: { | 297 case Shell::BACKWARD: { |
| 299 base::RecordAction(UserMetricsAction("Accel_Focus_Previous_Pane")); | 298 base::RecordAction(UserMetricsAction("Accel_Focus_Previous_Pane")); |
| 300 shell->focus_cycler()->RotateFocus(internal::FocusCycler::BACKWARD); | 299 shell->focus_cycler()->RotateFocus(FocusCycler::BACKWARD); |
| 301 break; | 300 break; |
| 302 } | 301 } |
| 303 } | 302 } |
| 304 return true; | 303 return true; |
| 305 } | 304 } |
| 306 | 305 |
| 307 // Rotate the active window. | 306 // Rotate the active window. |
| 308 bool HandleRotateActiveWindow() { | 307 bool HandleRotateActiveWindow() { |
| 309 base::RecordAction(UserMetricsAction("Accel_Rotate_Window")); | 308 base::RecordAction(UserMetricsAction("Accel_Rotate_Window")); |
| 310 aura::Window* active_window = wm::GetActiveWindow(); | 309 aura::Window* active_window = wm::GetActiveWindow(); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 gfx::Point point = Shell::GetScreen()->GetCursorScreenPoint(); | 342 gfx::Point point = Shell::GetScreen()->GetCursorScreenPoint(); |
| 344 gfx::Display display = Shell::GetScreen()->GetDisplayNearestPoint(point); | 343 gfx::Display display = Shell::GetScreen()->GetDisplayNearestPoint(point); |
| 345 const DisplayInfo& display_info = | 344 const DisplayInfo& display_info = |
| 346 Shell::GetInstance()->display_manager()->GetDisplayInfo(display.id()); | 345 Shell::GetInstance()->display_manager()->GetDisplayInfo(display.id()); |
| 347 Shell::GetInstance()->display_manager()->SetDisplayRotation( | 346 Shell::GetInstance()->display_manager()->SetDisplayRotation( |
| 348 display.id(), GetNextRotation(display_info.rotation())); | 347 display.id(), GetNextRotation(display_info.rotation())); |
| 349 return true; | 348 return true; |
| 350 } | 349 } |
| 351 | 350 |
| 352 bool HandleScaleReset() { | 351 bool HandleScaleReset() { |
| 353 internal::DisplayManager* display_manager = | 352 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| 354 Shell::GetInstance()->display_manager(); | |
| 355 int64 display_id = display_manager->GetDisplayIdForUIScaling(); | 353 int64 display_id = display_manager->GetDisplayIdForUIScaling(); |
| 356 if (display_id == gfx::Display::kInvalidDisplayID) | 354 if (display_id == gfx::Display::kInvalidDisplayID) |
| 357 return false; | 355 return false; |
| 358 | 356 |
| 359 base::RecordAction(UserMetricsAction("Accel_Scale_Ui_Reset")); | 357 base::RecordAction(UserMetricsAction("Accel_Scale_Ui_Reset")); |
| 360 | 358 |
| 361 display_manager->SetDisplayUIScale(display_id, 1.0f); | 359 display_manager->SetDisplayUIScale(display_id, 1.0f); |
| 362 return true; | 360 return true; |
| 363 } | 361 } |
| 364 | 362 |
| 365 bool HandleScaleUI(bool up) { | 363 bool HandleScaleUI(bool up) { |
| 366 internal::DisplayManager* display_manager = | 364 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| 367 Shell::GetInstance()->display_manager(); | |
| 368 int64 display_id = display_manager->GetDisplayIdForUIScaling(); | 365 int64 display_id = display_manager->GetDisplayIdForUIScaling(); |
| 369 if (display_id == gfx::Display::kInvalidDisplayID) | 366 if (display_id == gfx::Display::kInvalidDisplayID) |
| 370 return false; | 367 return false; |
| 371 | 368 |
| 372 if (up) { | 369 if (up) { |
| 373 base::RecordAction(UserMetricsAction("Accel_Scale_Ui_Up")); | 370 base::RecordAction(UserMetricsAction("Accel_Scale_Ui_Up")); |
| 374 } else { | 371 } else { |
| 375 base::RecordAction(UserMetricsAction("Accel_Scale_Ui_Down")); | 372 base::RecordAction(UserMetricsAction("Accel_Scale_Ui_Down")); |
| 376 } | 373 } |
| 377 | 374 |
| 378 const DisplayInfo& display_info = display_manager->GetDisplayInfo(display_id); | 375 const DisplayInfo& display_info = display_manager->GetDisplayInfo(display_id); |
| 379 float next_scale = | 376 float next_scale = DisplayManager::GetNextUIScale(display_info, up); |
| 380 internal::DisplayManager::GetNextUIScale(display_info, up); | |
| 381 display_manager->SetDisplayUIScale(display_id, next_scale); | 377 display_manager->SetDisplayUIScale(display_id, next_scale); |
| 382 return true; | 378 return true; |
| 383 } | 379 } |
| 384 | 380 |
| 385 bool HandleSwapPrimaryDisplay() { | 381 bool HandleSwapPrimaryDisplay() { |
| 386 base::RecordAction(UserMetricsAction("Accel_Swap_Primary_Display")); | 382 base::RecordAction(UserMetricsAction("Accel_Swap_Primary_Display")); |
| 387 Shell::GetInstance()->display_controller()->SwapPrimaryDisplay(); | 383 Shell::GetInstance()->display_controller()->SwapPrimaryDisplay(); |
| 388 return true; | 384 return true; |
| 389 } | 385 } |
| 390 | 386 |
| 391 bool HandleShowKeyboardOverlay() { | 387 bool HandleShowKeyboardOverlay() { |
| 392 base::RecordAction(UserMetricsAction("Accel_Show_Keyboard_Overlay")); | 388 base::RecordAction(UserMetricsAction("Accel_Show_Keyboard_Overlay")); |
| 393 ash::Shell::GetInstance()->new_window_delegate()->ShowKeyboardOverlay(); | 389 ash::Shell::GetInstance()->new_window_delegate()->ShowKeyboardOverlay(); |
| 394 | 390 |
| 395 return true; | 391 return true; |
| 396 } | 392 } |
| 397 | 393 |
| 398 void HandleShowMessageCenterBubble() { | 394 void HandleShowMessageCenterBubble() { |
| 399 base::RecordAction(UserMetricsAction("Accel_Show_Message_Center_Bubble")); | 395 base::RecordAction(UserMetricsAction("Accel_Show_Message_Center_Bubble")); |
| 400 internal::RootWindowController* controller = | 396 RootWindowController* controller = |
| 401 internal::RootWindowController::ForTargetRootWindow(); | 397 RootWindowController::ForTargetRootWindow(); |
| 402 internal::StatusAreaWidget* status_area_widget = | 398 StatusAreaWidget* status_area_widget = |
| 403 controller->shelf()->status_area_widget(); | 399 controller->shelf()->status_area_widget(); |
| 404 if (status_area_widget) { | 400 if (status_area_widget) { |
| 405 WebNotificationTray* notification_tray = | 401 WebNotificationTray* notification_tray = |
| 406 status_area_widget->web_notification_tray(); | 402 status_area_widget->web_notification_tray(); |
| 407 if (notification_tray->visible()) | 403 if (notification_tray->visible()) |
| 408 notification_tray->ShowMessageCenterBubble(); | 404 notification_tray->ShowMessageCenterBubble(); |
| 409 } | 405 } |
| 410 } | 406 } |
| 411 | 407 |
| 412 bool HandleShowSystemTrayBubble() { | 408 bool HandleShowSystemTrayBubble() { |
| 413 base::RecordAction(UserMetricsAction("Accel_Show_System_Tray_Bubble")); | 409 base::RecordAction(UserMetricsAction("Accel_Show_System_Tray_Bubble")); |
| 414 internal::RootWindowController* controller = | 410 RootWindowController* controller = |
| 415 internal::RootWindowController::ForTargetRootWindow(); | 411 RootWindowController::ForTargetRootWindow(); |
| 416 if (!controller->GetSystemTray()->HasSystemBubble()) { | 412 if (!controller->GetSystemTray()->HasSystemBubble()) { |
| 417 controller->GetSystemTray()->ShowDefaultView(BUBBLE_CREATE_NEW); | 413 controller->GetSystemTray()->ShowDefaultView(BUBBLE_CREATE_NEW); |
| 418 return true; | 414 return true; |
| 419 } | 415 } |
| 420 return false; | 416 return false; |
| 421 } | 417 } |
| 422 | 418 |
| 423 bool HandleShowTaskManager() { | 419 bool HandleShowTaskManager() { |
| 424 base::RecordAction(UserMetricsAction("Accel_Show_Task_Manager")); | 420 base::RecordAction(UserMetricsAction("Accel_Show_Task_Manager")); |
| 425 Shell::GetInstance()->new_window_delegate()->ShowTaskManager(); | 421 Shell::GetInstance()->new_window_delegate()->ShowTaskManager(); |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 switches::kAshEnableTouchViewTesting)) { | 593 switches::kAshEnableTouchViewTesting)) { |
| 598 Shell* shell = Shell::GetInstance(); | 594 Shell* shell = Shell::GetInstance(); |
| 599 shell->EnableMaximizeModeWindowManager( | 595 shell->EnableMaximizeModeWindowManager( |
| 600 !shell->IsMaximizeModeWindowManagerEnabled()); | 596 !shell->IsMaximizeModeWindowManagerEnabled()); |
| 601 return true; | 597 return true; |
| 602 } | 598 } |
| 603 return false; | 599 return false; |
| 604 } | 600 } |
| 605 | 601 |
| 606 bool HandleTouchHudClear() { | 602 bool HandleTouchHudClear() { |
| 607 internal::RootWindowController* controller = | 603 RootWindowController* controller = |
| 608 internal::RootWindowController::ForTargetRootWindow(); | 604 RootWindowController::ForTargetRootWindow(); |
| 609 if (controller->touch_hud_debug()) { | 605 if (controller->touch_hud_debug()) { |
| 610 controller->touch_hud_debug()->Clear(); | 606 controller->touch_hud_debug()->Clear(); |
| 611 return true; | 607 return true; |
| 612 } | 608 } |
| 613 return false; | 609 return false; |
| 614 } | 610 } |
| 615 | 611 |
| 616 bool HandleTouchHudModeChange() { | 612 bool HandleTouchHudModeChange() { |
| 617 internal::RootWindowController* controller = | 613 RootWindowController* controller = |
| 618 internal::RootWindowController::ForTargetRootWindow(); | 614 RootWindowController::ForTargetRootWindow(); |
| 619 if (controller->touch_hud_debug()) { | 615 if (controller->touch_hud_debug()) { |
| 620 controller->touch_hud_debug()->ChangeToNextMode(); | 616 controller->touch_hud_debug()->ChangeToNextMode(); |
| 621 return true; | 617 return true; |
| 622 } | 618 } |
| 623 return false; | 619 return false; |
| 624 } | 620 } |
| 625 | 621 |
| 626 bool HandleTouchHudProjectToggle() { | 622 bool HandleTouchHudProjectToggle() { |
| 627 base::RecordAction(UserMetricsAction("Accel_Touch_Hud_Clear")); | 623 base::RecordAction(UserMetricsAction("Accel_Touch_Hud_Clear")); |
| 628 bool enabled = Shell::GetInstance()->is_touch_hud_projection_enabled(); | 624 bool enabled = Shell::GetInstance()->is_touch_hud_projection_enabled(); |
| (...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1183 keyboard_brightness_control_delegate) { | 1179 keyboard_brightness_control_delegate) { |
| 1184 keyboard_brightness_control_delegate_ = | 1180 keyboard_brightness_control_delegate_ = |
| 1185 keyboard_brightness_control_delegate.Pass(); | 1181 keyboard_brightness_control_delegate.Pass(); |
| 1186 } | 1182 } |
| 1187 | 1183 |
| 1188 bool AcceleratorController::CanHandleAccelerators() const { | 1184 bool AcceleratorController::CanHandleAccelerators() const { |
| 1189 return true; | 1185 return true; |
| 1190 } | 1186 } |
| 1191 | 1187 |
| 1192 } // namespace ash | 1188 } // namespace ash |
| OLD | NEW |