[pitivi/gtktimeline] timeline: Scroll to the mouse pointer when scrolling with the mouse
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi/gtktimeline] timeline: Scroll to the mouse pointer when scrolling with the mouse
- Date: Mon, 11 May 2015 08:17:56 +0000 (UTC)
commit d108cdf03cd3f25dd188718b6102b5d4b99c43aa
Author: Thibault Saunier <tsaunier gnome org>
Date: Mon May 11 10:16:54 2015 +0200
timeline: Scroll to the mouse pointer when scrolling with the mouse
Fixes T57
pitivi/timeline/timeline.py | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index 400c777..4087fdb 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -495,12 +495,25 @@ class Timeline(Gtk.EventBox, timelineUtils.Zoomable, Loggable):
elif delta_y < 0:
self.parent.scroll_up()
elif event.get_state() & Gdk.ModifierType.CONTROL_MASK:
+ event_widget = self.get_event_widget(event)
+ x, unused_y = event_widget.translate_coordinates(self, event.x, event.y)
+ x -= CONTROL_WIDTH
+ mouse_position = self.pixelToNs(x + self.hadj.get_value())
+
+ rescroll = False
if delta_y > 0:
+ rescroll = True
timelineUtils.Zoomable.zoomOut()
self.queue_draw()
elif delta_y < 0:
+ rescroll = True
timelineUtils.Zoomable.zoomIn()
self.queue_draw()
+
+ if rescroll:
+ diff = x - (self.layout.get_allocation().width / 2)
+ self.hadj.set_value(self.nsToPixel(mouse_position) - (self.layout.get_allocation().width /
2) - diff)
+
return False
def __buttonPressEventCb(self, unused_widget, event):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]