Commit Graph

40373 Commits

Author SHA1 Message Date
Jehan c0343a5969 desktop: update the release date.
Seems it will be today after all!
2018-03-25 14:23:28 +02:00
Michael Natterer 1b623a99c8 Bug 794469 - Shift-click to create layer/channel/path...
...should really use last values

When creating a layer or channel "from last values", really use the
values last set be the user in the respective dialogs. In particular,
don't use properties of the active layer or channel. I have no idea
what we were thinking when adding that obscure logic.
2018-03-25 14:08:50 +02:00
Ell 8f07d76786 app: fix paste-in-place when pasting over a layer group/locked item
When pasting in place over a layer group or a content-locked item,
change the paste type to NEW_LAYER_IN_PLACE, rather than NEW_LAYER,
so that the new layer is still pasted in the right location.

Additionally, avoid showing the "Pasted as new layer because ..."
message when pasting over a layer group or a content-locked item,
when the paste type is NEW_LAYER[_IN_PLACE] to begin with.
2018-03-24 12:50:16 -04:00
Jehan 888baac9c8 Revert "app: tweak sessionrc-expected-2-6 for make check to succeed."
This reverts commit 554347e0ff.
For some weird reason, this fixed the `make check` but broke the `make
distcheck`. I am lost. Better revert, and now distcheck works great.
2018-03-24 05:25:52 +01:00
Jehan 554347e0ff app: tweak sessionrc-expected-2-6 for make check to succeed.
I'm not sure how useful is this test if we have to just constantly tweak
the sessionrc for it to pass. But well… here it is.
Now make check fully passes.
2018-03-24 03:47:21 +01:00
Jehan 9adeee9d25 app, po: revert commit a0724783d8 and add a TRANSLATORS comment.
Not using %d in the singular form of English does not prevent other
languages to use %d in any form they wish to. This will still work and
will still be replaced by the relevant number of images.
So I revert commit a0724783d8 because it is just prettier (in English)
to write "An image" rather than "1 image", but this does not mean you
have to do the same in other languages! Adding a comment so that
translators know about it.

Also directly modify the msgid in the Polish and Russian translations
which already translated this string, so that the translations does not
end up unnecessarily fuzzy.
2018-03-24 03:07:07 +01:00
Piotr Drąg 08c4f84430 Update Polish translation 2018-03-24 01:43:52 +01:00
Jehan c49e34cf7e app: shorten to "Debug Policy" the long label in Preferences.
The text was too long and increasing the minimum width of Preferences
dialog.
2018-03-24 01:26:47 +01:00
Alexandre Prokoudine 8266c2246e Update Russian translation 2018-03-24 01:43:43 +03:00
Piotr Drąg 501b0822b8 Update Polish translation 2018-03-23 21:24:52 +01:00
Alexandre Prokoudine a0724783d8 Plural forms work better this way for languages other than English 2018-03-23 22:58:39 +03:00
Piotr Drąg 9add6b92f3 Update Polish translation 2018-03-23 20:54:12 +01:00
Michael Natterer 6dafb02a11 app: fix capitalization of the image recovery dialog title 2018-03-23 20:35:01 +01:00
Piotr Drąg bb58eab607 Update Polish translation 2018-03-23 20:16:34 +01:00
Piotr Drąg f3b3770283 Update Polish translation 2018-03-23 20:13:47 +01:00
Ell f49e4b4263 Bug 794634 - CRITICAL when adding layers with Dissolve mode
Fix a CRITICAL when calling gimp_layer_mode_get_format() with an
AUTO composite space and a NULL preferred format, which is valid:
it means the layer mode is composite-space agnostic (as DISSOLVE
is), and that there's no preferred format.

A NULL preferred format can occur during
gimp_operation_layer_mode_prepare() if the layer's mode node is not
yet attached anything through its "input" or "aux" pads, which is
the case during the call to gimp_layer_update_mode_node() while
constructing the layer's node in gimp_layer_get_node().
2018-03-23 14:57:10 -04:00
Jehan a9c3b4c54d desktop: add a <release> tag for GIMP 2.10 RC1. 2018-03-23 19:48:40 +01:00
Øyvind Kolås a0c55a6b96 depend on GEGL 0.3.30 2018-03-23 19:05:54 +01:00
Jehan cdabe69164 Bug 794469 - Shift-click-create layer always set "Default/Normal" mode.
It should use the last used layer mode instead.
2018-03-23 18:46:21 +01:00
Michael Natterer 2c417801fc app: fix error message in gimp_text_buffer_save() 2018-03-23 14:47:14 +01:00
Michael Natterer 822a7228c4 Bug 794221 - Recently used colors on text don't get added to the color history
Add signal GimpTextBuffer::color-applied which is emitted when text is
inserted or when color is applied to a span of text.

In GimpTextTool, connect to the signal and update the global color
history.

Unrelated: rename gimp_text_tag_get_color() to get_fg_color() and add
boolean return values to get_fg_color() and get_fg_color() which
indicates if a color is set on the tag at all. This ended up unneeded
in the fix but is an improvement regardless.
2018-03-23 14:19:01 +01:00
Jehan 3df168595e NEWS: keep up-to-date. 2018-03-23 01:30:58 +01:00
Jehan 25af765fe6 app: output a dialog to recover images salvaged after a crash.
Since commit d916fedf92, GIMP has had the hidden feature to salvage
images (if possible) during a crash into a backup folder. This commit
finishes the feature by opening a dialog proposing to try and recover
the salvaged images.
This is not perfect yet since it doesn't "remember" the XCF path (in
case it was a previously saved image). The images open as new unsaved
and dirty images, but directly from the contents at crash time. For now,
it is up to people to figure out what they correspond to, if relevant.
2018-03-23 00:57:56 +01:00
Ell 289ecebd69 Bug 793734 - White alpha border after upscaling
In gimp_gegl_apply_scale(), use a CLAMP abyss policy for the scale
op, to avoid leaking transparency into the image when scaling
drawables.

Note that this (intentionally) only affects whole-image/layer
scaling, and not scaling done using any of the transform tools.
2018-03-22 17:04:13 -04:00
Ell ab4b7ab33a app: crop input to output rect in channel ops
In gimp_gegl_apply_{border,grow,shrink,flood}(), which are used
by the corresponding channel functions, pass crop_input = TRUE to
gimp_gegl_apply_operation(), to clip the input to the output rect.

These operations process the entire input in one go, regardless of
the requested output region; however, the channel functions
calculate the output region according to the known channel bounds,
hence clipping the input to these bounds doesn't affect discard any
information, while avoiding unnecessary work.  In particular, this
makes the corresponding operations on small selections in big images
much faster.
2018-03-22 13:46:28 -04:00
Ell e1b1611ec4 app: add crop_input parameter to gimp_gegl_apply_operation()
Add a crop_input parameter to gimp_gegl_apply_[cached_]operation().
When TRUE, the functions crop the op's input to the destination
rect.  This is particularly useful for functions that process the
entire input in one go (by means of get_cached_region()).  See the
next commit.

Pass crop_input = FALSE at all call sites for now, to keep the
current behavior.
2018-03-22 13:46:28 -04:00
Jehan 4580285503 app, NEWS: metadata export settings are now ON by default.
After many discussions, it has been decided to export the metadata by
default since it seems to be what many people would expect and they
would consider they "lost" metadata (especially if they overwrite their
original). I don't entirely agree since privacy (particularly if you are
not aware of metadata and information they may contain) is also an issue
but not many seem to agree with me.
So here it is! All metadata now exported as a default!
2018-03-22 15:48:21 +01:00
Jehan 848b89afc2 autogen: add support for recent automake 1.16. 2018-03-22 13:26:43 +01:00
Jehan f497287837 app: only show FATAL errors by default for stable releases.
The debug dialog is awesome and extremely helpful, but I realize it may
be a better default experience on *stable* to raise it only in case of
crashes. CRITICAL are bad and should be fixed, but sometimes their
consequence is actually not visible except for this dialog, and people
on stable builds may prefer not to see this dialog. Also we will likely
get a lot of duplicates for the same bugs once everybody has this by
default, which will be very annoying to attend to, unless we had
automation (which we don't right now).
The option is still available in preferences anyway so people really
interested in helping can activate the option for CRITICAL and even
WARNING anyway, even on stable releases.
2018-03-22 13:23:11 +01:00
Michael Natterer 829d44d900 app: make "color" parameter of gimp_palettes_add_color_history() const 2018-03-21 19:10:55 +01:00
Michael Natterer 9a365eaf8b Bug 794378 - GIMP crashed while I was moving the image window
Use a weak pointer in GimpToolGui to not keep a dangling
private->viewable around.
2018-03-20 19:02:43 +01:00
Jehan c44f5a2f4c NEWS: keep up-to-date. 2018-03-20 17:33:19 +01:00
Jehan 34b68a2c1d plug-ins: rename s/YUV/YCbCr/ s/eYCC/xvYCC/ s/RGB/sRGB/.
Exchanging with OpenJPEG developers and searching more on the topic, it
seems that YUV is more often refered to as YCbCr. Wikipedia says:

> typically the terms YCbCr and YUV are used interchangeably, leading to
> some confusion. The main difference is that YUV is analog and YCbCr is
> digital

As for eYCC, I am told this is extended YCC. It seems this is refered as
xvYCC (I really can't find much under "eYCC"). So let's rename it too.

Hopefully I made no mistakes!
2018-03-20 17:09:31 +01:00
Jehan 5732b7ab6d plug-ins: add a color space parameter to file-j2k-load().
JPEG 2000 codestream doesn't have a header and guessing the color space
in particular is not foolproof (especially when 3 or 4 components, which
can be many spaces). Therefore the need of a parameter on the API.

Note that JP2 images should always have the color space information. In
interactive mode, I try to be a bit flexible to salvage broken JP2 with
no color space information in the header, but I am not adding a
parameter in file-jp2-load() (on purpose, since we are not going to add
in the API a parameter for a case not supposed to happen with properly
encoded files).
2018-03-20 16:52:04 +01:00
Jehan 7e52c48364 plug-ins: open a dialog to select color space of JPEG 2000 codestream.
JPEG 2000 codestream (.j2k/.j2c) are only compressed code stream data,
without header. In particular we don't have color information, such as
the color space. So we need to open a dialog asking to set the color
space in interactive mode.

Note: according to OpenJPEG developers, a JP2 image (not codestream)
should always have a color space defined in its header. But just to be
flexible, the same dialog may get raised as well if we try to load a JP2
with no valid color space defined in header and no ICC profile embedded.
Maybe if such a thing happened, it means the image is corrupt, yet we
may as well try and salvage it anyway.

Note 2: I also removed a weird test which was setting some images as
being YUV color space by mistake. This actually fixes bug 794413 as a
side effect.
2018-03-20 14:50:23 +01:00
Jehan 5e5fa4a024 plug-ins: .jpc is another known extension for JPEG 2000 codestream.
Even though I haven't seen working samples with this extension,
according to some references, this is a common extension for compressed
JPEG 2000 code stream. Also our old plug-in was listing this extension,
so let's do so now as well.

To this day, the only 2 extensions we used to list in the JasPer-based
plug-in and not in the OpenJPEG one are .jpf and .jpx (JPEG 2000 Part-2)
since OpenJPEG does not have support yet. But actually I think the old
plug-in may have simply been "lying" since JasPer website says the
library is meant to implement JPEG-2000 Part-1 standard.
So I believe we are now on par (and even better on many aspects) with
the former plug-in implementation based on libjasper.
2018-03-20 02:05:49 +01:00
Michael Natterer 28d9e43f53 Bug 792686 - Colormap widget not updated when adding entry
gimp_image_add_colormap_entry(): increment private->n_colors *before*
calling gimp_image_colormap_set_palette_entry() so it actually adds an
entry.
2018-03-20 00:53:57 +01:00
Michael Natterer 8447e775ab Bug 783680 - Allow to hide color models in GimpColorScales
Redo the entire thing again:

- Rename the values of enum GimpColorSelectorModel to include "MODEL"
- Change GimpColorSelector API from set_model() to set_model_visible()
  so visibility of each model can be toggled individually and is not
  exclusive any longer
- The GUI is back to what it was before, except that the "GIMP" page
  now honors the model visibility and has a resonable minimum height
2018-03-19 23:11:27 +01:00
Jehan 8f71aeda3d build: update flatpak builds with latest changes.
Untested. Hopefully should build.
Also bump the GNOME runtime to the latest version.
2018-03-19 17:42:49 +01:00
Jehan 845eb522b6 Bug 793777 - CRITICALs on focus change in MWM with stylus.
Focus change events were expecting the current tool control to be
inactive, which was the case most of the time. Yet with stylus, the
canvas was sometimes receiving GDK_BUTTON_PRESS events before
GDK_FOCUS_CHANGE. In particular the canvas was receiving a button press
before the focus out, then button release and focus in. Therefore by the
time the focus out event happens, the tool control is active, which
broke a few calls.
Therefore I add a few checks and returns immediately when
gimp_tool_control_is_active() return TRUE, especially since we also run
gimp_display_shell_update_focus() calls after a button press anyway so
the state should already be consistent.
2018-03-19 15:30:41 +01:00
Ell cada28e91e app: reset GimpFilterTool widget when resetting settings
Add a gimp_filter_tool_reset_widget() function, which resets the
tool widget associated with the filter's controller -- i.e., it
resets those properties of the widget that aren't controlled by the
op's properties to some "default" state.  For most controller types
this is a NOP; for transform-grid controllers, we move the pivot
back to the center of the drawable, w.r.t. the current transform.

Call gimp_filter_tool_reset_widget() after resetting or reloading
the tool's config.
2018-03-18 14:35:11 -04:00
Michael Natterer 7ca38c54f6 Bug 794366 - Crash when using Hue-Chroma on a ProPhotoRGB image
Handle "CIE LCH(ab)" in gimp_color_profile_get_lcms_format() as
suggested by Massimo.
2018-03-18 18:48:12 +01:00
Piotr Drąg a1d5978826 Update Polish translation 2018-03-18 17:51:33 +01:00
Massimo Valentini 16b0110f72 Bug 791315: Using the Gaussian Blur filter twice (Re-Show)...
...only remembers horizontal radius, duplicates it for vertical

Keep a list of the GUI's chain buttons around. When changing the
entire config object like on reset or selecting saved settings, unlik
them all after remembering their "active" state, and after changing
the settings activate the ones that were active before, but only if
the values they link are still the same.
2018-03-18 17:39:03 +01:00
Jehan a1b4f4aef5 Bug 793638 - (gimp-edit-stroke ...) crashes gimp-console-2.9 unless...
... (gimp-context-set-paint-method...) is called.
GimpContext initialized with standard paint info at constructed() time
to ensure there is always a paint_info even if none were set manually.
2018-03-18 15:07:50 +01:00
Michael Natterer 753bd0a0c9 pdb: add jehan_pdb_misc() and use it in the new procedures
so they have the correct aithor.
2018-03-18 13:57:43 +01:00
Jehan 1789f0fe2a app, libgimp, pdb: update gimp_edit_blend() description.
Make it known that gimp_context_set_distance_metric() influences the end
render of a shapeburst blend.
2018-03-18 13:21:05 +01:00
Jehan c5c0dbcd24 NEWS: keep up-to-date. 2018-03-18 01:16:13 +01:00
Jehan e164aee7a9 app, libgimp, pdb: add "distance-metric" property to GimpPDBContext.
This property is currently only used for gimp_edit_blend() to control
how are computed distances. In the future, it could be used for more
functions making use of "gegl:distance-transform" operation, or even for
other algorithms, if relevant.
This new property obviously comes with 2 new PDB calls:
gimp_context_get_distance_metric() & gimp_context_set_distance_metric()
2018-03-18 01:03:40 +01:00
Jehan 11dcabc46f pdb: prepend GEGL enum types with GEGL_TYPE.
Since now we can also support some GEGL type in the PDB, this completes
commit 390ef44481 for proper support.
2018-03-18 00:36:04 +01:00