[pitivi/ges] timeline: Properly reset projects when loading a new one
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi/ges] timeline: Properly reset projects when loading a new one
- Date: Sat, 5 May 2012 20:18:49 +0000 (UTC)
commit 92a78b5be4bce2655b9eabcd35a5fc4df5529497
Author: Thibault Saunier <thibault saunier collabora com>
Date: Tue May 1 20:46:10 2012 -0400
timeline: Properly reset projects when loading a new one
pitivi/mainwindow.py | 1 +
pitivi/timeline/timeline.py | 18 +++++++++++++++---
2 files changed, 16 insertions(+), 3 deletions(-)
---
diff --git a/pitivi/mainwindow.py b/pitivi/mainwindow.py
index e138290..b2456e0 100644
--- a/pitivi/mainwindow.py
+++ b/pitivi/mainwindow.py
@@ -389,6 +389,7 @@ class PitiviMainWindow(gtk.Window, Loggable):
vpaned.show()
self.timeline_ui = Timeline(instance, self.uimanager)
+ self.timeline_ui.setProjectManager(self.app.projectManager)
self.app.current = None
vpaned.pack2(self.timeline_ui, resize=True, shrink=False)
self.timeline_ui.show()
diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index 5f2d145..634f8ac 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -591,11 +591,15 @@ class Timeline(gtk.Table, Loggable, Zoomable):
self.pipeline_state = gst.STATE_NULL
self._createUI()
self.rate = gst.Fraction(1, 1)
- self._project = None
self._timeline = None
+
+ # Timeline edition related fields
self._creating_tckobjs_sigid = {}
self._move_context = None
+ self._project = None
+ self._projectmanager = None
+
#Ids of the tracks notify::duration signals
self._tcks_sig_ids = {}
#Ids of the layer-added and layer-removed signals
@@ -1170,7 +1174,7 @@ class Timeline(gtk.Table, Loggable, Zoomable):
## Project callbacks
- def _newProjectCreatedCb(self, app, project):
+ def _projectChangedCb(self, app, project):
"""
When a new blank project is created, immediately clear the timeline.
@@ -1178,7 +1182,7 @@ class Timeline(gtk.Table, Loggable, Zoomable):
media library, waiting for a "ready" signal.
"""
self.debug("New blank project created, pre-emptively clearing the timeline")
- self.setProject(self.app.current)
+ self.setProject(project)
def setProject(self, project):
self.debug("Setting project %s", project)
@@ -1199,6 +1203,14 @@ class Timeline(gtk.Table, Loggable, Zoomable):
self._pipeline.connect("position", self.positionChangedCb)
self._project.connect("settings-changed", self._settingsChangedCb)
+ def setProjectManager(self, projectmanager):
+ if self._projectmanager is not None:
+ self._projectmanager.disconnect_by_func(self._projectChangedCb)
+
+ self._projectmanager = projectmanager
+ if projectmanager is not None:
+ projectmanager.connect("new-project-loaded", self._projectChangedCb)
+
def _settingsChangedCb(self, project, old, new):
rate = new.videorate
self.rate = float(1 / rate)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]