/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 viz/branchwin.py

  • Committer: Martin Albisetti
  • Date: 2008-06-20 03:33:17 UTC
  • mfrom: (498.1.6 gtk)
  • Revision ID: argentina@gmail.com-20080620033317-14hiurwurhhb98ze
(Elliot Murphy) Fix dbus importing

Show diffs side-by-side

added added

removed removed

Lines of Context:
195
195
 
196
196
        revision_menu_diff = gtk.MenuItem("View Changes")
197
197
        revision_menu_diff.connect('activate', 
198
 
                lambda w: self.treeview.show_diff())
 
198
                self._menu_diff_cb)
 
199
        
 
200
        revision_menu_compare = gtk.MenuItem("Compare with...")
 
201
        revision_menu_compare.connect('activate',
 
202
                self._compare_with_cb)
199
203
 
200
204
        revision_menu_tag = gtk.MenuItem("Tag Revision")
201
205
        revision_menu_tag.connect('activate', self._tag_revision_cb)
202
206
 
203
207
        revision_menu.add(revision_menu_tag)
204
208
        revision_menu.add(revision_menu_diff)
 
209
        revision_menu.add(revision_menu_compare)
205
210
 
206
211
        branch_menu = gtk.Menu()
207
212
        branch_menuitem = gtk.MenuItem("_Branch")
247
252
            option = self.config.get_user_option(col + '-column-visible')
248
253
            if option is not None:
249
254
                self.treeview.set_property(col + '-column-visible', option == 'True')
 
255
            else:
 
256
                self.treeview.set_property(col + '-column-visible', False)
250
257
 
251
 
        self.treeview.set_property(col + '-column-visible', False)
252
258
        self.treeview.show()
253
259
 
254
260
        align = gtk.Alignment(0.0, 0.0, 1.0, 1.0)
300
306
        parents  = self.treeview.get_parents()
301
307
        children = self.treeview.get_children()
302
308
 
303
 
        if revision is not None:
 
309
        if revision and revision != NULL_REVISION:
304
310
            prev_menu = gtk.Menu()
305
311
            if len(parents) > 0:
306
312
                self.prev_rev_action.set_sensitive(True)
307
313
                for parent_id in parents:
308
 
                    parent = self.branch.repository.get_revision(parent_id)
309
 
                    try:
310
 
                        str = ' (' + parent.properties['branch-nick'] + ')'
311
 
                    except KeyError:
312
 
                        str = ""
 
314
                    if parent_id and parent_id != NULL_REVISION:
 
315
                        parent = self.branch.repository.get_revision(parent_id)
 
316
                        try:
 
317
                            str = ' (' + parent.properties['branch-nick'] + ')'
 
318
                        except KeyError:
 
319
                            str = ""
313
320
 
314
 
                    item = gtk.MenuItem(parent.message.split("\n")[0] + str)
315
 
                    item.connect('activate', self._set_revision_cb, parent_id)
316
 
                    prev_menu.add(item)
 
321
                        item = gtk.MenuItem(parent.message.split("\n")[0] + str)
 
322
                        item.connect('activate', self._set_revision_cb, parent_id)
 
323
                        prev_menu.add(item)
317
324
                prev_menu.show_all()
318
325
            else:
319
326
                self.prev_rev_action.set_sensitive(False)
357
364
 
358
365
        self.show_diff(revision.revision_id, parent_id)
359
366
        self.treeview.grab_focus()
360
 
    
 
367
        
 
368
    def _menu_diff_cb(self,w):
 
369
        (path, focus) = self.treeview.treeview.get_cursor()
 
370
        revid = self.treeview.model[path][treemodel.REVID]
 
371
        
 
372
        parentids = self.branch.repository.revision_parents(revid)
 
373
 
 
374
        if len(parentids) == 0:
 
375
            parentid = NULL_REVISION
 
376
        else:
 
377
            parentid = parentids[0]
 
378
        
 
379
        self.show_diff(revid,parentid)    
361
380
 
362
381
    def _back_clicked_cb(self, *args):
363
382
        """Callback for when the back button is clicked."""
377
396
        self.show_diff(revid, parentid)
378
397
        self.treeview.grab_focus()
379
398
 
 
399
    def _compare_with_cb(self,w):
 
400
        """Callback for revision 'compare with' menu. Will show a small
 
401
            dialog with branch revisions to compare with selected revision in TreeView"""
 
402
        
 
403
        from bzrlib.plugins.gtk.revbrowser import RevisionBrowser
 
404
        
 
405
        rb = RevisionBrowser(self.branch,self)
 
406
        ret = rb.run()
 
407
        
 
408
        if ret == gtk.RESPONSE_OK:          
 
409
            (path, focus) = self.treeview.treeview.get_cursor()
 
410
            revid = self.treeview.model[path][treemodel.REVID]
 
411
            self.show_diff(revid, rb.selected_revid)
 
412
            
 
413
        rb.destroy()
 
414
            
380
415
    def _set_revision_cb(self, w, revision_id):
381
416
        self.treeview.set_revision_id(revision_id)
382
417