@@ -297,10 +297,15 @@ def mouseMoveEvent(self, event):
297
297
delta = (self .mouse_position - mouse_pos ) / self .width ()
298
298
new_left_pos = self .scrollbar_position_previous [0 ] - delta
299
299
is_left = True
300
- if int (QCoreApplication .instance ().keyboardModifiers () & Qt .ShiftModifier ) > 0 and \
301
- (self .scrollbar_position_previous [1 ] + delta ) - new_left_pos > self .min_distance :
302
- # SHIFT key pressed (move both handles if we don't exceed min distance)
303
- new_right_pos = self .scrollbar_position_previous [1 ] + delta
300
+ if int (QCoreApplication .instance ().keyboardModifiers () & Qt .ShiftModifier ) > 0 :
301
+ # SHIFT key pressed (move )
302
+ if (self .scrollbar_position_previous [1 ] + delta ) - new_left_pos > self .min_distance :
303
+ #both handles if we don't exceed min distance
304
+ new_right_pos = self .scrollbar_position_previous [1 ] + delta
305
+ else :
306
+ midpoint = (self .scrollbar_position_previous [1 ] + self .scrollbar_position_previous )/ 2
307
+ new_right_pos = midpoint + (self .min_distance / 2 )
308
+ new_left_pos = midpoint - (self .min_distance / 2 )
304
309
else :
305
310
new_right_pos = self .scrollbar_position_previous [1 ]
306
311
@@ -317,10 +322,15 @@ def mouseMoveEvent(self, event):
317
322
delta = (self .mouse_position - mouse_pos ) / self .width ()
318
323
is_left = False
319
324
new_right_pos = self .scrollbar_position_previous [1 ] - delta
320
- if int (QCoreApplication .instance ().keyboardModifiers () & Qt .ShiftModifier ) > 0 and \
321
- new_right_pos - (self .scrollbar_position_previous [0 ] + delta ) > self .min_distance :
322
- # SHIFT key pressed (move both handles if we don't exceed min distance)
323
- new_left_pos = self .scrollbar_position_previous [0 ] + delta
325
+ if int (QCoreApplication .instance ().keyboardModifiers () & Qt .ShiftModifier ) > 0 :
326
+ # SHIFT key pressed (move )
327
+ if new_right_pos - (self .scrollbar_position_previous [0 ] + delta ) > self .min_distance :
328
+ #both handles if we don't exceed min distance
329
+ new_left_pos = self .scrollbar_position_previous [0 ] + delta
330
+ else :
331
+ midpoint = (self .scrollbar_position_previous [1 ] + self .scrollbar_position_previous )/ 2
332
+ new_right_pos = midpoint + (self .min_distance / 2 )
333
+ new_left_pos = midpoint - (self .min_distance / 2 )
324
334
else :
325
335
new_left_pos = self .scrollbar_position_previous [0 ]
326
336
0 commit comments