[pitivi: 5/8] timeline.timeline: fix union and difference selection modes



commit 631b796626e4559de8f4fca45a994eab8c929ac8
Author: Brandon Lewis <brandon_lewis berkeley edu>
Date:   Tue Apr 21 19:52:07 2009 -0700

    timeline.timeline: fix union and difference selection modes
---
 pitivi/timeline/timeline.py |   11 +++++------
 pitivi/ui/trackobject.py    |    7 ++++---
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index f05ec99..17c38d3 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -289,14 +289,13 @@ class Selection(object, Signallable):
 
     def setTo(self, selection, mode):
         old_selection = self.selected
-        if mode == SELECT:
-            self.selected = selection
-        elif mode == SELECT_ADD:
-            self.selected.update(selection)
+        if mode == SELECT_ADD:
+            selection = self.selected | selection
         elif mode == UNSELECT:
-            self.selected.difference(selection)
+            selection = self.selected - selection
+        self.selected = selection
 
-        for obj in self.selected:
+        for obj in self.selected - old_selection:
             obj.selected = True
         for obj in old_selection - self.selected:
             obj.selected = False
diff --git a/pitivi/ui/trackobject.py b/pitivi/ui/trackobject.py
index c87a448..25ec2de 100644
--- a/pitivi/ui/trackobject.py
+++ b/pitivi/ui/trackobject.py
@@ -11,6 +11,7 @@ from view import View
 import controller
 from zoominterface import Zoomable
 from pitivi.timeline.track import TrackError
+from pitivi.timeline.timeline import SELECT, SELECT_ADD, UNSELECT
 from preview import Preview
 import gst
 from common import LAYER_HEIGHT_EXPANDED, LAYER_HEIGHT_COLLAPSED
@@ -164,11 +165,11 @@ class TrackObject(View, goocanvas.Group, Zoomable):
             self._mousedown = Point(self._mousedown[0], 0)
 
         def click(self, pos):
-            mode = 0
+            mode = SELECT
             if self._last_event.get_state() & gtk.gdk.SHIFT_MASK:
-                mode = 1
+                mode = SELECT_ADD
             elif self._last_event.get_state() & gtk.gdk.CONTROL_MASK:
-                mode = 2
+                mode = UNSELECT
             self._view.timeline.setSelectionToObj(
                 self._view.element, mode)
 



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