Commit Graph

42645 Commits

Author SHA1 Message Date
Ell
67f44f3e34 app: add GimpToolPolygon::change-complete signal
... which is emitted when finishing a change to the polygon,
similarly to GimpToolRectangle::change-complete.

(cherry picked from commit 134ff92fe0)
2019-04-25 06:10:25 -04:00
Ell
c161b0cccb app: add gimp_tool_polygon_is_closed()
(cherry picked from commit f84f1d89dc)
2019-04-25 06:10:24 -04:00
Ell
7d4ea79a98 app: allow passing NULL pointers to gimp_tool_polygon_get_points()
(cherry picked from commit e8c915af93)
2019-04-25 06:10:23 -04:00
Ell
fb1e552acd app: remove unused field from GimpPolygonSelectToolPrivate
(cherry picked from commit eda421e852)
2019-04-25 06:10:23 -04:00
Ell
655af1dd44 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.

(cherry picked from commit 4612105e52)
2019-04-25 06:10:22 -04:00
ee3bc11e61 Issue #3129: Split sentence on gimpexport.c.
(cherry picked from commit 4dcda7ffb8)
2019-04-25 00:35:53 +02:00
45784e9f50 Issue #3220 - "How to Use Dialogs" does not open any page. 2019-04-24 21:31:26 +00:00
776e2cba8f plug-ins: Move layer option up in TIFF dialog
This was requested by mitch.

(cherry picked from commit 5ddfe36d96)
2019-04-23 15:59:34 +02:00
Ell
95ea4e4272 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.

(cherry picked from commit bb8648a2e9)
2019-04-21 10:35:08 -04:00
7780f6169d Update Polish translation 2019-04-21 13:25:17 +02:00
7ef388a511 Update Russian translation 2019-04-21 00:02:44 +03:00
Ell
6de686bd50 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.

(cherry picked from commit b01113741e)
2019-04-20 14:53:26 -04:00
Ell
49f3319f19 app: don't leak curve in gimp_curves_config_save_cruft()
(cherry picked from commit eda8b717d5)
2019-04-19 15:30:16 -04:00
023a6f7900 Fix a terminology in zh_CN translation 2019-04-20 01:37:01 +08:00
5684d5f85f Update zh_CN translation of po-script-fu 2019-04-20 01:29:49 +08:00
9a1663fac5 Update zh_CN translation of po-tips 2019-04-20 01:12:27 +08:00
7d1656d079 Update zh_CN translation of po-libgimp 2019-04-20 01:09:10 +08:00
a6501e4ba2 Update zh_CN translation of po-tags 2019-04-20 00:52:23 +08:00
Ell
da0183a516 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.

(cherry picked from commit 8fc94184a8)
2019-04-19 11:35:30 -04:00
Ell
f8eddc8696 app: fix last commit
(cherry picked from commit f6d76ff342)
2019-04-19 11:23:38 -04:00
Ell
168fa15091 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.

(cherry picked from commit be719f9070)
2019-04-19 11:13:18 -04:00
Ell
001acb7d18 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.

(cherry picked from commit 33e47c85a2)
2019-04-19 10:36:28 -04:00
Ell
f473af3c46 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.

(cherry picked from commit 5140d903b8)
2019-04-19 10:36:27 -04:00
Ell
9861ea8e87 app: add "selection-changed" signal to GimpCruveView
... which gets emitted when the selected point changes.

(cherry picked from commit 91ecca7e10)
2019-04-19 10:36:27 -04:00
Ell
b5da9918f1 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).

(cherry picked from commit b6d829a1b2)
2019-04-19 10:36:25 -04:00
Ell
f141fc4064 app: fix gimp_operation_levels_map_input() for negative values
... when gamma != 1

(cherry picked from commit dc6ca2cf9a)
2019-04-19 10:34:42 -04:00
1158c0c10f Update zh_CN translation of po-windows-installer 2019-04-19 15:54:04 +08:00
0a05a2354e Update zh_CN translation 2019-04-19 15:47:02 +08:00
345a9a89fa Update French translation 2019-04-18 16:16:17 +00:00
Ell
65a2a2fd8b 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.

(cherry picked from commit 8357c9ad64)
2019-04-17 18:00:25 -04:00
Ell
1ecb868821 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.

(cherry picked from commit 0b9737a3ed)
2019-04-17 18:00:25 -04:00
8e9034cab8 Update Turkish translation 2019-04-17 19:23:19 +00:00
7cb6df0db6 Update Turkish translation 2019-04-17 19:01:38 +00:00
a0948e8164 Update Turkish translation 2019-04-17 19:01:18 +00:00
27f20dd99a Update Turkish translation 2019-04-17 19:00:57 +00:00
e17860fada Update Turkish translation 2019-04-17 18:58:44 +00:00
Ell
0ee8e5f17a 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.

(cherry picked from commit 83184d1626)
2019-04-17 10:02:44 -04:00
8009f62a77 Update German translation 2019-04-16 11:34:37 +00:00
9335c26b68 plug-ins: Add layer support to TIFF writing
(cherry picked from commit 7584969453)
2019-04-16 10:17:49 +02:00
d1d0022500 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.

(cherry picked from commit b9458f8a6e)
2019-04-15 23:54:51 +02:00
ec132fa396 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).

(cherry picked from commit 5f4cf53519)
2019-04-15 23:12:38 +02:00
bfe24a3b50 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.

(cherry picked from commit 7a4b313b12)
2019-04-15 17:53:37 +02:00
b9ed4a7f14 Update German translation 2019-04-13 18:21:15 +00:00
1c3317db70 plug-ins: GimpPrecision has no NON_LINEAR and PERCEPTUAL values.
Fixing commit 532866007d.
2019-04-12 17:17:00 +02:00
2608a7e2d6 app: remove defines GIMP_BRUSH_FILE_VERSION and GIMP_PATTERN_FILE_VERSION
they were unused and wrong. Also clean up the brush and pattern
headers a bit.

(cherry picked from commit aee6d44b61)
2019-04-12 16:33:15 +02:00
dcc297b6f7 Issue #3224: Fill by Line Art Detection Bug (Fatal Error with Crash).
Typos in gimp_pickable_contiguous_region_by_line_art().
Thanks to Massimo for debugging these!

(cherry picked from commit 5d5ced88a8)
2019-04-12 14:50:25 +02:00
3ee3ca9c71 Issue #3193: Wrong colors after exporting 8bpc RGB png from 32f...
... linear XCF.
When choosing a specific pixel format (other than "Automatic"), we
always export as non-linear. Therefore if we were going to save a linear
profile, make sure we also convert it to sRGB too.

(cherry picked from commit c5fae74ac1)
2019-04-12 14:36:49 +02:00
532866007d Issue #1070: exporting to jpeg from 32-bit float linear image...
... produces jpeg in linear color space.
The problem was that we were anyway always exporting to non-linear while
attaching a linear profile. A first approach would have been to export
in linear instead when the work image is linear, as proposed by mitch in
a first version of the patch. Yet as Elle Stone notes, it is not a great
idea to export 8-bit images as linear.
Instead let's continue to always export as non-linear, as we were
already doing. Yet when we also save a profile, and this one was
originally linear, let's convert it to sRGB TRC before exporting.

(cherry picked from commit 8594275bb7)
2019-04-12 14:36:49 +02:00
1baba460db Update Spanish translation 2019-04-11 11:13:48 +00:00
84bc29b77a Update Indonesian translation 2019-04-11 10:47:02 +00:00