diff options
| author | Andrea Azzarone <azzaronea@gmail.com> | 2013-02-06 00:33:15 +0000 |
|---|---|---|
| committer | Tarmac <> | 2013-02-06 00:33:15 +0000 |
| commit | 6950bee7c6925bd3887634d6081df7b3860ff5a0 (patch) | |
| tree | 13751d20a155e4e6c5496c55cb374bcca3b3beef | |
| parent | 1eb98bb3072321232b192be65d648725cd579c21 (diff) | |
| parent | ee131fe2150034db4521b5f3c45579df34d61a2c (diff) | |
Use Alt + mouse wheel to scroll the launcher.
Approved by Marco Trevisan (TreviƱo). (bzr r3129)
| -rw-r--r-- | launcher/Launcher.cpp | 18 | ||||
| -rw-r--r-- | launcher/Launcher.h | 2 | ||||
| -rw-r--r-- | tests/test_launcher.cpp | 11 |
3 files changed, 22 insertions, 9 deletions
diff --git a/launcher/Launcher.cpp b/launcher/Launcher.cpp index 61d251f9f..5f97d9bf1 100644 --- a/launcher/Launcher.cpp +++ b/launcher/Launcher.cpp @@ -2227,21 +2227,25 @@ void Launcher::RecvMouseMove(int x, int y, int dx, int dy, unsigned long button_ EventLogic(); } -void Launcher::RecvMouseWheel(int x, int y, int wheel_delta, unsigned long button_flags, unsigned long key_flags) +void Launcher::RecvMouseWheel(int /*x*/, int /*y*/, int wheel_delta, unsigned long /*button_flags*/, unsigned long key_flags) { if (!_hovered) return; + bool alt_pressed = nux::GetKeyModifierState(key_flags, nux::NUX_STATE_ALT); + + if (alt_pressed) + ScrollLauncher(wheel_delta); +} + +void Launcher::ScrollLauncher(int wheel_delta) +{ if (wheel_delta < 0) - { - // scroll up + // scroll down _launcher_drag_delta -= 25; - } else - { - // scroll down + // scroll up _launcher_drag_delta += 25; - } EnsureAnimation(); } diff --git a/launcher/Launcher.h b/launcher/Launcher.h index 5b8d2ea09..0d40eb18f 100644 --- a/launcher/Launcher.h +++ b/launcher/Launcher.h @@ -118,6 +118,8 @@ public: virtual void RecvQuicklistOpened(QuicklistView* quicklist); virtual void RecvQuicklistClosed(QuicklistView* quicklist); + void ScrollLauncher(int wheel_delta); + int GetMouseX() const; int GetMouseY() const; diff --git a/tests/test_launcher.cpp b/tests/test_launcher.cpp index 2c36b0cde..0f9257654 100644 --- a/tests/test_launcher.cpp +++ b/tests/test_launcher.cpp @@ -211,12 +211,19 @@ TEST_F(TestLauncher, TestMouseWheelScroll) launcher_->SetHover(true); initial_scroll_delta = launcher_->GetDragDelta(); + unsigned long key_flags = 0; + + launcher_->RecvMouseWheel(0, 0, 20, 0, key_flags); + EXPECT_EQ((launcher_->GetDragDelta()), initial_scroll_delta); + + key_flags |= nux::NUX_STATE_ALT; + // scroll down - launcher_->RecvMouseWheel(0,0,20,0,0); + launcher_->RecvMouseWheel(0, 0, 20, 0, key_flags); EXPECT_EQ((launcher_->GetDragDelta() - initial_scroll_delta), 25); // scroll up - launcher_->RecvMouseWheel(0,0,-20,0,0); + launcher_->RecvMouseWheel(0, 0, -20, 0, key_flags); EXPECT_EQ(launcher_->GetDragDelta(), initial_scroll_delta); launcher_->SetHover(false); |
