1. 20 Jan, 2019 1 commit
    • Jehan's avatar
      Issue #2828: Scrolling up with a mouse within a drop-down list. · 1d984542
      Jehan authored
      We were doing it all the wrong way, fixing one combo box object at a
      time. So this commit basically reverses commits 68a33ab5, 6dfca83c
      and a9a979b2 and instead runs the same code in the class code. This
      way, all objects based on these base classes will have the fix from
      scratch.
      These improved various other drop-down lists (I found some of them, and
      probably not all) as I fixed all GIMP custom widgets based on
      GtkComboBox.
      
      Note that it has to be run after filling the list apparently (I had the
      problem especially with GimpIntComboBox if running in the _init() code,
      then the list widget showed wrong).
      1d984542
  2. 19 Dec, 2018 1 commit
    • Jehan's avatar
      app: show the layer mode dropdown list properly. · 6dfca83c
      Jehan authored
      Showing it was only displaying the top modes, with a lot of top space,
      and you had to slowly scroll down the list. This is the same as #2642
      (as Alexandre noted in a comment), so I just use the same "fix" though I
      don't fully understand it. It feels more of a side effect of
      gtk_combo_box_set_wrap_width() working around a bug of GtkComboBox. So
      if anyone has a better fix and understand the issue, feel free to patch
      (maybe GTK+ directly?). In the meantime, it works well enough. :-)
      6dfca83c
  3. 18 Sep, 2018 1 commit
    • Ell's avatar
      app, libgimp*, modules: don't use g_type_class_add_private() ... · 3b0040c0
      Ell authored
      ... and G_TYPE_INSTANCE_GET_PRIVATE()
      
      g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
      deprecated in GLib 2.58.  Instead, use
      G_DEFINE_[ABSTRACT_]TYPE_WITH_PRIVATE(), and
      G_ADD_PRIVATE[_DYNAMIC](), and the implictly-defined
      foo_get_instance_private() functions, all of which are available in
      the GLib versions we depend on.
      
      This commit only covers types registered using one of the
      G_DEFINE_FOO() macros (i.e., most types), but not types with a
      custom registration function, of which we still have a few -- GLib
      currently only provides a (non-deprecated) public API for adding a
      private struct using the G_DEFINE_FOO() macros.
      
      Note that this commit was 99% auto-generated (because I'm not
      *that* crazy :), so if there are any style mismatches... we'll have
      to live with them for now.
      3b0040c0
  4. 11 Jul, 2018 1 commit
  5. 20 May, 2018 1 commit
  6. 01 Dec, 2017 1 commit
  7. 30 Nov, 2017 1 commit
    • Ell's avatar
      app: add abbreviations for layer modes · 5a287539
      Ell authored
      Add abbreviated versions for long layer mode names.  In particular,
      replace the "(legacy)" suffixes with "(l)" in the abbreviated
      versions.
      5a287539
  8. 23 Oct, 2017 1 commit
    • Ell's avatar
      app: when changing layer-mode group, check new mode against context · 5f7c0323
      Ell authored
      When changing the layer-mode group in a GimpLayerModeComboBox, check
      the new mode against the combo's context, and fall back to normal if
      it's not applicable.  This is necessary for the color-erase mode,
      which has both a legacy and non-legacy variants.  The former is
      applicable for painting contexts, so we want to map the non-legacy
      mode to it when changing groups, however, it's not applicable for
      layer contexts, so, in this case, we want to map the non-legacy mode
      to normal.
      5f7c0323
  9. 19 Aug, 2017 1 commit
  10. 26 Feb, 2017 1 commit
  11. 17 Feb, 2017 2 commits
    • Ell's avatar
      app: improve layer-mode menu separator logic · 8aa3d5ed
      Ell authored
      8aa3d5ed
    • Ell's avatar
      app: derive the layer-mode menu layout entirely from the info arrays · e30d235e
      Ell authored
      Replace the 'with-behind' and 'with-replace' properties with a
      single 'context' property, and use it to select the included
      layer modes, according to their context mask.
      
      Add a dummy GIMP_LAYER_MODE_SEPARATOR value to the GimpLayerMode
      enum, and use it to explicitly mark the menu separators in the
      layer-mode group arrays; add separators to the layer-mode menu
      accordingly.
      
      Update the rest of the code to use 'context' instead of 'with-behind'
      and 'with-replace'.  In particular, in the layers and layer options
      dialogs, select the right context based on whether or not the
      selected layer is a group.
      e30d235e
  12. 07 Feb, 2017 1 commit
  13. 05 Feb, 2017 2 commits
    • Michael Natterer's avatar
      app: move layer mode enums and gimp-layer-modes.[ch] to operations/ · 2950fecf
      Michael Natterer authored
      and to operations/layer-modes/, respectively.
      
      Add gimp_layer_modes_init() which asserts on the correct order of the
      GimpLayerModeInfo array, and switch to accessing the array directly in
      gimp_layer_mode_info().
      2950fecf
    • Ell's avatar
      app: add "hard mix" blend mode · 8f4700b8
      Ell authored
      Similar to the Photoshop mode of the same name.  Assigns
      either 0 or 1 to each of the channels, depending on whether the
      sum of source and destination channel values is less than, or
      greater than (or equals to), one, respectively.
      
      This is equivalent to inverting the source, and using it to perform
      per-pixel, per-channel threshold against the destination, which is
      useful for various effects.
      8f4700b8
  14. 31 Jan, 2017 1 commit
  15. 30 Jan, 2017 4 commits
  16. 29 Jan, 2017 1 commit
  17. 28 Jan, 2017 2 commits