/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 diff.py

  • Committer: Vincent Ladeuil
  • Date: 2008-06-10 15:25:47 UTC
  • mto: This revision was merged to the branch mainline in revision 504.
  • Revision ID: v.ladeuil+lp@free.fr-20080610152547-dwmil1p8pd0mfpnl
Fix third failing test (thanks to jam).

* tests/test_commit.py:
(TestPendingRevisions.test_pending_revisions_multi_merge): Fix
provided by jam: bzr we now filter the pending merges so that only
the 'heads()' are included. We just ensure that the pending merges
contain the unique tips for the ancestries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
73
73
            self.buffer.set_language(gsl)
74
74
            self.buffer.set_highlight(True)
75
75
 
76
 
            self.sourceview = gtksourceview.SourceView(self.buffer)
 
76
            sourceview = gtksourceview.SourceView(self.buffer)
77
77
        else:
78
78
            self.buffer = gtk.TextBuffer()
79
 
            self.sourceview = gtk.TextView(self.buffer)
 
79
            sourceview = gtk.TextView(self.buffer)
80
80
 
81
 
        self.sourceview.set_editable(False)
82
 
        self.sourceview.modify_font(pango.FontDescription("Monospace"))
83
 
        self.add(self.sourceview)
84
 
        self.sourceview.show()
 
81
        sourceview.set_editable(False)
 
82
        sourceview.modify_font(pango.FontDescription("Monospace"))
 
83
        self.add(sourceview)
 
84
        sourceview.show()
85
85
 
86
86
    @staticmethod
87
87
    def apply_gedit_colors(lang):
305
305
        scrollwin.set_shadow_type(gtk.SHADOW_IN)
306
306
        self.pack1(scrollwin)
307
307
        scrollwin.show()
308
 
        
 
308
 
309
309
        self.model = gtk.TreeStore(str, str)
310
310
        self.treeview = gtk.TreeView(self.model)
311
311
        self.treeview.set_headers_visible(False)
330
330
        # text view
331
331
 
332
332
    def set_diff_text_sections(self, sections):
333
 
        if getattr(self, 'diff_view', None) is None:
334
 
            self.diff_view = DiffFileView()
335
 
            self.pack2(self.diff_view)
 
333
        self.diff_view = DiffFileView()
336
334
        self.diff_view.show()
 
335
        self.pack2(self.diff_view)
337
336
        for oldname, newname, patch in sections:
338
337
            self.diff_view._diffs[newname] = str(patch)
339
338
            if newname is None:
347
346
        Compares the two trees and populates the window with the
348
347
        differences.
349
348
        """
350
 
        if getattr(self, 'diff_view', None) is None:
351
 
            self.diff_view = DiffView()
352
 
            self.pack2(self.diff_view)
 
349
        self.diff_view = DiffView()
 
350
        self.pack2(self.diff_view)
353
351
        self.diff_view.show()
354
352
        self.diff_view.set_trees(rev_tree, parent_tree)
355
353
        self.rev_tree = rev_tree
382
380
                self.model.append(titer, [ path, path ])
383
381
 
384
382
        self.treeview.expand_all()
385
 
        self.diff_view.show_diff(None)
386
383
 
387
384
    def set_file(self, file_path):
388
385
        """Select the current file to display"""
405
402
            return
406
403
        elif specific_files == [ "" ]:
407
404
            specific_files = None
408
 
        
 
405
 
409
406
        self.diff_view.show_diff(specific_files)
410
 
    
411
 
    def _on_wraplines_toggled(self, widget=None, wrap=False):
412
 
        """Callback for when the wrap lines checkbutton is toggled"""
413
 
        if wrap or widget.get_active():
414
 
            self.diff_view.sourceview.set_wrap_mode(gtk.WRAP_WORD)
415
 
        else:
416
 
            self.diff_view.sourceview.set_wrap_mode(gtk.WRAP_NONE)
 
407
 
417
408
 
418
409
class DiffWindow(Window):
419
410
    """Diff window.
440
431
        self.vbox = gtk.VBox()
441
432
        self.add(self.vbox)
442
433
        self.vbox.show()
 
434
        hbox = self._get_button_bar(operations)
 
435
        if hbox is not None:
 
436
            self.vbox.pack_start(hbox, expand=False, fill=True)
443
437
        self.diff = DiffWidget()
444
 
        self.vbox.pack_end(self.diff, True, True, 0)
 
438
        self.vbox.add(self.diff)
445
439
        self.diff.show_all()
446
 
        # Build after DiffWidget to connect signals
447
 
        menubar = self._get_menu_bar()
448
 
        self.vbox.pack_start(menubar, False, False, 0)
449
 
        hbox = self._get_button_bar(operations)
450
 
        if hbox is not None:
451
 
            self.vbox.pack_start(hbox, False, True, 0)
452
 
        
453
 
    
454
 
    def _get_menu_bar(self):
455
 
        menubar = gtk.MenuBar()
456
 
        # View menu
457
 
        mb_view = gtk.MenuItem(_i18n("_View"))
458
 
        mb_view_menu = gtk.Menu()
459
 
        mb_view_wrapsource = gtk.CheckMenuItem(_i18n("Wrap _Long Lines"))
460
 
        mb_view_wrapsource.connect('activate', self.diff._on_wraplines_toggled)
461
 
        mb_view_wrapsource.show()
462
 
        mb_view_menu.append(mb_view_wrapsource)
463
 
        mb_view.show()
464
 
        mb_view.set_submenu(mb_view_menu)
465
 
        mb_view.show()
466
 
        menubar.append(mb_view)
467
 
        menubar.show()
468
 
        return menubar
469
 
    
 
440
 
470
441
    def _get_button_bar(self, operations):
471
442
        """Return a button bar to use.
472
443