Browse Source

PixelPaint: Hold shift to increase move tool speed with the arrow keys

Holding shift while using the move tool with the arrow keys now moves
the selected layer in 10 pixel increments.
Tim Ledbetter 2 years ago
parent
commit
dd582e4ae3
1 changed files with 6 additions and 6 deletions
  1. 6 6
      Userland/Applications/PixelPaint/Tools/MoveTool.cpp

+ 6 - 6
Userland/Applications/PixelPaint/Tools/MoveTool.cpp

@@ -141,7 +141,7 @@ bool MoveTool::on_keydown(GUI::KeyEvent& event)
     if (m_scaling)
     if (m_scaling)
         return true;
         return true;
 
 
-    if (event.modifiers() != 0)
+    if (!(event.modifiers() == Mod_None || event.modifiers() == Mod_Shift))
         return false;
         return false;
 
 
     auto* layer = m_editor->active_layer();
     auto* layer = m_editor->active_layer();
@@ -149,19 +149,19 @@ bool MoveTool::on_keydown(GUI::KeyEvent& event)
         return false;
         return false;
 
 
     auto new_location = layer->location();
     auto new_location = layer->location();
-
+    auto speed = event.shift() ? 10 : 1;
     switch (event.key()) {
     switch (event.key()) {
     case Key_Up:
     case Key_Up:
-        new_location.translate_by(0, -1);
+        new_location.translate_by(0, -speed);
         break;
         break;
     case Key_Down:
     case Key_Down:
-        new_location.translate_by(0, 1);
+        new_location.translate_by(0, speed);
         break;
         break;
     case Key_Left:
     case Key_Left:
-        new_location.translate_by(-1, 0);
+        new_location.translate_by(-speed, 0);
         break;
         break;
     case Key_Right:
     case Key_Right:
-        new_location.translate_by(1, 0);
+        new_location.translate_by(speed, 0);
         break;
         break;
     default:
     default:
         return false;
         return false;