Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Side by Side Diff: ash/accelerators/accelerator_controller.cc

Issue 10825002: Separate debug shortcuts into another array in ash accelerator table. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/accelerators/accelerator_controller.h ('k') | ash/accelerators/accelerator_table.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <string> 9 #include <string>
10 10
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 case Shell::BACKWARD: 146 case Shell::BACKWARD:
147 shell->focus_cycler()->RotateFocus(internal::FocusCycler::BACKWARD); 147 shell->focus_cycler()->RotateFocus(internal::FocusCycler::BACKWARD);
148 break; 148 break;
149 } 149 }
150 } 150 }
151 return true; 151 return true;
152 } 152 }
153 153
154 // Rotates the default window container. 154 // Rotates the default window container.
155 bool HandleRotateWindows() { 155 bool HandleRotateWindows() {
156 if (!DebugShortcutsEnabled())
157 return true;
158
159 aura::Window* target = 156 aura::Window* target =
160 Shell::GetPrimaryRootWindowController()->GetContainer( 157 Shell::GetPrimaryRootWindowController()->GetContainer(
161 internal::kShellWindowId_DefaultContainer); 158 internal::kShellWindowId_DefaultContainer);
162 scoped_ptr<ui::LayerAnimationSequence> screen_rotation( 159 scoped_ptr<ui::LayerAnimationSequence> screen_rotation(
163 new ui::LayerAnimationSequence(new ash::ScreenRotation(360))); 160 new ui::LayerAnimationSequence(new ash::ScreenRotation(360)));
164 target->layer()->GetAnimator()->StartAnimation( 161 target->layer()->GetAnimator()->StartAnimation(
165 screen_rotation.release()); 162 screen_rotation.release());
166 return true; 163 return true;
167 } 164 }
168 165
169 // Rotates the screen. 166 // Rotates the screen.
170 bool HandleRotateScreen() { 167 bool HandleRotateScreen() {
171 if (!DebugShortcutsEnabled())
172 return true;
173
174 static int i = 0; 168 static int i = 0;
175 int delta = 0; 169 int delta = 0;
176 switch (i) { 170 switch (i) {
177 case 0: delta = 90; break; 171 case 0: delta = 90; break;
178 case 1: delta = 90; break; 172 case 1: delta = 90; break;
179 case 2: delta = 90; break; 173 case 2: delta = 90; break;
180 case 3: delta = 90; break; 174 case 3: delta = 90; break;
181 case 4: delta = -90; break; 175 case 4: delta = -90; break;
182 case 5: delta = -90; break; 176 case 5: delta = -90; break;
183 case 6: delta = -90; break; 177 case 6: delta = -90; break;
(...skipping 11 matching lines...) Expand all
195 set_preemption_strategy(ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS); 189 set_preemption_strategy(ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS);
196 scoped_ptr<ui::LayerAnimationSequence> screen_rotation( 190 scoped_ptr<ui::LayerAnimationSequence> screen_rotation(
197 new ui::LayerAnimationSequence(new ash::ScreenRotation(delta))); 191 new ui::LayerAnimationSequence(new ash::ScreenRotation(delta)));
198 screen_rotation->AddObserver(root_window); 192 screen_rotation->AddObserver(root_window);
199 root_window->layer()->GetAnimator()-> 193 root_window->layer()->GetAnimator()->
200 StartAnimation(screen_rotation.release()); 194 StartAnimation(screen_rotation.release());
201 return true; 195 return true;
202 } 196 }
203 197
204 bool HandleToggleDesktopBackgroundMode() { 198 bool HandleToggleDesktopBackgroundMode() {
205 if (!DebugShortcutsEnabled())
206 return true;
207
208 DesktopBackgroundController* desktop_background_controller = 199 DesktopBackgroundController* desktop_background_controller =
209 Shell::GetInstance()->desktop_background_controller(); 200 Shell::GetInstance()->desktop_background_controller();
210 if (desktop_background_controller->desktop_background_mode() == 201 if (desktop_background_controller->desktop_background_mode() ==
211 DesktopBackgroundController::BACKGROUND_IMAGE) { 202 DesktopBackgroundController::BACKGROUND_IMAGE) {
212 desktop_background_controller->SetDesktopBackgroundSolidColorMode( 203 desktop_background_controller->SetDesktopBackgroundSolidColorMode(
213 SK_ColorBLACK); 204 SK_ColorBLACK);
214 } else { 205 } else {
215 ash::Shell::GetInstance()->user_wallpaper_delegate()-> 206 ash::Shell::GetInstance()->user_wallpaper_delegate()->
216 InitializeWallpaper(); 207 InitializeWallpaper();
217 } 208 }
218 return true; 209 return true;
219 } 210 }
220 211
221 bool HandleToggleRootWindowFullScreen() { 212 bool HandleToggleRootWindowFullScreen() {
222 if (!DebugShortcutsEnabled())
223 return true;
224
225 Shell::GetPrimaryRootWindow()->ToggleFullScreen(); 213 Shell::GetPrimaryRootWindow()->ToggleFullScreen();
226 return true; 214 return true;
227 } 215 }
228 216
229 // Magnify the screen 217 // Magnify the screen
230 bool HandleMagnifyScreen(int delta_index) { 218 bool HandleMagnifyScreen(int delta_index) {
231 // TODO(yoshiki): Create the class like MagnifierStepScaleController, and 219 // TODO(yoshiki): Create the class like MagnifierStepScaleController, and
232 // move the following scale control to it. 220 // move the following scale control to it.
233 float scale = 221 float scale =
234 ash::Shell::GetInstance()->magnification_controller()->GetScale(); 222 ash::Shell::GetInstance()->magnification_controller()->GetScale();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 actions_allowed_at_lock_screen_.insert( 292 actions_allowed_at_lock_screen_.insert(
305 kActionsAllowedAtLoginOrLockScreen[i]); 293 kActionsAllowedAtLoginOrLockScreen[i]);
306 } 294 }
307 for (size_t i = 0; i < kActionsAllowedAtLockScreenLength; ++i) { 295 for (size_t i = 0; i < kActionsAllowedAtLockScreenLength; ++i) {
308 actions_allowed_at_lock_screen_.insert(kActionsAllowedAtLockScreen[i]); 296 actions_allowed_at_lock_screen_.insert(kActionsAllowedAtLockScreen[i]);
309 } 297 }
310 for (size_t i = 0; i < kReservedActionsLength; ++i) { 298 for (size_t i = 0; i < kReservedActionsLength; ++i) {
311 reserved_actions_.insert(kReservedActions[i]); 299 reserved_actions_.insert(kReservedActions[i]);
312 } 300 }
313 301
314 for (size_t i = 0; i < kAcceleratorDataLength; ++i) { 302 RegisterAccelerators(kAcceleratorData, kAcceleratorDataLength);
315 ui::Accelerator accelerator(kAcceleratorData[i].keycode, 303
316 kAcceleratorData[i].modifiers); 304 if (DebugShortcutsEnabled())
317 accelerator.set_type(kAcceleratorData[i].trigger_on_press ? 305 RegisterAccelerators(kDebugAcceleratorData, kDebugAcceleratorDataLength);
318 ui::ET_KEY_PRESSED : ui::ET_KEY_RELEASED);
319 Register(accelerator, this);
320 accelerators_.insert(
321 std::make_pair(accelerator, kAcceleratorData[i].action));
322 }
323 } 306 }
324 307
325 void AcceleratorController::Register(const ui::Accelerator& accelerator, 308 void AcceleratorController::Register(const ui::Accelerator& accelerator,
326 ui::AcceleratorTarget* target) { 309 ui::AcceleratorTarget* target) {
327 accelerator_manager_->Register(accelerator, 310 accelerator_manager_->Register(accelerator,
328 ui::AcceleratorManager::kNormalPriority, 311 ui::AcceleratorManager::kNormalPriority,
329 target); 312 target);
330 } 313 }
331 314
332 void AcceleratorController::Unregister(const ui::Accelerator& accelerator, 315 void AcceleratorController::Unregister(const ui::Accelerator& accelerator,
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 } 617 }
635 case ROTATE_WINDOWS: 618 case ROTATE_WINDOWS:
636 return HandleRotateWindows(); 619 return HandleRotateWindows();
637 case ROTATE_SCREEN: 620 case ROTATE_SCREEN:
638 return HandleRotateScreen(); 621 return HandleRotateScreen();
639 case TOGGLE_DESKTOP_BACKGROUND_MODE: 622 case TOGGLE_DESKTOP_BACKGROUND_MODE:
640 return HandleToggleDesktopBackgroundMode(); 623 return HandleToggleDesktopBackgroundMode();
641 case TOGGLE_ROOT_WINDOW_FULL_SCREEN: 624 case TOGGLE_ROOT_WINDOW_FULL_SCREEN:
642 return HandleToggleRootWindowFullScreen(); 625 return HandleToggleRootWindowFullScreen();
643 case DISPLAY_ADD_REMOVE: 626 case DISPLAY_ADD_REMOVE:
644 if (DebugShortcutsEnabled()) 627 internal::MultiDisplayManager::AddRemoveDisplay();
645 internal::MultiDisplayManager::AddRemoveDisplay();
646 return true; 628 return true;
647 case DISPLAY_CYCLE: 629 case DISPLAY_CYCLE:
648 if (DebugShortcutsEnabled()) 630 internal::MultiDisplayManager::CycleDisplay();
649 internal::MultiDisplayManager::CycleDisplay();
650 return true; 631 return true;
651 case DISPLAY_TOGGLE_SCALE: 632 case DISPLAY_TOGGLE_SCALE:
652 if (DebugShortcutsEnabled()) 633 internal::MultiDisplayManager::ToggleDisplayScale();
653 internal::MultiDisplayManager::ToggleDisplayScale();
654 return true; 634 return true;
655 case MAGNIFY_SCREEN_ZOOM_IN: 635 case MAGNIFY_SCREEN_ZOOM_IN:
656 return HandleMagnifyScreen(1); 636 return HandleMagnifyScreen(1);
657 case MAGNIFY_SCREEN_ZOOM_OUT: 637 case MAGNIFY_SCREEN_ZOOM_OUT:
658 return HandleMagnifyScreen(-1); 638 return HandleMagnifyScreen(-1);
659 #if !defined(NDEBUG) 639 #if !defined(NDEBUG)
660 case PRINT_LAYER_HIERARCHY: 640 case PRINT_LAYER_HIERARCHY:
661 return HandlePrintLayerHierarchy(); 641 return HandlePrintLayerHierarchy();
662 case PRINT_VIEW_HIERARCHY: 642 case PRINT_VIEW_HIERARCHY:
663 return HandlePrintViewHierarchy(); 643 return HandlePrintViewHierarchy();
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
734 // There are two ways how found_index can be valid: a.) the nth item was 714 // There are two ways how found_index can be valid: a.) the nth item was
735 // found (which is true when indexes_left is -1) or b.) the last item was 715 // found (which is true when indexes_left is -1) or b.) the last item was
736 // requested (which is true when index was passed in as a negative number). 716 // requested (which is true when index was passed in as a negative number).
737 if (found_index >= 0 && (indexes_left == -1 || window < 0) && 717 if (found_index >= 0 && (indexes_left == -1 || window < 0) &&
738 items[found_index].status == ash::STATUS_RUNNING) { 718 items[found_index].status == ash::STATUS_RUNNING) {
739 // Then set this one as active. 719 // Then set this one as active.
740 Shell::GetInstance()->launcher()->ActivateLauncherItem(found_index); 720 Shell::GetInstance()->launcher()->ActivateLauncherItem(found_index);
741 } 721 }
742 } 722 }
743 723
724 void AcceleratorController::RegisterAccelerators(
725 const AcceleratorData accelerators[],
726 size_t accelerators_length) {
727 for (size_t i = 0; i < accelerators_length; ++i) {
728 ui::Accelerator accelerator(accelerators[i].keycode,
729 accelerators[i].modifiers);
730 accelerator.set_type(accelerators[i].trigger_on_press ?
731 ui::ET_KEY_PRESSED : ui::ET_KEY_RELEASED);
732 Register(accelerator, this);
733 accelerators_.insert(
734 std::make_pair(accelerator, accelerators[i].action));
735 }
736 }
737
744 bool AcceleratorController::CanHandleAccelerators() const { 738 bool AcceleratorController::CanHandleAccelerators() const {
745 return true; 739 return true;
746 } 740 }
747 741
748 } // namespace ash 742 } // namespace ash
OLDNEW
« no previous file with comments | « ash/accelerators/accelerator_controller.h ('k') | ash/accelerators/accelerator_table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698