1. 27 Dec, 2018 1 commit
    • Ell's avatar
      app: remove "Edit -> Fade..." · ed7ea51f
      Ell authored
      This commit completely removes the "Edit -> Fade..." feature,
      because...
      
      - The main reason is that "fade" requires us to keep two buffers,
        instead of one, for each fadeable undo step, doubling (or worse,
        since the extra buffer might have higher precision than the
        drawable) the space consumed by these steps.  This has notable
        impact when editing large images.  This overhead is incurred even
        when not actually using "fade", and since it seems to be very
        rarely used, this is too wasteful.
      
      - "Fade" is broken in 2.10: when comitting a filter, we copy the
        cached parts of the result into the apply buffer.  However, the
        result cache sits after the mode node, while the apply buffer
        should contain the result of the filter *before* the mode node,
        which can lead to wrong results in the general case.
      
      - The same behavior can be trivially achieved "manually", by
        duplicating the layer, editing the duplicate, and changing its
        opacity/mode.
      
      - If we really want this feature, now that most filters are GEGL
        ops, it makes more sense to just add opacity/mode options to the
        filter tool, instead of having this be a separate step.
      ed7ea51f
  2. 23 Oct, 2018 1 commit
  3. 07 Oct, 2018 1 commit
    • Michael Natterer's avatar
      app: remove the image's "Enable Color Management" toggle · c399b894
      Michael Natterer authored
      It was not doing anything right since space invasion. We now treat the
      built-in sRGB profile like any other profile and never bypass
      conversions based on some weird toggle.
      
      Instead, introduce a "Use sRGB Profile" toggle which, when enabled,
      hides whatever profile away so the image actually uses the built-in
      sRGB profile.
      
      This is different from discarding and then re-assigning the same
      profile only by being faster and more convenient.
      c399b894
  4. 03 Oct, 2018 1 commit
    • Ell's avatar
      Issue #2303 - Please add Constant type of gradient interpolation ... · 68bf99e8
      Ell authored
      ... to make multi-color hard-edge gradient fills possible
      
      Add a new "step" gradient-segment blending function, which is 0
      before the midpoint, and 1 at, and after, the midpoint.  This
      creates a hard-edge transition between the two adjacent color stops
      at the midpoint.  Creating such a transition was already possible,
      but required duplicating the same color at the opposing ends of two
      adjacent stops, which is cumbersome.
      68bf99e8
  5. 02 Sep, 2018 1 commit
    • Ell's avatar
      app, icons, menus: add performance-log recording to the dashboard · 36477bb2
      Ell authored
      Add an option to record a performance log through the dashboard.
      The log contains a series of samples of the dashboard variables, as
      well as the full program backtrace, when available.  As such, it
      essentially acts as a built-in profiler, which allows us to
      correlate program execution with the information available through
      the dashboard.  It is meant to be used for creating logs to
      accompany perofrmance-related bug reports, as well as for profiling
      GIMP during development.
      
      The sample frequency defaults to 10 samples per second, but can be
      overridden using the GIMP_PERFORMANCE_LOG_SAMPLE_FREQUENCY
      environment variable.  Backtraces are included by default when
      available, but can be suppressed using the
      GIMP_PERFORMANCE_LOG_NO_BACKTRACE environment variable.
      
      Logs are created through the new "record" button at the bottom of
      the dashboard dialog.  When pressed, a file dialog is opened to
      select the log file, and, once confirmed, data is being recorded to
      the selected file.  Recording is stopped by pressing the "record"
      button again (we use a highlight to indicate that recording is
      active.)
      
      While recording, the "reset" button is replaced with an "add marker"
      button, which can be used to add event markers to the log.  These
      can be used to mark events of interest, such as "started painting"
      and "stopped painting", which then appear in the log as part of the
      sample stream.  Markers are numbered sequentually, and the number
      of the next (to-be-added) marker appears on the button.  Shift-
      clicking the button adds an empty (description-less) marker, which
      is only identified by its number; this can be used when markers
      need to be added quickly.
      
      The log is an XML file, containing some extra information (such as
      the output of "$ gimp -v", and symbol information) in addition to
      the samples.  The data in the file is delta-encoded to reduce the
      file size, meaning that samples (as well as some other elements)
      only specify the changes since the previous sample.  This adds a
      necessary decoding step before data can be processed; the next
      commit adds a tool that does that.
      
      There are currently no tools to actually analyze the data -- that's
      still TBD -- but at least we can start gathering it.
      36477bb2
  6. 09 Aug, 2018 1 commit
  7. 30 Jul, 2018 1 commit
    • ONO Yoshio's avatar
      MR !19: Add support for vertical text writing. · 587d9bbb
      ONO Yoshio authored
      Squashed commit of the following:
      
      commit ee1ff7d502658cfa1248a13a3f0348495db07eda
      Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
      Date:   Sun Jul 29 00:31:47 2018 +0900
      
          Fixed that gimp-text-dir-ttb-* icons are lacked in Symbolic.
      
      commit d87d012d697628da28fe90199cc04b95b72ba8ef
      Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
      Date:   Sat Jul 28 16:23:10 2018 +0900
      
          Fix a typo.
      
      commit cf0238bf7df56c384cdf3b7ec69557d14740f853
      Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
      Date:   Sat Jul 28 15:50:57 2018 +0900
      
          Fixed seg fault error.
      
      commit b07f60d0
      Author: ONO Yoshio <ohtsuka.yoshio@gmail.com>
      Date:   Fri Jul 27 17:15:34 2018 +0900
      
          Add support for vertical text writing.
      
          #641
      587d9bbb
  8. 07 Jul, 2018 1 commit
    • Jehan's avatar
      app: a skeleton for the extension GUI. · ff12c2d9
      Jehan authored
      This is using GTK+3 widgets, so I make sure to keep it well separated
      from core code. The gimp-2-10 version will have to rework the GUI, but
      the GtkListBox and GtkSwitch are nice and make things easier, so it is
      worth using them here).
      ff12c2d9
  9. 05 Jul, 2018 1 commit
  10. 20 Jun, 2018 1 commit
  11. 27 May, 2018 1 commit
  12. 19 May, 2018 1 commit
  13. 06 May, 2018 2 commits
  14. 13 Apr, 2018 1 commit
  15. 02 Apr, 2018 1 commit
  16. 29 Mar, 2018 1 commit
    • Ell's avatar
      app: add --show-debug-menu command-line option · 53c145c0
      Ell authored
      The debug menu is currently not included in stable versions.
      
      Include the menu unconditionally, but hide it, and its associated
      actions, by default in stable versions.  Allow enabling the menu
      using a new --show-debug-menu command-line option, in the same vein
      as --show-playground.
      53c145c0
  17. 14 Mar, 2018 1 commit
    • Ell's avatar
      app, pdb, libgimp, plug-ins, menus: rename layer composite modes · a7f3a2dd
      Ell authored
      Our composite modes don't correspond directly to the Porter-Duff
      operators after which they're named, and these names aren't too
      descriptive anyway.
      
      Rename the composite modes as follows:
      
        Source Over       =>  Union
        Source Atop       =>  Clip to Backdrop
        Destination Atop  =>  Clip to Layer
        Source In         =>  Intersection
      
      Update relevant code, including UI text, enumerator names, function
      names, and action names.
      a7f3a2dd
  18. 14 Jan, 2018 1 commit
    • Michael Natterer's avatar
      Bug 792470 - Some filters e.g. "Levels" are not added to "Repeat last" history · b23f231a
      Michael Natterer authored
      The four remaining "classic" color tools (Brightness-Contrast, Curves,
      Levels and Threshold) are in fact just special UIs for otherwise
      completely normal filter ops.
      
      Add normal filter actions for them and invoke them like all
      other filters, which makes them show up in the filter history
      automatically.
      
      The only small hack needed is to special case them in
      gimp_gegl_procedure_execute_async() so the right tools are created
      instead of the default GimpOperationTool. Also, blacklist the
      automatically generated tools actions from action search and the
      shortcut editor.
      b23f231a
  19. 05 Jan, 2018 1 commit
  20. 30 Dec, 2017 1 commit
    • Ell's avatar
      app: various GimpDashboard improvements · ee418191
      Ell authored
      Refactor GimpDashboard to autogenerate the UI based on a
      description of the different variables, fields, and groups.
      
      Allow individual groups to be expanded/collapsed, and individual
      fields to be enabled/disabled.  Save the relevant state in the
      dashboard's aux-info.
      
      Add fields for the new GeglStats properties, as per GEGL commit
      25c39ce6c9bb618f06ac96d118e624be66464d74.  The new fields are not
      enabled by default.
      
      Add "reset" action, to clear the history, and reset cumulative
      data.
      ee418191
  21. 19 Dec, 2017 1 commit
    • Ell's avatar
      app, menus, icons: add dashboard dockable · 981e8dcd
      Ell authored
      The dashboard dockable shows the current GEGL cache and swap sizes,
      and their recent history.  It has options to control the update
      rate and history duration of the data, and an option to warn (by
      raising/blinking the dialog) when the swap size approaches its
      limit.
      981e8dcd
  22. 17 Nov, 2017 1 commit
  23. 12 Nov, 2017 1 commit
    • Michael Natterer's avatar
      Bug 789764 - Please add Paste In Place feature · f12d0d8c
      Michael Natterer authored
      Add "In Place" variants for all sorts of pasting:
      
      - extend the GimpPasteType enum with IN_PLACE values
      - add the needed actions and menu items
      - merge the action callbacks into one, taking an enum value as parameter
      - refactor the pasting code in gimp-edit.c into smaller functions
      
      We probably have too menu items in the "Edit" menu now, needs to be
      sorted out.
      f12d0d8c
  24. 28 Oct, 2017 1 commit
    • Ell's avatar
      app: make error-console highlighting criterion configurable · 7655dd72
      Ell authored
      Currently, the error console is highlighted (shown/blinked) only
      upon errors; however, warnings, which are not shown on the
      statusbar while the error console is open, often also contain
      important information.
      
      Allow the user to configure which message types (errors, warnings,
      and regular messages) highlight the error console, using a new
      "highlight" submenu in the error-console menu.  Add corresponding
      config options, saved in sessionrc.  By default, highlight the
      error console unpon both errors and warnings.
      7655dd72
  25. 28 Jul, 2017 1 commit
  26. 09 Jul, 2017 1 commit
  27. 08 Jul, 2017 2 commits
  28. 19 Jun, 2017 1 commit
  29. 05 Jun, 2017 2 commits
  30. 04 Jun, 2017 2 commits
  31. 03 Jun, 2017 1 commit
    • Michael Natterer's avatar
      app: allow filter actions to have hardcoded default operation settings · adb826fb
      Michael Natterer authored
      by encoding them directly in the string attached to all filter
      actions. The code now supports both "gegl:some-operation" and
      "gegl:some-operation\n<serialized config>".
      
      Add "default_settings" to GimpGeglProcedure to store the settings of
      the invoking action, much like the "default_run_mode" member.
      
      Change filters-commands.c to parse the new operation string, create
      GimpGeglProcedures with the deserialized settings, and use those
      settings when the procedures are ran.
      
      Change the filter history to be smarter about what is already in the
      history, there can now be several different procedures with the same
      name.
      
      Remove the dilate and erode actions from the drawable group, and add
      them to filters, they are just special cases of value-propagate with
      fixed settings.
      adb826fb
  32. 26 May, 2017 1 commit
  33. 15 May, 2017 1 commit
    • Jehan's avatar
      app, menus: rename confusing layers-text-tool and vectors-path-tool. · 0dbdf232
      Jehan authored
      "layers-text-tool" action shows as "Text Tool" while "vectors-path-tool"
      shows as "Path Tool". That's very confusing with tools-text and
      tools-vectors respectively.
      These actions are mostly about entering in edit mode with the active
      layer or path. For text layers, it will enter text edition on canvas,
      whereas just open the attributes edition dialog on other layers. For
      consistency, layers-text-edit is renamed as well too layers-edit-text.
      This also fix the side effect of commits 10099bda and 526918b2 where I
      didn't realize that layers-text-tool was also working on non text layers
      on purpose (being very badly named). Now there is a separate layers-edit
      and layers-edit-text.
      Thanks to Pat David for English corrections. :-)
      0dbdf232
  34. 07 May, 2017 1 commit
  35. 13 Feb, 2017 1 commit
  36. 12 Feb, 2017 1 commit