[pitivi] ui.timeline: finally get layers and track controls to appear properly
- From: Edward Hervey <edwardrv src gnome org>
- To: svn-commits-list gnome org
- Subject: [pitivi] ui.timeline: finally get layers and track controls to appear properly
- Date: Wed, 18 Mar 2009 14:08:23 -0400 (EDT)
commit 429f4113a6e32ff7186e09526c0e507123eb602f
Author: Brandon Lewis <brandon_lewis berkeley edu>
Date: Sat Mar 14 14:38:53 2009 -0700
ui.timeline: finally get layers and track controls to appear properly
---
pitivi/ui/timeline.py | 1 +
pitivi/ui/timelinecontrols.py | 35 ++++++++++++++++++++++-------------
2 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/pitivi/ui/timeline.py b/pitivi/ui/timeline.py
index 3e012d1..2208ee7 100644
--- a/pitivi/ui/timeline.py
+++ b/pitivi/ui/timeline.py
@@ -249,6 +249,7 @@ class Timeline(gtk.Table, Loggable, Zoomable):
def setProject(self, project):
self.project = project
self.timeline = project.timeline
+ self._controls.timeline = self.timeline
self._canvas.timeline = self.timeline
self._canvas.zoomChanged()
diff --git a/pitivi/ui/timelinecontrols.py b/pitivi/ui/timelinecontrols.py
index 81f0522..25fb22e 100644
--- a/pitivi/ui/timelinecontrols.py
+++ b/pitivi/ui/timelinecontrols.py
@@ -19,28 +19,37 @@ class TrackControls(gtk.Expander):
def __init__(self, track):
gtk.Expander.__init__(self, track_name(track))
+ self.props.use_markup = True
self.track = track
self.set_size_request(TRACK_CONTROL_WIDTH, LAYER_HEIGHT_EXPANDED)
- self.tracks = {}
-class TimelineControls(gtk.HBox):
+class TimelineControls(gtk.VBox):
def __init__(self, timeline):
- gtk.HBox.__init__(self)
- self.timeline = timeline
- self.set_size_request(TRACK_CONTROL_WIDTH, 50)
+ gtk.VBox.__init__(self)
+ self._tracks = []
self.set_spacing(LAYER_SPACING)
+ self.timeline = timeline
+
+## Timeline callbacks
- timeline = receiver()
+ def _set_timeline(self):
+ while self._tracks:
+ self._trackRemoved(None, 0)
+ if self.timeline:
+ for track in self.timeline.tracks:
+ self._trackAdded(None, track)
+
+ timeline = receiver(_set_timeline)
@handler(timeline, "track-added")
def _trackAdded(self, timeline, track):
- tc = TrackControls(track)
- self.pack_start(tc)
- tc.show()
- self.tracks[track] = tc
+ track = TrackControls(track)
+ self._tracks.append(track)
+ self.pack_start(track, False, False)
@handler(timeline, "track-removed")
- def _trackRemoved(self, timeline, track):
- self.remove(self.tracks[track])
-
+ def _trackRemoved(self, unused_timeline, position):
+ track = self._tracks[position]
+ del self._tracks[position]
+ self.remove(track)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]