/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to branchview/treeview.py

Merged fixes to the tag actions.

Show diffs side-by-side

added added

removed removed

Lines of Context:
74
74
                             ()),
75
75
        'revision-selected': (gobject.SIGNAL_RUN_FIRST,
76
76
                              gobject.TYPE_NONE,
77
 
                              ())
 
77
                              ()),
 
78
        'tag-added': (gobject.SIGNAL_RUN_FIRST,
 
79
                              gobject.TYPE_NONE,
 
80
                              (gobject.TYPE_STRING, gobject.TYPE_STRING))
78
81
    }
79
82
 
80
83
    def __init__(self, branch, start, maxnum, compact=True):
94
97
 
95
98
        self.construct_treeview()
96
99
 
97
 
        self.iter   = None
 
100
        self.iter = None
98
101
        self.branch = branch
 
102
        self.revision = None
99
103
 
100
104
        self.start = start
101
105
        self.maxnum = maxnum
167
171
        :return: list of revision ids.
168
172
        """
169
173
        return self.get_property('parents')
 
174
 
 
175
    def add_tag(self, tag, revid=None):
 
176
        if revid is None: revid = self.revision.revision_id
 
177
 
 
178
        try:
 
179
            self.branch.unlock()
 
180
 
 
181
            try:
 
182
                self.branch.lock_write()
 
183
                self.model.add_tag(tag, revid)
 
184
            finally:
 
185
                self.branch.unlock()
 
186
 
 
187
        finally:
 
188
            self.branch.lock_read()
 
189
 
 
190
        self.emit('tag-added', tag, revid)
170
191
        
171
192
    def refresh(self):
172
193
        gobject.idle_add(self.populate, self.get_revision())
369
390
            menu = RevisionPopupMenu(self.branch.repository, 
370
391
                [self.get_revision().revision_id],
371
392
                self.branch)
 
393
            menu.connect('tag-added', lambda w, t, r: self.add_tag(t, r))
372
394
            menu.popup(None, None, None, event.button, event.get_time())
373
395
 
374
396
    def _on_revision_activated(self, widget, path, col):