Commit Graph

43352 Commits

Author SHA1 Message Date
Jehan 3db167083a build: bump nightly flatpak manifest to GNOME 3.32 runtime.
Following today's update from the stable manifest at flathub.
2019-04-25 21:32:41 +09:00
Jehan 062195117c plug-ins: fix TIFF linear export.
The export code was checking the existence of a profile variable which
was never set. In other words, it seems we were always converting TIFF
pixels to non-linear, even when we were also exporting a linear profile.

Note that is not useful anymore to check profile existence as we now use
the effective profile (which always exists). So we just have to check if
the "save profile" option is on.
2019-04-25 20:23:06 +09:00
Ell 6a2bea733b app: fix dirty mask/action in the rectangle- and free-select tools
In GimpRectangleSelectTool and GimpFreeSelectTool, make sure the
tool is committed when the selection is dirty.
2019-04-25 07:08:54 -04:00
Ell 476833b553 Issue #2328 - Free Select tool should create preliminary marching ants selection
In GimpFreeSelectTool, use gimp_selection_tool_{start,end}_change()
to create the selection as soon as the polygon is closed, and
update it when the polygon, or the relevant tool-options, change,
similarly to GimpRectangleSelectTool.
2019-04-25 06:07:58 -04:00
Ell afab7deaa3 app: factor-out common free/fg-select logic into GimpPolygonSelectTool
We currently derive GimpForegroundSelectTool from
GimpFreeSelectTool, which prevents us from making changes that are
limited to the free-select tool.

Factor out the common free-select and foreground-select logic into
a new GimpPolygonSelectTool base-class, and derive both from this
class.
2019-04-25 06:07:57 -04:00
Ell 134ff92fe0 app: add GimpToolPolygon::change-complete signal
... which is emitted when finishing a change to the polygon,
similarly to GimpToolRectangle::change-complete.
2019-04-25 06:07:57 -04:00
Ell f84f1d89dc app: add gimp_tool_polygon_is_closed() 2019-04-25 06:07:56 -04:00
Ell e8c915af93 app: allow passing NULL pointers to gimp_tool_polygon_get_points() 2019-04-25 06:07:55 -04:00
Ell eda421e852 app: remove unused field from GimpPolygonSelectToolPrivate 2019-04-25 06:07:55 -04:00
Ell 4612105e52 app: move undo/redo logic for GimpRectangleSelectTool to GimpSelectionTool
Move GimpRectangleSelectTool's image undo/redo logic to
GimpSelectionTool, by adding a pair of
gimp_selection_tool_{start,end}_change() functions.  These
functions should be called by subclasses before/after changing the
selection, having the functions take care of undoing/redoing the
existing selection as necessary.  This allows us to reuse this
logic in other selection tools, specifically, the free-select tool.
2019-04-25 06:07:54 -04:00
Sabri Ünal cf892ba2f0 Issue #3220 - "How to Use Dialogs" does not open any page.
(cherry picked from commit 45784e9f50)
2019-04-24 23:32:57 +02:00
Jehan 8ee11d8d75 build: update various deps in flatpak manifest.
Sync with the stable manifest at flathub!
2019-04-24 17:43:35 +02:00
Carles Ferrando Garcia f8389c1d02 Update Catalan translation 2019-04-24 05:11:09 +00:00
Tobias Ellinghaus 5ddfe36d96
plug-ins: Move layer option up in TIFF dialog
This was requested by mitch.
2019-04-23 15:57:34 +02:00
Ell bb8648a2e9 Issue #3284 - Wrong layer renamed when switching images
In gimp_container_tree_view_clear_items(), temporarily unset the
tree-view's model before clearing it, so that name editing is
stopped beforehand.  Otherwise, name editing is stopped once the
corresponding item is removed from the store, causing us to rename
the wrong item.
2019-04-21 10:34:40 -04:00
Piotr Drąg fb0b4330e4 Update Polish translation 2019-04-21 13:25:43 +02:00
Ell b01113741e Issue #3275 - Crash when opening an image after closing existing image
In gimp_open_dialog_set_image(), use a weak pointer for storing the
current image, to avoid a segfault in file_open_dialog_response()
if the active image at the time of the open action has been closed
before confirming the dialog.
2019-04-20 14:53:19 -04:00
Ell eda8b717d5 app: don't leak curve in gimp_curves_config_save_cruft() 2019-04-19 15:30:11 -04:00
Aron Xu b65aeaf034 Fix a terminology in zh_CN translation 2019-04-20 01:35:12 +08:00
Aron Xu 0eb3ef2634 Update zh_CN translation of po-script-fu 2019-04-20 01:29:28 +08:00
lumingzh f02a1f880e Update zh_CN translation of po-tips 2019-04-20 01:12:06 +08:00
lumingzh 9ee3a8a08b Update zh_CN translation of po-libgimp 2019-04-20 01:07:46 +08:00
Mingye Wang 99976fbcb0 Update zh_CN translation of po-tags 2019-04-20 00:51:21 +08:00
lumingzh edb6767ed9 Update zh_CN translation 2019-04-20 00:48:50 +08:00
Ell 8fc94184a8 app: fix spin-button width in the Curves tool
In the Curves tool, explicitly set the point-coordinate spin-
buttons' width-chars, so that their size remains fixed when their
range changes.
2019-04-19 11:35:27 -04:00
Ell f6d76ff342 app: fix last commit 2019-04-19 11:23:12 -04:00
Ell be719f9070 app: fix Curves tool numeric-entry range/precision for > 8-bpc images
In the Curves tool, when the image precision is greater than 8-bpc,
use a 0.00-100.00 range for the point-coordinate spin-buttons,
instead of a 0-255 range.
2019-04-19 11:13:14 -04:00
Ell 33e47c85a2 app: add smooth/corner curve-point types
Allow setting the type of GimpCurve control-points to either SMOOTH
or CORNER.  Smooth points produce a smooth curve, while corner
points produce a sharp curve (previously, all points were smooth).

In GimpCureView, display corner points using a diamond shape,
instead of a circle.

In the Curves tool, allow changing the curve's point types.
2019-04-19 10:34:32 -04:00
Ell 5140d903b8 Issue #1528 - Allow precise or numeric input in color curves tool
Add input/output spin-buttons to the Curves tool, which allow
setting the selected point's coordinates numerically.
2019-04-19 10:34:31 -04:00
Ell 91ecca7e10 app: add "selection-changed" signal to GimpCruveView
... which gets emitted when the selected point changes.
2019-04-19 10:34:31 -04:00
Ell b6d829a1b2 app: streamline GimpCurve
In GimpCurve, replace the use of a fixed-length control-point array
with a dynamically-sized array.  Adapt GimpCurve's interface, and
the rest of the code.

In addition to simplifying the code, this fixes a bug where the
curve object could be broken by moving the mouse too fast (yep...),
and allows more accurate point placement, both in the GUI editor,
and through canvas interaction in the Curves tool (see issue #814).
2019-04-19 10:34:29 -04:00
Ell dc6ca2cf9a app: fix gimp_operation_levels_map_input() for negative values
... when gamma != 1
2019-04-19 10:32:05 -04:00
Aron Xu 4f8a5e02d7 Update zh_CN translation of po-windows-installer 2019-04-19 15:53:35 +08:00
lumingzh a9e147aec3 Update zh_CN translation 2019-04-19 15:42:11 +08:00
Jehan 91c69b782c app: null the pointer after destruction.
Make sure we don't end up with a broken pointer in case it was not
immediately re-set.
2019-04-19 09:28:22 +02:00
Ell 8357c9ad64 app: in GimpCurveView, snap to curve when holding Ctrl
In GimpCurveView, when holding down Ctrl while adding/dragging a
point, snap the y-coordinate to the original curve (at the start of
the drag).  This is particularly useful for adding points along the
curve, without changing their y-coordinate.

Likewise, have the coordinate indicator show the snapped
coordinate.
2019-04-17 18:00:18 -04:00
Ell 0b9737a3ed app: in GimpCurveView, use relative motion when dragging point
In GimpCurveView, when dragging an existing curve point, don't
immediately move the point to the cursor position uppon button
press, but rather move it relative to its current position as the
cursor moves.  This allows selecting a point without moving it, and
adjusting its position more easily.

Additionally, when the cursor hovers above a point, or when
dargging a point, have the coordinate indicator show the point's
position, rather than the cursor's.
2019-04-17 18:00:17 -04:00
Sabri Ünal 62f7f2775e Update Turkish translation 2019-04-17 19:27:58 +00:00
Sabri Ünal 8bdb27d85a Update Turkish translation 2019-04-17 19:26:04 +00:00
Sabri Ünal fbc8893465 Update Turkish translation 2019-04-17 19:25:44 +00:00
Sabri Ünal df1b5c8cbb Update Turkish translation 2019-04-17 19:23:43 +00:00
Sabri Ünal 2522df0d2f Update Turkish translation 2019-04-17 18:56:15 +00:00
Sabri Ünal d2f6f19758 Update Turkish translation 2019-04-17 18:54:25 +00:00
Ell 83184d1626 app: add incremental mode to the Dodge/Burn tool
Add an "Incremental" option to the Dodge/Burn tool, which,
similarly to the Paintbrush, Pencil, and Eraser tools, applies the
effect incrementally as the pointer moves.
2019-04-17 10:02:42 -04:00
Tim Sabsch 6532a7e529 Update German translation
(cherry picked from commit 8009f62a77)
2019-04-16 11:34:58 +00:00
Tobias Ellinghaus 7584969453
plug-ins: Add layer support to TIFF writing 2019-04-16 10:04:16 +02:00
Jehan b9458f8a6e plug-ins: export linear WebP if and only if the work image was 8-bit...
... linear itself AND if we export the profile.
Implement similar logics to WebP export as I did to JPEG in my previous
commit.
2019-04-15 23:52:53 +02:00
Jehan 5f4cf53519 plug-ins: export linear JPEG if and only if the work image was 8-bit...
... linear itself AND if we export the profile.

In most cases we want to save 8-bit image formats (here JPEG) as
non-linear, even though the work image may have been linear itself (yet
with higher bit depth). The reasons are shadow posterization on low bit
depth, and the fact that JPEG compression was designed for perceptually
uniform RGB and introduces shadow artifacts with linear RGB (see #1070,
message by Elle Stone). The only exception is when the creator was
working explicitly on 8-bit linear (not higher bit depth) AND if we
export the profile (otherwise most loaders around assume sRGB). In such
a case, let's consider the creator knows what one is doing and keep the
exported image linear.

Similar logics is already used in PNG exporter (though a bit of a
variant since PNG supports 16-bit so it is instead: 8-bit linear without
profile is promoted to 16-bit non-linear, and kept 8-bit linear with
profile).
2019-04-15 22:56:38 +02:00
Jehan 7a4b313b12 Issue #3253: exporting to webp from 32-bit float linear image...
... produces incorrect result.
Similar to previous fixes to JPEG and PNG exporters. Here WebP always
export 8-bit per channel colors, so let's always keep it non-linear.
Simply when the original data was linear, if we save the profile,
convert it to sRGB before exporting.
2019-04-14 22:18:36 +02:00
Tim Sabsch 862bf4af60 Update German translation
(cherry picked from commit b9ed4a7f14)
2019-04-13 18:21:37 +00:00