/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: Jasper Groenewegen
  • Date: 2008-07-25 13:32:06 UTC
  • mfrom: (555.2.2 wrapped-diffs)
  • Revision ID: colbrac@xs4all.nl-20080725133206-ozuyp2mukoze4kmr
Merge addition of word wrap control to gdiff and visualise windows

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
 
            sourceview = gtksourceview.SourceView(self.buffer)
 
76
            self.sourceview = gtksourceview.SourceView(self.buffer)
77
77
        else:
78
78
            self.buffer = gtk.TextBuffer()
79
 
            sourceview = gtk.TextView(self.buffer)
 
79
            self.sourceview = gtk.TextView(self.buffer)
80
80
 
81
 
        sourceview.set_editable(False)
82
 
        sourceview.modify_font(pango.FontDescription("Monospace"))
83
 
        self.add(sourceview)
84
 
        sourceview.show()
 
81
        self.sourceview.set_editable(False)
 
82
        self.sourceview.modify_font(pango.FontDescription("Monospace"))
 
83
        self.add(self.sourceview)
 
84
        self.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)
405
405
            return
406
406
        elif specific_files == [ "" ]:
407
407
            specific_files = None
408
 
 
 
408
        
409
409
        self.diff_view.show_diff(specific_files)
410
 
 
 
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)
411
417
 
412
418
class DiffWindow(Window):
413
419
    """Diff window.
434
440
        self.vbox = gtk.VBox()
435
441
        self.add(self.vbox)
436
442
        self.vbox.show()
 
443
        self.diff = DiffWidget()
 
444
        self.vbox.pack_end(self.diff, True, True, 0)
 
445
        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)
437
449
        hbox = self._get_button_bar(operations)
438
450
        if hbox is not None:
439
 
            self.vbox.pack_start(hbox, expand=False, fill=True)
440
 
        self.diff = DiffWidget()
441
 
        self.vbox.add(self.diff)
442
 
        self.diff.show_all()
443
 
 
 
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
    
444
470
    def _get_button_bar(self, operations):
445
471
        """Return a button bar to use.
446
472