[pitivi] application.py: track changes to project settings



commit a3faa66cfcbd9e274b3b18dbeffa01eb1b2e3b9a
Author: Brandon Lewis <brandon_lewis berkeley edu>
Date:   Mon Oct 19 09:35:22 2009 -0700

    application.py: track changes to project settings
    changes to project settings are now undoable and change dirty state
    closes bug 593465

 pitivi/application.py |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/pitivi/application.py b/pitivi/application.py
index 4cb6928..f382c34 100644
--- a/pitivi/application.py
+++ b/pitivi/application.py
@@ -48,10 +48,11 @@ from pitivi.signalinterface import Signallable
 from pitivi.log.loggable import Loggable
 from pitivi.log import log
 from pitivi.ui.mainwindow import PitiviMainWindow
-from pitivi.projectmanager import ProjectManager
+from pitivi.projectmanager import ProjectManager, ProjectLogObserver
 from pitivi.undo import UndoableActionLog, DebugActionLogObserver
 from pitivi.timeline.timeline_undo import TimelineLogObserver
 from pitivi.sourcelist_undo import SourceListLogObserver
+from pitivi.undo import UndoableAction
 
 # FIXME : Speedup loading time
 # Currently we load everything in one go
@@ -142,6 +143,7 @@ class Pitivi(Loggable, Signallable):
         self.debug_action_log_observer = DebugActionLogObserver()
         self.debug_action_log_observer.startObserving(self.action_log)
         self.timelineLogObserver = TimelineLogObserver(self.action_log)
+        self.projectLogObserver = ProjectLogObserver(self.action_log)
         self.sourcelist_log_observer = SourceListLogObserver(self.action_log)
 
     #{ Shutdown methods
@@ -195,6 +197,7 @@ class Pitivi(Loggable, Signallable):
         self.current = project
         self.action_log.clean()
         self.timelineLogObserver.startObserving(project.timeline)
+        self.projectLogObserver.startObserving(project)
         self.sourcelist_log_observer.startObserving(project.sources)
         self.emit("new-project-loaded", project)
 
@@ -206,6 +209,7 @@ class Pitivi(Loggable, Signallable):
 
     def _projectManagerProjectClosed(self, projectManager, project):
         self.timelineLogObserver.stopObserving(project.timeline)
+        self.projectLogObserver.stopObserving(project)
         self.current = None
         self.emit("project-closed", project)
 



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