Commit Graph

46062 Commits

Author SHA1 Message Date
Jehan 68a7431a10 Issue #5623: https://gimp.org/gimp_versions.json is redirected…
… to www.gimp.org.
2020-09-08 21:13:27 +02:00
Daniel Novomesky 0fce1b042b Fix compilation with old libheif 1.3.2
High bit depth import and export enabled only for >= libheif 1.8.0
2020-09-08 10:25:16 +00:00
Jordi Mas 88f31208ce Update Catalan translation 2020-09-07 21:51:38 +02:00
Daniel Mustieles 167b8d3780 Updated Spanish translation 2020-09-07 09:37:48 +02:00
Andika Triwidada 4375b44a6f Update Indonesian translation 2020-09-06 09:26:32 +00:00
Stephan Woidowski a81846d1b6 Update German translation
(cherry picked from commit 95fcd80466)
2020-09-05 14:35:09 +00:00
Piotr Drąg f8de798329 Update Polish translation 2020-09-05 12:38:14 +02:00
Marco Ciampa 762c319346 Typo fixed. 2020-09-03 11:45:55 +02:00
Jehan 987325f1a7 INSTALL: update with libheif required dependency for AVIF support. 2020-09-01 18:38:46 +02:00
Elad Shahar 7d1e108b90 plug-ins: spyrogimp - fix type of new layer to include alpha channel 2020-09-01 11:44:11 +02:00
Jacob Boerema 19b261f3c6 plug-ins: add most likely blend modes for certain psp blend modes.
This adds a blend mode for all known psp blend modes that were not
converted yet except for adjust.
I couldn't find any information about adjust and it's value of
255 suggests that it is not a normal blend mode.
2020-08-31 12:28:12 +00:00
Jacob Boerema b968a93ab2 plug-ins: fix reading of psp tubes when psp file version >= 4. 2020-08-31 11:10:15 +00:00
Jehan 97dc1bf9c6 plug-ins: fix wrong return type warning.
save_image() returns a boolean not a pointer.
2020-08-31 12:52:23 +02:00
Elad Shahar 17b701a940 Issue #5043: Spyrogimp 'Live' Preview Pollutes Undo History
Reduce number of undo steps created by Spryrogimp previews.
First, by grouping them into a single undo.
The implementation adds a function for clearing the
incremental preview drawing that is being executed as an idle task,
and closing an undo group in case the preview left it open (which
would usually be the case). A second way to reduce undos is
by generating a new preview only upon mouse button release of
scales in the UI, and not while dragging the scale.
2020-08-31 12:43:52 +02:00
Michael Schumacher 3801c79372 gitlab-ci: update dependencies to add libraw20 2020-08-31 00:21:31 +02:00
Yacine Bouklif 97ace5e9a6 Add Kabyle translation 2020-08-29 16:39:24 +00:00
Boyuan Yang d7b96c4b76 Update Chinese (China) translation 2020-08-29 14:42:19 +00:00
Boyuan Yang 4076785c63 Update Chinese (China) translation 2020-08-29 14:39:58 +00:00
Piotr Drąg 7063fd2cc9 Update Polish translation 2020-08-29 12:20:19 +02:00
Yacine Bouklif fe6af57830 Update Kabyle translation 2020-08-28 20:17:53 +00:00
Jehan 8cb02716d6 icons: modify dialog-information to work around a librsvg bug.
So it turns out there are still a few bugs in librsvg position/size
computation. One of them is described in my comments:
https://gitlab.gnome.org/GNOME/librsvg/-/issues/250#note_900325

To work around them, I had to increase stroke width of a SVG <circle> to
be over 0.5px.
2020-08-28 20:25:41 +02:00
Jehan cb1f01a42b tools: update the build-only tool compute-svg-viewbox.
It now uses rsvg_handle_get_geometry_for_layer() instead of
rsvg_handle_get_(position|dimensions)_sub() which have been deprecated
in favor of the new function which returns accurate (double) positioning
and size.

Back when I first made this build tool, librsvg had several blocking
bugs to make icon extraction work properly. This seems to improve
nicely.

Nevertheless I still don't build this tool because after testing, more
bugs remain and icon extraction is still not right. Just updating the
code to undeprecate it but leave the build commented out for now. ;-(

See librsvg#134, librsvg#128 and librsvg#250 for bug reports following
these issues.
2020-08-28 20:25:40 +02:00
Jehan 05de70e002 icons: add all missing icons in the main SVG files.
In particular adding the new gimp-curve-point-smooth|corner,
gimp-pivot-*, gimp-text-dir-ttb-*, gimp-transform-3d-* and
gimp-tool-transform-3d icons.
2020-08-28 20:25:40 +02:00
Tim Sabsch 2f74f8931e Update German translation 2020-08-28 18:15:02 +00:00
Jehan a3a95ad47e icons: rename ID of some icons moved to Freedesktop naming.
See commit 1e5cf10585.
I am reorganizing again a bit the global file with all icons to
experiment a bit again with icon extraction using librsvg (let's see how
the library evolve since last time I tried, a few years ago!).
2020-08-27 18:39:43 +02:00
Yuri Chornoivan 792847d377 Update Ukrainian translation 2020-08-27 12:54:49 +00:00
Jacob Boerema fa40bc7778 plug-ins: add support for reading raster layers of newer psp versions. 2020-08-27 09:16:45 +00:00
Jacob Boerema 85241a205b plug-ins: enable reading of psp images with file versions > 6. 2020-08-27 09:16:45 +00:00
Jacob Boerema 0666f7a4f9 plug-ins: refactor reading of raster layer extension info for psp images. 2020-08-27 09:16:45 +00:00
Simon McVittie 00024db382 build: Prefer to find libwmf using pkg-config
Traditional -config scripts are awkward for cross-compilation, multilib
systems (lib/lib64), and multiarch systems like Debian; only one copy
of the -config script can be in the PATH. As a result, some OS
distributions are starting to deprecate or even remove them.

pkg-config is designed to be a replacement for traditional -config
scripts, and is cross-compilation-friendly: the PKG_CHECK_MODULES macro
looks for an architecture-specific executable like
x86_64-linux-gnu-pkg-config, which can look in an architecture-specific
search path for library metadata, before falling back to a generic
pkg-config executable.

As a bonus, pkg-config also compares version numbers correctly
(see #2454).

libwmf having pkg-config metadata seems to be a relatively new thing,
so I've kept the -config script code path too, using it if pkg-config
does not find libwmf.

Bug-Debian: https://bugs.debian.org/956183
Signed-off-by: Simon McVittie <smcv@debian.org>
2020-08-26 23:32:32 +00:00
Daniel Novomesky 01e1587ec1 Updated HEIF plug-in
AVIF import and export (need libheif >= 1.8.0)
High bit (10/12) import and export
Auto pre-select suggested output bit depth in save_dialog
NCLX color profile import (link with lcms)
Metadata import (link with gexiv2)
Plugin will not return GIMP_PDB_SUCCESS in case of failure to import file.
2020-08-26 10:39:58 +00:00
Jehan 47a68dc871 Issue #5584: JPEG magics detection failure.
Our currently registered JPEG magics was using possible fields at the
start of the file (JFIF, Exif) in 7th byte. A JPEG provided in #5584 was
starting with yet another field (apparently some Photoshop-specific
field "Photoshop 3.0.8BIM") thus magics detection failed (and since
extension was wrong, the file was sent to another plug-in, hence loading
failed).

Looking further, it looks like the 3 first bytes are actually always
common to all JPEG and are the right magics/signature for a JPEG. These
3 bytes don't seem to be used by other formats as well according to my
research, which means we should not have false positives either. So
let's switch to this magics 0XFFD8FF at byte 0.
2020-08-26 12:13:29 +02:00
Jacob Boerema d7089c93b2 plug-ins: Take zero length layer names into account in psp reader. 2020-08-23 18:34:22 -04:00
Kevin Cozens 56982e6ce9 Allow building GIMP of without vala.
To build GIMP without vala the arguments "--enable-vala=no --with-vala=no"
must be used during the configuration process. If the --with-vala is not
provided the build process will still try to build some vala based plug-ins.

Fixes https://gitlab.gnome.org/GNOME/gimp/-/issues/5389
2020-08-23 11:20:51 +02:00
Jehan e815c615e1 icons: install switch-(on|off)-symbolic icons in GIMP's hicolor theme.
These icons are not available in any of our themes (Symbolic or Color).
Also they don't seem to be available in many icon themes either actually
and I'm not sure GIMP properly fallbacks to system icon theme when an
icon is missing in the selected theme anyway (I think to remember this
used to work, but it doesn't look like it works anymore).

Anyway I just copied the 2 symbolic switch on|off icons available in the
GTK+ repository at gtk/icons/scalable/status/. These are supposed to be
used by GtkSwitch but somehow they aren't. So for the time being, let's
bundle them directly with GIMP (until we figure something better out).
I put them in hicolor because this is the generic/default theme which is
always used as last resort and is common to any theme. It means any
specific theme will be able to override these icons, but if missing,
hicolor will be able to provide a fallback.
2020-08-22 23:53:49 +00:00
Niels De Graef 5d3ca7d714 propwidget: Add gimp_prop_switch_new()
Allow developers to add a `GtkSwitch` based on a property. Also start
using it in the first preferences page.
2020-08-22 23:53:49 +00:00
Jacob Boerema a084032c59 build: (meson) fix CC_VERSION contains backslashes on Windows.
This caused an invalid specifier warning in gimp-version.c and an
incorrect value of COLLECT_GCC reported by gimp -v.
2020-08-22 22:07:22 +00:00
Jacob Boerema 4ac373e84f plug-ins: fix reading layer names with high bit ASCII characters in psp files.
This also adds a few missing g_free when returning because of an error.
2020-08-22 21:11:01 +00:00
Yacine Bouklif 7a64218407 Update Kabyle translation 2020-08-22 20:34:32 +00:00
Jehan cb6a1a75c9 build: (meson) fix building with -Dwindows-installer=true option.
Fixes:
> build/windows/installer/lang/meson.build:49:2: ERROR: Unknown variable "code".
2020-08-22 19:02:14 +02:00
Jacob Boerema dc80c78a26 plug-ins: fix wrong layer offset of psp layers. 2020-08-22 10:54:39 -04:00
Yacine Bouklif 35a97e94f2 Update Kabyle translation 2020-08-22 13:18:52 +00:00
Piotr Drąg 12f3ccd191 Update Polish translation 2020-08-22 14:00:17 +02:00
Yuri Chornoivan 5bb19ad6db Update Ukrainian translation 2020-08-19 20:20:50 +00:00
Jordi Mas 3e4acd0e3b Update Catalan translation 2020-08-19 18:46:23 +02:00
Jacob Boerema 15ad952288 plug-ins: improve psp image reader stability by always using the block/chunk length.
Starting from psp file version 4 the specification recommends to always use the
block/chunk length to determine the next part of the image. This way it is
possible to skip parts you don't know or don't care about or additions in
newer versions.
This change makes sure to always do this which fixes reading several images
which crashed the plug-in before.

Also only try to read layer data if it is a raster layer.
2020-08-18 16:00:50 -04:00
Jehan e50f522d5b app: "drawable-linked" multi-drawable aware. 2020-08-17 18:28:26 +02:00
Jehan 84e587d255 app: GimpSelectionEditor multi-drawable aware.
When clicking on the selection mask (in the dockable view) or when
dropping a color on this same view, we can now select by color based on
the selected layer composition (not only one single layer, nor the whole
image as sample merged, but also a specific list of composited layers).

gimp_channel_select_by_color() is made multi-drawable aware as a
consequence of this.
2020-08-17 18:22:19 +02:00
Jehan bd452d7df1 app: (selection editor) fix clicking on selection mask or dropping color
I discover that the selection editor has these hidden features that (1)
you can click on the selection mask (in the editor dockable) and it
behaves like the Select by Color tool (not sure exactly how useful this
feature is as you can't really see where you click though) and (2) you
can drop a color and it will select this color also as though clicked by
the Select by Color tool (which looks quite useful!).
These features use the option values as set in the Select by Color tool.

Unfortunately both these features were broken when a non-zero threshold
was set because it expects a [0-1] range whereas threshold is [0-255].
Fix the parameters in gimp_channel_select_by_color() call.
2020-08-17 13:32:36 +02:00
Jehan c5f9b8e190 Issue #5530: do not fail font loading on broken user/GIMP fonts.conf.
Additionally to loading the default fontconfig configuration file, GIMP
also looks up /etc/gimp/<version>/fonts.conf and
$XDG_CONFIG_HOME/GIMP/<version>/fonts.conf (or equivalent in other
OSes). If these don't exist (which is the most common case), this is not
considered a bug. Fontconfig had a regression bug of
FcConfigParseAndLoad() in 2.13.92, which was fixed in a later commit:
fcada52291
As a consequence of this bug, font loading failed in Windows when these
non-mandatory files were absent.

The current commit, originally proposed by Jacob Boerema (@Wormnest) and
slightly reviewed works around the issue, because anyway there is never
any reason why failing to load these files should break font loading as
a general rule. Even if these files exist and are broken (wrong syntax
or whatnot), we should just output some warning on stderr and continue
loading without these additional confs.
With fontconfig 2.13.92, warnings will be also outputted (wrongly), but
at least it won't block loading anymore.

Also let's unref() the `config` object even when the whole font loading
succeeds. Man of FcConfigSetCurrent() clearly says that the reference
count of config is incremented since 2.12.0 (our current minimum
fontconfig is 2.12.4) so let's not leak one reference.
2020-08-16 18:06:09 +02:00