Skip to content
  • Kai Willadsen's avatar
    Rework LinkMap as a separate gtk.DrawingArea subclass · 67972e85
    Kai Willadsen authored
    The LinkMap is the widget that draws correspondence lines between two
    panes in our FileDiff views, and provides clickable areas for
    performing actions on change blocks. This commit isolates the LinkMap
    code into its own class and overrides signals as appropriate, rather
    than dealing with all callbacks through FileDiff.
    
    In addition, the new LinkMap widget has improved handling of
    non-writable TextViews it is associated with, which should fulfil the
    requirements associated with merge mode.
    
    meld/linkmap.py: Add new LinkMap class, with most code moved and
                     adapted from the existing implementation in FileDiff.
    
    meld/filediff.py: Remove LinkMap code and add FileDiff/LinkMap
                      integration bits. We also move to treating the
                      window-wide keymask as a property.
    
    meld/filemerge.py: Remove LinkMap code; the new LinkMap should handle
                       merge mode correctly itself.
    
    data/ui/filediff.ui: Adjust UI file to treat LinkMap as a real widget
    
    meld/util/sourceviewer.py: Add some TextView-specific APIs to our proxy
                               widget for use in LinkMap; these APIs will
                               be used in FileDiff, but are not currently.
    
    meld/ui/catalog.xml: Add Glade support for LinkMap
    meld/ui/gladesupport.py: Add Glade support for LinkMap
    67972e85