~ubuntu-branches/ubuntu/lucid/pitivi/lucid

« back to all changes in this revision

Viewing changes to pitivi/signalgroup.py

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2009-05-27 14:22:49 UTC
  • mfrom: (1.2.1 upstream) (3.1.13 experimental)
  • Revision ID: james.westby@ubuntu.com-20090527142249-tj0qnkc37320ylml
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
    def __init__(self):
30
30
        self.signal_handler_ids = {}
31
31
 
32
 
    def connect(self, object, signal, id, callback, *args):
 
32
    def connect(self, object, signal, sid, callback, *args):
33
33
        """Connect a signal.
34
34
 
35
35
         _ `object` is the object which defines the signal.
44
44
        unique identifier, this signal will first be disconnected.
45
45
 
46
46
        """
47
 
        if id is None:
48
 
            id = signal
 
47
        if sid is None:
 
48
            sid = signal
49
49
 
50
 
        if id in self.signal_handler_ids:
51
 
            old_object, handler_id = self.signal_handler_ids[id]
52
 
            #print "Disconnecting %s" % handler_id
 
50
        if sid in self.signal_handler_ids:
 
51
            old_object, handler_id = self.signal_handler_ids[sid]
53
52
            old_object.disconnect(handler_id)
54
 
            del self.signal_handler_ids[id]
 
53
            del self.signal_handler_ids[sid]
55
54
 
56
55
        handler_id = object.connect(signal, callback, *args)
57
 
        #print "Connected %s to signal %s " % (handler_id, signal)
58
56
        self.signal_handler_ids[id] = (object, handler_id)
59
57
 
60
 
    def disconnect(self, id):
 
58
    def disconnect(self, sid):
61
59
        """Disconnect the signal with the specified unique identifier.
62
60
 
63
61
        If there is no such signal, this returns without having any effect.
64
62
 
65
63
        """
66
64
        if id in self.signal_handler_ids:
67
 
            old_object, handler_id = self.signal_handler_ids.pop(id)
 
65
            old_object, handler_id = self.signal_handler_ids.pop(sid)
68
66
            old_object.disconnect(handler_id)
69
67
 
70
68
    def disconnectAll(self):
81
79
        Disconnects all signal in the group connect on the given object
82
80
        """
83
81
        assert obj != None
84
 
        objids = [id for id in self.signal_handler_ids.keys() if self.signal_handler_ids[id][0] == obj]
85
 
        for id in objids:
 
82
        objids = [sid for sid in self.signal_handler_ids.keys() if self.signal_handler_ids[sid][0] == obj]
 
83
        for sid in objids:
86
84
            old_object, handler_id = self.signal_handler_ids.pop(id)
87
85
            old_object.disconnect(handler_id)