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

Unified Diff: ash/accelerators/accelerator_controller.cc

Issue 9956056: ash: Add accelerator for snapping windows left/right. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ash/accelerators/accelerator_table.h » ('j') | ash/accelerators/accelerator_table.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/accelerators/accelerator_controller.cc
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index afaaf9a197b536751199db1db9304b925a0dcd73..e0f9b4ce9a052a67606498cdda413580043c01aa 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -21,8 +21,10 @@
#include "ash/system/brightness/brightness_control_delegate.h"
#include "ash/system/tray/system_tray.h"
#include "ash/volume_control_delegate.h"
+#include "ash/wm/property_util.h"
#include "ash/wm/window_cycle_controller.h"
#include "ash/wm/window_util.h"
+#include "ash/wm/workspace/snap_sizer.h"
#include "base/command_line.h"
#include "ui/aura/event.h"
#include "ui/aura/root_window.h"
@@ -388,6 +390,19 @@ bool AcceleratorController::AcceleratorPressed(
if (shell->tray())
return shell->focus_cycler()->FocusWidget(shell->tray()->GetWidget());
break;
+ case SNAP_WINDOW_LEFT:
+ case SNAP_WINDOW_RIGHT: {
+ aura::Window* window = wm::GetActiveWindow();
+ if (!window)
+ break;
+ internal::SnapSizer sizer(window,
+ gfx::Point(),
+ action == SNAP_WINDOW_LEFT ? internal::SnapSizer::LEFT_EDGE :
+ internal::SnapSizer::RIGHT_EDGE,
+ shell->GetGridSize());
+ window->SetBounds(sizer.target_bounds());
+ break;
+ }
case SHOW_OAK:
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshEnableOak))
oak::ShowOakWindow();
« no previous file with comments | « no previous file | ash/accelerators/accelerator_table.h » ('j') | ash/accelerators/accelerator_table.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698