[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 24df0273e9: Make Haiku scroll bar behave more like other programs
From: |
Po Lu |
Subject: |
master 24df0273e9: Make Haiku scroll bar behave more like other programs |
Date: |
Thu, 14 Apr 2022 22:38:59 -0400 (EDT) |
branch: master
commit 24df0273e926b499445daa7d4ad90cc6f73e3a15
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Make Haiku scroll bar behave more like other programs
* haiku_support.cc (class EmacsScrollBar): New field
`repeater_start'.
(Pulse): Wait for time to pass repeater_delay.
(MouseDown): Set it to the current time + the system repeater
delay.
---
src/haiku_support.cc | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/haiku_support.cc b/src/haiku_support.cc
index 0642dbacff..d92e3d95ac 100644
--- a/src/haiku_support.cc
+++ b/src/haiku_support.cc
@@ -1787,6 +1787,7 @@ public:
int last_reported_overscroll_value;
int max_value, real_max_value;
int overscroll_start_value;
+ bigtime_t repeater_start;
EmacsScrollBar (int x, int y, int x1, int y1, bool horizontal_p) :
BScrollBar (BRect (x, y, x1, y1), NULL, NULL, 0, 0, horizontal_p ?
@@ -1874,14 +1875,17 @@ public:
return;
}
- GetMouse (&point, &buttons, false);
-
- if (ButtonRegionFor (current_part).Contains (point))
+ if (repeater_start < system_time ())
{
- rq.scroll_bar = this;
- rq.window = Window ();
- rq.part = current_part;
- haiku_write (SCROLL_BAR_PART_EVENT, &rq);
+ GetMouse (&point, &buttons, false);
+
+ if (ButtonRegionFor (current_part).Contains (point))
+ {
+ rq.scroll_bar = this;
+ rq.window = Window ();
+ rq.part = current_part;
+ haiku_write (SCROLL_BAR_PART_EVENT, &rq);
+ }
}
BScrollBar::Pulse ();
@@ -2015,6 +2019,8 @@ public:
return;
}
+ repeater_start = system_time () + 300000;
+
if (buttons == B_PRIMARY_MOUSE_BUTTON)
{
r = ButtonRegionFor (HAIKU_SCROLL_BAR_UP_BUTTON);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 24df0273e9: Make Haiku scroll bar behave more like other programs,
Po Lu <=