From 96f041c56c0b5c2372c4fe822aeb10b4dcd5de01 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Thu, 3 Sep 2009 21:19:35 +0000 Subject: [PATCH] Also scroll by a small step, when using the menuscrollers. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32923 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/MenuWindow.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/kits/interface/MenuWindow.cpp b/src/kits/interface/MenuWindow.cpp index 1f042bff2e..a3900699b0 100644 --- a/src/kits/interface/MenuWindow.cpp +++ b/src/kits/interface/MenuWindow.cpp @@ -416,17 +416,22 @@ BMenuWindow::_Scroll(const BPoint& where) ASSERT((fUpperScroller != NULL)); const BPoint cursor = ConvertFromScreen(where); + const BRect &lowerFrame = fLowerScroller->Frame(); + const BRect &upperFrame = fUpperScroller->Frame(); - BRect lowerFrame = fLowerScroller->Frame(); - BRect upperFrame = fUpperScroller->Frame(); - + int32 delta = 0; if (fLowerScroller->IsEnabled() && lowerFrame.Contains(cursor)) - _ScrollBy(1); + delta = 1; else if (fUpperScroller->IsEnabled() && upperFrame.Contains(cursor)) - _ScrollBy(-1); - else + delta = -1; + + if (delta == 0) return false; + float smallStep; + GetSteps(&smallStep, NULL); + _ScrollBy(smallStep * delta); + snooze(5000); return true;