1. 20 Jan, 2019 1 commit
  2. 19 Jan, 2019 3 commits
  3. 18 Jan, 2019 2 commits
  4. 17 Jan, 2019 7 commits
  5. 11 Jan, 2019 3 commits
  6. 10 Jan, 2019 1 commit
    • Kai Willadsen's avatar
      meldbuffer: Move BufferLines to just use GTK+ line logic (#240) · 1be76337
      Kai Willadsen authored
      Over the years we've had many, many issues with GTK+ and Python
      disagreeing about what constitutes a line break. The actual bug that has
      prompted this rewrite is just another one in the long series of wild
      issues, but it's *so annoying* that rather than work through the insane
      logic I wrote before, I've just changed the whole approach and made our
      treat-my-textbuffer-as-a-list-of-lines shim use GTK+ APIs to do its line
      calculation logic.
      
      I'm was worried that this will be slow - it is after all a _lot_ more
      function calls and we're crossing through GObject introspection a bunch,
      but it... seems okay?
      
      One of the minor weird side-effects here is that this accessor
      absolutely enforces that regex filters only apply to a single line. I
      considered options for maintaining our very-broken status quo, but they
      were very, very difficult by comparison, and any multi-line filters
      are completely unsupported.
      1be76337
  7. 08 Jan, 2019 4 commits
    • Kai Willadsen's avatar
      iohelpers: Handle trash-related errors with NFS mounts (#268) · a70290c7
      Kai Willadsen authored
      NFS gives a different error code to other network mounts for some
      reason. Annoyingly, it's a generic error code so while I'm hesitant to
      blanket handle it like this... really we're putting up a confirmation
      dialog here so it's not the worst thing.
      a70290c7
    • Kai Willadsen's avatar
    • Vasily Galkin's avatar
      gtktemplate: fix prototype tested on debian · 6d7c7b7d
      Vasily Galkin authored
      It looks that when init_template lambda attaching
      was changed from class to instance in
      pygobject@05c3b8dc
      it argument list should change too.
      I tested with printfs that when if it is called for class attaching
      it receives self as "s", and for instance attaching - no arguments
      
      This change fixes "missing 1 required positional argument: 's'" exception
      
      After that meld opens but with empty window.
      It looks to be related to the fact that MeldWindow tried to call
      MeldWindow.init_template class method
      resulting in second-time call of actual method,
      since only instance method was replaced to empty in first call,
      not the class one
      (I think that the first call is from "newer" python-gi 3.30.4-1
      and second call from meld itself)
      
      Changing this to instance method solves this problem,
      however I didn't tested on older python-gi
      
      Digging a bit more, I found that the "Format as patch" dialog UI
      - the 3-pane radiobuttons and reversing checkbox doesn't work.
      The checkbox can be fixed by a simple addition of @Template.Callback()
      but the radiobuttons don't
      6d7c7b7d
    • Kai Willadsen's avatar
      patchdialog: Make the side selection radiobuttons actually work · 32d3c488
      Kai Willadsen authored
      It seems like this hasn't worked for half a decade, but it's entirely
      possible that some GTK+ change made our mistake here more obvious.
      32d3c488
  8. 06 Jan, 2019 11 commits
  9. 05 Jan, 2019 1 commit
  10. 01 Jan, 2019 2 commits
    • Kai Willadsen's avatar
      filediff: Fix check-save workflow when given a list of buffers · 4f947506
      Kai Willadsen authored
      This isn't currently used, but it was when we were using
      check_save_modified() for drag-n-drop and file selector save checks.
      The problem was that when actually trying to save we prompted using the
      passed buffer list, but didn't refer to that list when trying to save.
      4f947506
    • Kai Willadsen's avatar
      filediff: Move users of check-save workflow to confirm-discard instead · 1c0c2985
      Kai Willadsen authored
      The benefit here is that while state in check-save is async (because we
      use the async saving of GtkSource.FileSaver), confirm-discard has no
      state and is a straight up modal confirm with no complications.
      
      The places we're now doing this is when the user changes the file
      selector, and when they drag-n-drop a new file on to the pane. In both
      cases, I think these aren't situations where the user is likely to
      actually have accidentally forgotten to save (since they're extremely
      deliberate manipulations of the current comparison), so the simple
      confirm seems like a reasonable complexity trade-off.
      1c0c2985
  11. 31 Dec, 2018 3 commits
    • Kai Willadsen's avatar
      dirdiff: Fix menu focus issues by removing a *lot* of code · 4e46baee
      Kai Willadsen authored
      The actual reason I went to change this was that if you tried to use the
      menu bar items, the main actions (i.e., compare, copy, delete) were all
      insensitive. This happens because we unset their sensitivity on treeview
      focus loss. I suspect that the intention here was to keep consistent
      action state, but in reality we can just invoke the action based on the
      last focus pane, which is what the user expects.
      
      When doing this, I found that the focus handler block/unblock around
      popup handling was doing nothing useful, and then that the popup menu
      handling was actually slightly confused with the custom filter menu
      code, so... now it's mostly deleted.
      4e46baee
    • Kai Willadsen's avatar
    • Kai Willadsen's avatar
      filediff: Simplify save dialog creation · 34fbe8e6
      Kai Willadsen authored
      34fbe8e6
  12. 09 Dec, 2018 2 commits