Skip to content

Commit 2bae29f

Browse files
committed
strictly move slider with mouse
1 parent 6d24879 commit 2bae29f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/windows/views/zoom_slider.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ def mousePressEvent(self, event):
220220
self.mouse_pressed = True
221221
self.mouse_dragging = False
222222
self.mouse_position = event.pos().x()
223+
self.scrollbar_position_previous = self.scrollbar_position
223224

224225
# Ignore undo/redo history temporarily (to avoid a huge pile of undo/redo history)
225226
get_app().updates.ignore_history = True
@@ -335,8 +336,8 @@ def mouseMoveEvent(self, event):
335336
elif self.scroll_bar_dragging:
336337
# Update scrollbar position
337338
delta = (self.mouse_position - mouse_pos) / self.width()
338-
new_left_pos = self.scrollbar_position[0] - delta
339-
new_right_pos = self.scrollbar_position[1] - delta
339+
new_left_pos = self.scrollbar_position_previous[0] - delta
340+
new_right_pos = self.scrollbar_position_previous[1] - delta
340341

341342
# Enforce limits (don't allow handles to go past each other, or out of bounds)
342343
new_left_pos, new_right_pos = self.set_handle_limits(new_left_pos, new_right_pos)
@@ -353,7 +354,7 @@ def mouseMoveEvent(self, event):
353354
self.update()
354355

355356
# Update mouse position
356-
self.mouse_position = mouse_pos
357+
# self.mouse_position = mouse_pos
357358

358359
def resizeEvent(self, event):
359360
"""Widget resize event"""
@@ -484,6 +485,7 @@ def __init__(self, *args):
484485
self.mouse_position = None
485486
self.zoom_factor = 15.0
486487
self.scrollbar_position = [0.0, 0.0, 0.0, 0.0]
488+
self.scrollbar_position_previous = [0.0, 0.0, 0.0, 0.0]
487489
self.left_handle_rect = QRectF()
488490
self.left_handle_dragging = False
489491
self.right_handle_rect = QRectF()

0 commit comments

Comments
 (0)