1. 29 Nov, 2020 4 commits
  2. 26 Nov, 2020 8 commits
  3. 25 Nov, 2020 7 commits
    • Jehan's avatar
      libgimp, libgimpwidgets: fix gimp_prop_scale_entry_new() for integer… · b7d55fa0
      Jehan authored
      … properties.
      Also a forgotten fix in a call of this function in GimpProcedureDialog.
      b7d55fa0
    • Michael Schumacher's avatar
    • Jehan's avatar
      plug-ins: port file-jpeg export procedure to new API. · 731537be
      Jehan authored
      This is nearly 600 lines less for basically the same logics! Removed
      code is in particular all the GUI code is favor of the new GUI
      generation.
      I also cleaned a lot of stuff, removing many global variables or ugly
      pieces of code. I also removed a lot of redundant code of things which
      are now generic, such as handling of "gimp-comment" parasite (this is
      now handled by GimpSaveProcedure and GimpImageMetadata) as well as
      saving previous run's values (this is also handled generically).
      
      Note that Advanced Options used to be in an expander. For now I chose to
      get them immediately visible (still in their own "Advanced Options"
      section, but it's now a normal frame, not an expander hidden by default)
      since lately we got some input that many "advanced options" in various
      dialogs should not be hidden away. So let's try like this for now (even
      though it packs quite a lot of options in the same dialog!).
      
      I thoroughly tested, yet that were so many changes that bugs may have
      sneaked in. Please anyone, test JPEG export!
      731537be
    • Jehan's avatar
      libgimp: new gimp_procedure_dialog_get_scale_entry() function. · 87062e22
      Jehan authored
      Though a GimpScaleEntry could already be created with
      gimp_procedure_dialog_get_widget(), this specific function allows to add
      a factor to the property range.
      87062e22
    • Jordi Mas's avatar
      Update Catalan translation · f678aeba
      Jordi Mas authored
      f678aeba
    • Jehan's avatar
      libgimpwidgets: improved gimp_prop_scale_entry_new(), new function… · 2ea5dec5
      Jehan authored
      … gimp_label_spin_set_digits() and deleted gimp_prop_opacity_entry_new()
      
      - The "digits" argument for the number of decimal places in
        gimp_prop_scale_entry_new() is now mostly useless since GimpLabelSpin
        (hence GimpScaleEntry too) got a nice estimation algorithm of sensible
        values.
      - Add gimp_label_spin_set_digits() function to manually set the digits
        property when we don't like the estimated value.
      - Also add a new "factor" argument to gimp_prop_scale_entry_new(). Its
        role is to allow a GimpScaleEntry showing a factored range, typically
        a [0, 100] range for some types of [0, 1] properties.
      - Remove gimp_prop_opacity_entry_new() which was basically a
        special-case of gimp_prop_scale_entry_new() and which can now be
        easily reproduced by simply set factor=100.0.
      - Update all usage of gimp_prop_scale_entry_new() in app/ and plug-ins/
        with updated arguments. It is interesting to note that all existing
        usage were either integers (digits=1) or when double, the estimated
        decimal places are the same as the ones which were manually set (hence
        showing the generic estimation is not too bad). So the new function
        gimp_label_spin_set_digits() was not even needed once in current code.
      2ea5dec5
    • Jehan's avatar
      libgimp, libgimpbase, libgimpwidgets: new gimp_range_estimate_settings() · 8d5008d7
      Jehan authored
      Similar code was used in 2 places basically (GimpLabelSpin and
      GimpProcedureDialog) so just make it an utils function. It's good anyway
      to have a generic function to estimate suitable increments and decimal
      places depending on a range.
      
      As a consequence also gimp_label_spin_new() now takes a gint digits
      (instead of guint), with -1 meaning we want digits computed from the
      range.
      Similarly gimp_prop_scale_entry_new() docs adds the -1 meaning too.
      8d5008d7
  4. 24 Nov, 2020 11 commits
  5. 23 Nov, 2020 3 commits
    • Jehan's avatar
      3e67d7d6
    • Jehan's avatar
      plug-ins: update file-png to new metadata handling. · 56bfda3d
      Jehan authored
      The plug-in GUI code keeps slimming down. :-)
      56bfda3d
    • Jehan's avatar
      libgimp: new metadata support concept in GimpSaveProcedure and new… · 3918a0a0
      Jehan authored
      … class GimpSaveProcedureDialog.
      The idea is that we have basically the same code in most file format
      plug-ins to handle various generic metadata, yet usually with slight
      differences here and there. Even behavior is sometimes a bit different
      even though there is no reason for the logics to be different from one
      format to another.
      
      So I move the metadata support logics into GimpSaveProcedure (and
      GimpProcedureConfig still keeps the main export logics). The GUI logics
      is now in a new GimpSaveProcedureDialog. So export plug-ins will now get
      the creation of generic metadata nearly for free. All they have to do is
      to tell what kind of metadata the GimpSaveProcedure supports with the
      gimp_save_procedure_set_support_*() functions.
      
      Then consistency will apply:
      - If a format supports a given metadata, they will always have an
        auxiliary argument with the same name across plug-ins.
      - The label and tooltips will also be always the same in the GUI.
      - Order of metadata widgets will also stay consistent.
      - The widgets will work the same (no more "Comment" text view missing in
        one plug-in but present in another, or with an entry here, and a text
        view there, and so on).
      
      Also adding gimp_save_procedure_dialog_add_metadata() to allow plug-ins
      to "declare" one of their options as a metadata option, and therefore
      have it packed within the "Metadata" block which is now created (for
      instance for PNG/TIFF/JPEG specific metadata). This allows a nicer
      organization of dialogs.
      3918a0a0
  6. 22 Nov, 2020 1 commit
  7. 20 Nov, 2020 6 commits