[pitivi/ges: 13/287] Add a selected attribute to the timeline



commit 0182e90c566ff911184a49eecee0faec28e41ca5
Author: Mathieu Duponchelle <seeed laposte net>
Date:   Sun Aug 28 19:13:41 2011 +0200

    Add a selected attribute to the timeline

 pitivi/project.py           |    2 ++
 pitivi/ui/timelinecanvas.py |    2 ++
 pitivi/ui/trackobject.py    |    1 +
 3 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/project.py b/pitivi/project.py
index 7c7f634..99e2dec 100644
--- a/pitivi/project.py
+++ b/pitivi/project.py
@@ -67,6 +67,7 @@ class Project(Signallable, Loggable):
     __signals__ = {
         "settings-changed": ['old', 'new'],
         "project-changed": [],
+        "selected-changed": ['element']
         }
 
     def __init__(self, name="", uri=None, **kwargs):
@@ -91,6 +92,7 @@ class Project(Signallable, Loggable):
         self._dirty = False
 
         self.timeline = ges.timeline_new_audio_video()
+        self.timeline.selected = []
         self.layer = ges.TimelineLayer()
         self.timeline.add_layer(self.layer)
         self.back_layer = ges.TimelineLayer()
diff --git a/pitivi/ui/timelinecanvas.py b/pitivi/ui/timelinecanvas.py
index b8cdd42..2e0f9ee 100644
--- a/pitivi/ui/timelinecanvas.py
+++ b/pitivi/ui/timelinecanvas.py
@@ -252,6 +252,8 @@ class TimelineCanvas(goocanvas.Canvas, Zoomable, Loggable):
                 mode = 1
             if event.get_state() & gtk.gdk.CONTROL_MASK:
                 mode = 2
+            selected = self._objectsUnderMarquee()
+            self.app.projectManager.current.emit("selected-changed", selected)
             #self.timeline.setSelectionTo(self._objectsUnderMarquee(), mode)
         return True
 
diff --git a/pitivi/ui/trackobject.py b/pitivi/ui/trackobject.py
index 39b109a..9be4fd0 100644
--- a/pitivi/ui/trackobject.py
+++ b/pitivi/ui/trackobject.py
@@ -255,6 +255,7 @@ class TrackObject(View, goocanvas.Group, Zoomable):
         self.namewidth = 0
         self.nameheight = 0
         self.is_transition = is_transition
+        self.app.projectManager.current.connect("selected-changed", self.selected_changed)
 
         self.bg = goocanvas.Rect(
             height=self.height,



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