/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-20 12:53:30 UTC
  • mto: This revision was merged to the branch mainline in revision 571.
  • Revision ID: colbrac@xs4all.nl-20080720125330-rtqfmxutca5rz0z6
Modify DiffWidget to include a checkbutton to wrap long lines in the diff view

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):
300
300
        super(DiffWidget, self).__init__()
301
301
 
302
302
        # The file hierarchy: a scrollable treeview
 
303
        vbox = gtk.VBox()
 
304
        self.checkbox_wraplines = gtk.CheckButton(_i18n("W_rap long lines"), True)
 
305
        self.checkbox_wraplines.set_active(False) # TO DO: Read from config
 
306
        self.checkbox_wraplines.connect("toggled", self._on_wraplines_toggled)
 
307
        self.checkbox_wraplines.show()
303
308
        scrollwin = gtk.ScrolledWindow()
304
309
        scrollwin.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
305
310
        scrollwin.set_shadow_type(gtk.SHADOW_IN)
306
 
        self.pack1(scrollwin)
307
311
        scrollwin.show()
308
 
 
 
312
        vbox.pack_start(scrollwin, True, True, 0)
 
313
        vbox.pack_end(self.checkbox_wraplines, False, False, 5)
 
314
        self.pack1(vbox)
 
315
        
309
316
        self.model = gtk.TreeStore(str, str)
310
317
        self.treeview = gtk.TreeView(self.model)
311
318
        self.treeview.set_headers_visible(False)
405
412
            return
406
413
        elif specific_files == [ "" ]:
407
414
            specific_files = None
408
 
 
 
415
        
409
416
        self.diff_view.show_diff(specific_files)
410
 
 
 
417
    
 
418
    def _on_wraplines_toggled(self, widget):
 
419
        """Callback for when the wrap lines checkbutton is toggled"""
 
420
        if self.checkbox_wraplines.get_active():
 
421
            self.diff_view.sourceview.set_wrap_mode(gtk.WRAP_WORD)
 
422
        else:
 
423
            self.diff_view.sourceview.set_wrap_mode(gtk.WRAP_NONE)
411
424
 
412
425
class DiffWindow(Window):
413
426
    """Diff window.