[pitivi] undo: Reuse connect to layer logic
- From: Alexandru Băluț <alexbalut src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] undo: Reuse connect to layer logic
- Date: Sat, 30 Apr 2016 16:04:22 +0000 (UTC)
commit 294d381c1279022d2c6e9ad00134646cb1053b1e
Author: Alexandru Băluț <alexandru balut gmail com>
Date: Fri Apr 22 07:01:36 2016 +0200
undo: Reuse connect to layer logic
Differential Revision: https://phabricator.freedesktop.org/D960
pitivi/undo/timeline.py | 81 ++++++++++++++++++++----------------------
tests/test_undo_timeline.py | 12 ------
2 files changed, 39 insertions(+), 54 deletions(-)
---
diff --git a/pitivi/undo/timeline.py b/pitivi/undo/timeline.py
index d8c24ec..8c8558c 100644
--- a/pitivi/undo/timeline.py
+++ b/pitivi/undo/timeline.py
@@ -380,40 +380,42 @@ class ClipRemoved(UndoableAction):
class LayerAdded(UndoableAction):
- def __init__(self, timeline, layer):
- self.timeline = timeline
- self.layer = layer
+ def __init__(self, ges_timeline, ges_layer):
+ UndoableAction.__init__(self)
+ self.ges_timeline = ges_timeline
+ self.ges_layer = ges_layer
def do(self):
- self.timeline.add_layer(self.layer)
+ self.ges_timeline.add_layer(self.ges_layer)
def undo(self):
- self.timeline.remove_layer(self.layer)
- self.timeline.get_asset().pipeline.commit_timeline()
+ self.ges_timeline.remove_layer(self.ges_layer)
+ self.ges_timeline.get_asset().pipeline.commit_timeline()
def asScenarioAction(self):
st = Gst.Structure.new_empty("add-layer")
- st.set_value("priority", self.layer.props.priority)
- st.set_value("auto-transition", self.layer.props.auto_transition)
+ st.set_value("priority", self.ges_layer.props.priority)
+ st.set_value("auto-transition", self.ges_layer.props.auto_transition)
return st
class LayerRemoved(UndoableAction):
- def __init__(self, timeline, layer):
- self.timeline = timeline
- self.layer = layer
+ def __init__(self, ges_timeline, ges_layer):
+ UndoableAction.__init__(self)
+ self.ges_timeline = ges_timeline
+ self.ges_layer = ges_layer
def do(self):
- self.timeline.remove_layer(self.layer)
- self.timeline.get_asset().pipeline.commit_timeline()
+ self.ges_timeline.remove_layer(self.ges_layer)
+ self.ges_timeline.get_asset().pipeline.commit_timeline()
def undo(self):
- self.timeline.add_layer(self.layer)
+ self.ges_timeline.add_layer(self.ges_layer)
def asScenarioAction(self):
st = Gst.Structure.new_empty("remove-layer")
- st.set_value("priority", self.layer.props.priority)
+ st.set_value("priority", self.ges_layer.props.priority)
return st
@@ -519,7 +521,7 @@ class TimelineObserver(Loggable):
"""Monitors a project's timeline and reports UndoableActions.
Attributes:
- log (UndoableActionLog): The action log where to report actions.
+ action_log (UndoableActionLog): The action log where to report actions.
"""
timelinePropertyChangedAction = ClipPropertyChanged
@@ -533,32 +535,29 @@ class TimelineObserver(Loggable):
self.control_source_keyframe_trackers = {}
self.children_props_tracker = TrackElementChildPropertyTracker(self.action_log)
- def startObserving(self, timeline):
+ def startObserving(self, ges_timeline):
"""Starts monitoring the specified timeline.
Args:
- timeline (GES.Timeline): The timeline to be monitored.
+ ges_timeline (GES.Timeline): The timeline to be monitored.
"""
- self._connectToTimeline(timeline)
- for layer in timeline.get_layers():
- for clip in layer.get_clips():
- self._connectToClip(clip)
+ for ges_layer in ges_timeline.get_layers():
+ self._connect_to_layer(ges_layer)
- def _connectToTimeline(self, timeline):
- for layer in timeline.get_layers():
- layer.connect("clip-added", self._clipAddedCb)
- layer.connect("clip-removed", self._clipRemovedCb)
+ ges_timeline.connect("layer-added", self._layerAddedCb)
+ ges_timeline.connect("layer-removed", self._layerRemovedCb)
- timeline.connect("layer-added", self._layerAddedCb)
- timeline.connect("layer-removed", self._layerRemovedCb)
+ for ges_layer in ges_timeline.get_layers():
+ for ges_clip in ges_layer.get_clips():
+ self._connectToClip(ges_clip)
- def _disconnectFromTimeline(self, timeline):
- for layer in timeline.get_layers():
- layer.disconnect_by_func(self._clipAddedCb)
- layer.disconnect_by_func(self._clipRemovedCb)
+ def _connect_to_layer(self, ges_layer):
+ ges_layer.connect("clip-added", self._clipAddedCb)
+ ges_layer.connect("clip-removed", self._clipRemovedCb)
- timeline.disconnect_by_func(self._layerAddedCb)
- timeline.disconnect_by_func(self._layerRemovedCb)
+ def _disconnect_from_layer(self, ges_layer):
+ ges_layer.disconnect_by_func(self._clipAddedCb)
+ ges_layer.disconnect_by_func(self._clipRemovedCb)
def _connectToClip(self, clip):
tracker = ClipPropertyChangeTracker()
@@ -715,14 +714,12 @@ class TimelineObserver(Loggable):
old_snapshot, new_snapshot)
self.action_log.push(action)
- def _layerAddedCb(self, timeline, layer):
- layer.connect("clip-added", self._clipAddedCb)
- layer.connect("clip-removed", self._clipRemovedCb)
- action = LayerAdded(timeline, layer)
+ def _layerAddedCb(self, ges_timeline, ges_layer):
+ self._connect_to_layer(ges_layer)
+ action = LayerAdded(ges_timeline, ges_layer)
self.action_log.push(action)
- def _layerRemovedCb(self, timeline, layer):
- layer.disconnect_by_func(self._clipAddedCb)
- layer.disconnect_by_func(self._clipRemovedCb)
- action = LayerRemoved(timeline, layer)
+ def _layerRemovedCb(self, ges_timeline, ges_layer):
+ self._disconnect_from_layer(ges_layer)
+ action = LayerRemoved(ges_timeline, ges_layer)
self.action_log.push(action)
diff --git a/tests/test_undo_timeline.py b/tests/test_undo_timeline.py
index b4c1492..6570090 100644
--- a/tests/test_undo_timeline.py
+++ b/tests/test_undo_timeline.py
@@ -37,14 +37,6 @@ from tests import common
class TimelineObserverSpy(TimelineObserver):
- def _connectToTimeline(self, timeline):
- TimelineObserver._connectToTimeline(self, timeline)
- timeline.connected = True
-
- def _disconnectFromTimeline(self, timeline):
- TimelineObserver._disconnectFromTimeline(self, timeline)
- timeline.connected = False
-
def _connectToClip(self, clip):
TimelineObserver._connectToClip(self, clip)
clip.connected = True
@@ -73,24 +65,20 @@ class TestTimelineLogObserver(TestCase):
layer = GES.Layer()
timeline.add_layer(layer)
self.observer.startObserving(timeline)
- self.assertTrue(timeline.connected)
clip1 = GES.TitleClip()
layer.add_clip(clip1)
track_element1 = clip1.get_children(False)[0]
- self.assertTrue(timeline.connected)
self.assertTrue(clip1.connected)
self.assertTrue(track_element1.connected)
layer.remove_clip(clip1)
- self.assertTrue(timeline.connected)
self.assertFalse(clip1.connected)
self.assertFalse(track_element1.connected)
layer.add_clip(clip1)
track_element2 = clip1.get_children(False)[0]
- self.assertTrue(timeline.connected)
self.assertTrue(clip1.connected)
self.assertFalse(track_element1.connected)
self.assertTrue(track_element2.connected)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]