1. 04 May, 2018 4 commits
  2. 02 May, 2018 1 commit
  3. 30 Apr, 2018 1 commit
  4. 28 Apr, 2018 3 commits
  5. 27 Apr, 2018 2 commits
  6. 25 Apr, 2018 1 commit
    • Kai Willadsen's avatar
      sourceview: Fix pasting multi-byte encodings (#179) · 4b6f3652
      Kai Willadsen authored
      For this API, pygobject isn't handling string length arguments for us,
      so we had to do it ourselves. Shockingly, I got it very wrong. The API
      requires a UTF-8 encoded string (which pygobject transparently encoded
      for us) but the length arg has to be the bytestring length, not the
      unicode codepoint length, which is what we were previously passing
  7. 22 Apr, 2018 1 commit
  8. 21 Apr, 2018 1 commit
  9. 20 Apr, 2018 11 commits
    • Kai Willadsen's avatar
      misc: Fix translation markings · 663a0552
      Kai Willadsen authored
    • Kai Willadsen's avatar
    • Kai Willadsen's avatar
    • Kai Willadsen's avatar
      filediff: Add a helper for showing user-criticial errors · db57bf5b
      Kai Willadsen authored
      The idea behind this decorator is that it should be used with functions
      where failure is important to the user (and may not be obvious
      otherwise). The only current use is on save, where it's possible to hit
      a traceback and have the callback handling crash out, but other than a
      log message or traceback on the command line... the user may not notice
      This is made necessary by the GTK+/pygobject philosophy (which is
      generally extremely good) of treating errors of this kind as non-fatal.
      We also want it to not be fatal in this case, but... the user needs to
      know if they tried to save a file and it didn't work.
      On the other hand, if they tried to e.g., go to the next diff and we
      messed something up and didn't go to the next diff, (a) they'd notice
      and (b) showing them a modal dialog would be even more annoying than
      the actual error.
    • Kai Willadsen's avatar
      FIXME: Initial pass at a wrapper that ensures that a user sees that we've... · 88d511ab
      Kai Willadsen authored
      FIXME: Initial pass at a wrapper that ensures that a user sees that we've errored, for certain critical things (like saving...)
    • Kai Willadsen's avatar
    • Kai Willadsen's avatar
      filediff: Work around GtkSourceView load failure (final part of #152) · da3ba746
      Kai Willadsen authored
      When GtkSourceView's loader fails to load due to a unicode decode issue,
      at least one of the failure cases doesn't actually end the in-progress
      user action (see bgo#795387). Because we use user-actions to handle both
      our undo stack and also our sensitivity setting (i.e., we disable some
      things while you're in the middle of a user action) this breaks several
      things across the Meld UI, basically putting us in a very weird state.
      The workaround here is... not good, but it's the best we can do for now.
      If/when the GtkSourceView side of this gets fixed, we'll end up with a
      lot of GTK+ critical logs, but everything *should* continue to work.
    • Kai Willadsen's avatar
      undo: Make abort_group() handling the same as the end_group() · a7bb4281
      Kai Willadsen authored
      This also updates the docstring to not suggest that we actually revert
      the changes made in the pending grouped actions.
    • Kai Willadsen's avatar
      undo: Change the end_group() behaviour to handle a missing group · cbe85eda
      Kai Willadsen authored
      This is definitely a programming error, but we shouldn't rely on seeing
      assertions. More to the point, this will only ever break the user's
      experience, so it's almost certainly better here to just discard the
      bad group close and warn about it.
    • Kai Willadsen's avatar
      sourceview: Intercept and sanitise text-tags on paste · 02dcbd6d
      Kai Willadsen authored
      This is a different way of handling bgo#709580, with the change
      triggered by #152.
      The original problem here is that if you copy-paste within Meld, the
      tags that we use to indicate an inline difference get pasted as well, by
      GtkTextView/Buffer. This behaviour seems very difficult to opt out of.
      The first pass at handling this hacked around the problem by hooking in
      to tag apply and, if we were in an action group, skipping it. This
      basically worked (but was fragile) until we hit an error situation where
      we had unclosed action groups, at which point no tags were ever applied.
      This second pass instead hooks in to the textview paste_clipboard vfunc
      and requests and sets a text-only representation in the clipboard. This
      effectively sanitises the clipboard contents and so... seems to work.
    • Matej Urbančič's avatar
      Added Slovenian translation · 8ff59e8a
      Matej Urbančič authored
  10. 12 Apr, 2018 5 commits
  11. 07 Apr, 2018 10 commits