pitivi r1136 - in branches/SOC_2008_BLEWIS: . pitivi/ui



Author: blewis
Date: Tue Jun  3 02:34:46 2008
New Revision: 1136
URL: http://svn.gnome.org/viewvc/pitivi?rev=1136&view=rev

Log:
* pitivi/ui/timelineobjects.py:
TimelineList class now emits edit-me signal, so that SimpleTimeline
can catch the signal and switch to editing mode.
SimpleTimeline now displays the editing widget at the correct size.
Hooray! PiTiVi works again!


Modified:
   branches/SOC_2008_BLEWIS/ChangeLog
   branches/SOC_2008_BLEWIS/pitivi/ui/timelineobjects.py

Modified: branches/SOC_2008_BLEWIS/pitivi/ui/timelineobjects.py
==============================================================================
--- branches/SOC_2008_BLEWIS/pitivi/ui/timelineobjects.py	(original)
+++ branches/SOC_2008_BLEWIS/pitivi/ui/timelineobjects.py	Tue Jun  3 02:34:46 2008
@@ -73,7 +73,14 @@
     return "%02d:%02d:%02d.%03d" % (hours, mins, sec, ms)
 
 class TimelineList(HList):
-    
+    __gtype_name__ = 'TimelineList'
+
+    __gsignals__ = {
+        'edit-me' : (gobject.SIGNAL_RUN_LAST,
+                     gobject.TYPE_NONE,
+                     (gobject.TYPE_PYOBJECT,))
+        }
+
     def __init__(self, timeline, *args, **kwargs):
         HList.__init__(self, *args, **kwargs)
         self.sig_ids = None
@@ -151,7 +158,7 @@
             collapse_neighbours=True)
 #
     def _sourceEditMeCb(self, unused_widget, element):
-        self.switchToEditingMode(element)
+        self.emit("edit-me", element)
 
 class SimpleTimeline(goocanvas.Canvas):
     __gtype_name__ = 'SimpleTimeline'
@@ -166,6 +173,7 @@
         self.root = self.get_root_item()
         self.items = TimelineList(self.timeline, self, spacing=10)
         self.root.add_child(self.items)
+        self.items.connect("edit-me", self._editMeCb)
 
         self.left = None
         self.l_thresh = None
@@ -207,8 +215,6 @@
         self.set_size_request(int(self.items.width), int(
             self.items.height))
         self.set_bounds(0, 0, self.items.width, self.items.height)
-        self.editingCanvasItem.props.width = self.items.width
-        self.editingCanvasItem.props.height = self.items.height
         return True
 
     def _size_allocate(self, unused_layout, allocation):
@@ -218,6 +224,8 @@
         if height > 0:
             self.scale = allocation.height / height
             self.set_scale(self.scale)
+        self.editingCanvasItem.props.width = allocation.width
+        self.editingCanvasItem.props.height = allocation.height
         return True
 
 ## Project callbacks
@@ -301,6 +309,10 @@
 
 ## Editing mode
 
+
+    def _editMeCb(self, timeline, element):
+        self._switchEditingMode(element)
+
     def _editingWidgetHideMeCb(self, unused_widget):
         self.switchToNormalMode()
         # switch back to timeline in playground !
@@ -329,7 +341,8 @@
 
             # 2. Show editing widget
             self.editingWidget.setSource(source)
-            self.add_child(self.editingCanvasItem)
+            self.root.add_child(self.editingCanvasItem)
+
         else:
             gst.log("Switching back to normal mode")
             # switching FROM editing mode



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]