Index: ash/common/accelerators/accelerator_controller.cc |
diff --git a/ash/common/accelerators/accelerator_controller.cc b/ash/common/accelerators/accelerator_controller.cc |
index 3205199b9bb1220f404e9edd7f117d09728b4568..030f15781cd28d0b232bcf77492b6d232d59ef66 100644 |
--- a/ash/common/accelerators/accelerator_controller.cc |
+++ b/ash/common/accelerators/accelerator_controller.cc |
@@ -15,9 +15,11 @@ |
#include "ash/common/multi_profile_uma.h" |
#include "ash/common/new_window_delegate.h" |
#include "ash/common/session/session_state_delegate.h" |
+#include "ash/common/shelf/wm_shelf.h" |
#include "ash/common/shell_delegate.h" |
#include "ash/common/system/brightness_control_delegate.h" |
#include "ash/common/system/keyboard_brightness_control_delegate.h" |
+#include "ash/common/system/status_area_widget.h" |
#include "ash/common/system/tray/system_tray_delegate.h" |
#include "ash/common/system/tray/system_tray_notifier.h" |
#include "ash/common/system/volume_control_delegate.h" |
@@ -27,6 +29,7 @@ |
#include "ash/common/wm/window_positioning_utils.h" |
#include "ash/common/wm/window_state.h" |
#include "ash/common/wm/wm_event.h" |
+#include "ash/common/wm_root_window_controller.h" |
#include "ash/common/wm_shell.h" |
#include "ash/common/wm_window.h" |
#include "base/metrics/histogram_macros.h" |
@@ -36,6 +39,9 @@ |
#include "ui/keyboard/keyboard_controller.h" |
#if defined(OS_CHROMEOS) |
+#include "ash/common/palette_delegate.h" |
+#include "ash/common/system/chromeos/palette/palette_tray.h" |
+#include "ash/common/system/chromeos/palette/palette_utils.h" |
#include "chromeos/dbus/dbus_thread_manager.h" |
#include "chromeos/dbus/power_manager_client.h" |
#include "ui/base/ime/chromeos/ime_keyboard.h" |
@@ -337,6 +343,21 @@ void HandleLock() { |
WmShell::Get()->GetSessionStateDelegate()->LockScreen(); |
} |
+void HandleShowStylusTools() { |
+ base::RecordAction(UserMetricsAction("Accel_Show_Stylus_Tools")); |
+ |
+ WmRootWindowController* root_window_controller = |
+ WmShell::Get()->GetRootWindowForNewWindows()->GetRootWindowController(); |
+ PaletteTray* palette_tray = |
+ root_window_controller->GetShelf()->GetStatusAreaWidget()->palette_tray(); |
+ palette_tray->ShowPalette(); |
+} |
+ |
+bool CanHandleShowStylusTools() { |
+ return WmShell::Get()->palette_delegate() && |
+ WmShell::Get()->palette_delegate()->ShouldShowPalette(); |
+} |
+ |
void HandleSuspend() { |
base::RecordAction(UserMetricsAction("Accel_Suspend")); |
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestSuspend(); |
@@ -689,6 +710,8 @@ bool AcceleratorController::CanPerformAction( |
return CanHandleDisableCapsLock(previous_accelerator); |
case LOCK_SCREEN: |
return CanHandleLock(); |
+ case SHOW_STYLUS_TOOLS: |
+ return CanHandleShowStylusTools(); |
case SWITCH_TO_PREVIOUS_USER: |
case SWITCH_TO_NEXT_USER: |
return CanHandleCycleUser(); |
@@ -886,6 +909,9 @@ void AcceleratorController::PerformAction(AcceleratorAction action, |
case OPEN_GET_HELP: |
HandleGetHelp(); |
break; |
+ case SHOW_STYLUS_TOOLS: |
+ HandleShowStylusTools(); |
+ break; |
case SUSPEND: |
HandleSuspend(); |
break; |