[pitivi] ruler: Show a tooltip with the time and frame number on hover
- From: Jean-FranÃois Fortin Tam <jfft src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] ruler: Show a tooltip with the time and frame number on hover
- Date: Wed, 30 May 2012 16:08:55 +0000 (UTC)
commit 56c0b9a55cbf47c60c65f136432ca5f8a67611d0
Author: Jean-FranÃois Fortin Tam <nekohayo gmail com>
Date: Wed May 30 11:33:32 2012 -0400
ruler: Show a tooltip with the time and frame number on hover
pitivi/timeline/ruler.py | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/pitivi/timeline/ruler.py b/pitivi/timeline/ruler.py
index 85a410d..0366fcc 100644
--- a/pitivi/timeline/ruler.py
+++ b/pitivi/timeline/ruler.py
@@ -28,11 +28,12 @@ import gtk
import gst
import cairo
+from gettext import gettext as _
+
from pitivi.utils.pipeline import Seeker
from pitivi.utils.timeline import Zoomable
from pitivi.utils.loggable import Loggable
-
-from pitivi.utils.ui import time_to_string
+from pitivi.utils.ui import time_to_string, beautify_length
def setCairoColor(cr, color):
@@ -138,10 +139,14 @@ class ScaleRuler(gtk.DrawingArea, Zoomable, Loggable):
return False
def do_motion_notify_event(self, event):
+ position = self.pixelToNs(event.x + self.pixbuf_offset)
if self.pressed:
self.debug("motion at event.x %d", event.x)
- position = self.pixelToNs(event.x + self.pixbuf_offset)
self._seeker.seek(position)
+ else:
+ human_time = beautify_length(position)
+ cur_frame = int(position / self.ns_per_frame) + 1
+ self.set_tooltip_text(human_time + "\n" + _("Frame #%d" % cur_frame))
return False
def do_scroll_event(self, event):
@@ -204,6 +209,7 @@ class ScaleRuler(gtk.DrawingArea, Zoomable, Loggable):
Set the lowest scale based on project framerate
"""
self.frame_rate = rate
+ self.ns_per_frame = float(1 / self.frame_rate) * gst.SECOND
self.scale[0] = float(2 / rate)
self.scale[1] = float(5 / rate)
self.scale[2] = float(10 / rate)
@@ -279,8 +285,7 @@ class ScaleRuler(gtk.DrawingArea, Zoomable, Loggable):
seconds += interval
def drawFrameBoundaries(self, cr):
- ns_per_frame = float(1 / self.frame_rate) * gst.SECOND
- frame_width = self.nsToPixel(ns_per_frame)
+ frame_width = self.nsToPixel(self.ns_per_frame)
if frame_width >= self.min_frame_spacing:
offset = self.pixbuf_offset % frame_width
paintpos = -frame_width + 0.5
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]