Commit graph

8120 commits

Author SHA1 Message Date
Alexandre Prokoudine
27aa87ba8e Improve pixel format choice UI in PNG exporting options
The former UI did not conform to what we do elsewhere.
Use label + combo now.
2018-12-07 12:25:02 +03:00
Michael Natterer
a822603807 plug-ins: port the GIF plug-in's UI file to GTK+ 3.x
and clean it up so things are properly packed again.
2018-12-05 12:35:02 +01:00
Michael Natterer
c667fdc5c0 Integrate the logic of profile saving with metadata saving
Add flag GIMP_METADATA_SAVE_COLOR_PROFILE to GimpMetadataSaveFlags and
initialize it from gimp_export_color_profile() in
gimp_image_metadata_save_prepare().

Adapt all plug-ins to use the bit from the suggested export flags and
pass the actually used value back to
gimp_image_metadata_save_finish().

This changes no behavior at all but creates hooks on the libgimp side
that are called with the context of an image before and after the
actual export, which might become useful later. Also, consistency
is good even though the color profile is not strictly "metadata".
2018-12-04 17:28:24 +01:00
Michael Natterer
7f9379cb32 Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
...export dialogs

Remove the "Advanced" expander and have all options in plain sight.

Issue #701: Add a "Save color profile" toggle and always honor it.
2018-12-03 19:41:56 +01:00
Michael Natterer
a35b243f9b plug-ins: always save the color profile in file-psd
by using gimp_image_get_effective_color_profile() instead of just
_get_color_profile(). Don't look at the preference setting because PSD
should behave more like "save" than "export" and save everything.
2018-12-03 19:24:52 +01:00
Michael Natterer
7ed93452e8 Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
...export dialogs

Remove the "Advanced" expander from the PNG export GUI and generally
clean up the dialog layout.

Issue #701: Add a "Save color profile" toggle and always honor it.
2018-12-03 12:55:04 +01:00
Michael Natterer
540cfa9611 Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
...export dialogs

Move most stuff out of the "Advanced" expander, only nerdish encoding
options are left there.

Issue #701: Add a "Save color profile" toggle which honors the default
value configured in preferences and always saves the profile when
enabled.
2018-12-03 12:19:41 +01:00
Ell
053e5edc93 libgimpcolor, app, modules, plug-ins: remove GEGL_ITERATOR2 define
... it's no longer needed, since GEGL commit
gegl@9dcd2cde63f95a080bf16a58c10e9ffbdd99aace.

Partially reverts commits:

6fca9959c7
cc10af72cc
49c53568d7
8edbc0d491
29f63616d2
3a2014984d
ee48ec6877
4165a315d5
764085278f
b7633c722e
6ab12061b7
754a3c5b18
22b4b647bd
55b3438328
c6d23add65
f03a84d607
822f9f0d2b
95358ca1fa
cdda37f4ee
41e8035635
6761da42b2
fb5d7832a8
97ed7817d8
46e9036578
ea9c5e6a49
24fbdfb591
beb4ecb238
4b77831e03
fcf113a39c
567ffe94ff
2018-12-02 11:15:37 -05:00
Skal
e9200d2c00 webpmux: fix memory leak by calling WebPMuxDelete() 2018-11-28 13:37:39 +01:00
Jehan
66ec467217 plug-ins: make various usage of g_file_replace() safer.
As I did on app/, finalizing an output stream also implicitly flushes
and closes it. Hence if an export ended with an error, we'd end up with
incomplete data file (possibly overwriting a previously exported image).
Only 2 plug-ins I haven't fixed yet are file-tiff-io and file-gif-save.
The later one don't even clean up its memory (which somehow is good here
as at least the output stream is never finalized hence sane files are
not overwritten in case of errors). As for the former (TIFF plug-in), it
doesn't even seem to have any error control AFAICS, apart from printing
error messages on standard error output.
2018-11-27 12:41:22 +01:00
Jehan
7ce5abd35e plug-ins: remove now useless code under GTK_CHECK_VERSION(3, 0, 0).
Grepping for other uses of GTK_CHECK_VERSION(), this was the only
remaining one, which is obviously useless now on the master branch.
2018-11-24 11:38:45 +01:00
Jehan
afe1de950f Issue #2501: Confusing wording in "Export Image as PDF" dialog.
Nothing said what was going to be the order of the page, except by
testing. Now there will be an explicit text, which will be automatically
updated when checking the "reverse order" box.
2018-11-14 13:37:42 +01:00
Alexandre Prokoudine
85e6700aac Help menu: various updates
Commented out the inactive plug-ins registry: no point linking to a dead page.

Added links to the roadmap page, main wiki page, and the bug tracker. Placed
the link to the bug tracker one level up from '<Image>/Help/GIMP Online'
to make it more visible.
2018-11-14 09:17:21 +00:00
Jehan
ba98b98f58 Issue #2431: After coloring a selection and exporting to PDF, file...
... only shows the color (and nothing else) when "Convert bitmaps to
vector graphics where possible" was set.

This is because gimp_drawable_histogram() only checks selected pixels.
So let's make sure we work on a duplicate of the image so that we can
safely remove the selection before processing the export.

(cherry picked from commit 679e341285)
2018-11-08 15:26:34 +01:00
Jehan
5d319b77bf Issue #2160: Exporting to PCX results in a warped file.
Add line data padding when necessary.
Additionally I realize we should convert to little-endian after checking
the bytesperline oddness (this bug was most likely unnoticed until now
as most desktop proc are little endian now anyway).
2018-11-01 22:22:40 +01:00
Tobias Ellinghaus
bfcb7fc593
file-pnm: Remove clamping when loading PFM files 2018-10-30 13:37:07 +01:00
Michael Natterer
2880f08044 plug-ins: fix some new strncpy() warnings 2018-10-22 15:41:18 +02:00
Michael Natterer
582c692010 plug-ins: make curve-bend build again, and undeprecate it a bit 2018-10-22 15:04:07 +02:00
Michael Natterer
6bb8c74a46 plug-ins: kill GtkAlignment in all plug-ins which are currently built 2018-10-22 14:47:54 +02:00
Michael Natterer
07f5527998 plug-ins: stop using gimp_rgb_to_hsl_int(), gimp_hsl_to_rgb_int()
and gimp_rgb_to_l_int() cruft functions.
2018-10-22 13:17:43 +02:00
Michael Natterer
befe80bd08 plug-ins: don't use gimp_rgb_to_hsv_int() and gimp_hsv_to_rgb_int()
Use the default APIs using GimpRGB and GimpHSV structs instead.

This also changes/fixes the colors in all affected plug-ins which were
broken/restricted in hue range ever since the _int() functions were
changed from a 0..255 to 0..360 hue range 15 years ago in commit
d93c2f61c8.
2018-10-22 12:50:11 +02:00
Michael Natterer
dac5be6108 plug-ins: kill GtkAlignment in cml-explorer 2018-10-20 13:55:42 +02:00
Michael Natterer
0b99fc8194 plug-ins, pdb: remove the fractal-trace plug-in and add a PDB compat proc 2018-10-20 13:05:17 +02:00
Michael Natterer
643004af06 plug-ins: kill some deprecated GtkAlignments 2018-10-20 12:37:12 +02:00
Michael Natterer
f5f3573337 plug-ins: kill deprecated GtkAlignment in file-xmc 2018-10-20 01:22:11 +02:00
luz.paz
ac282f2045 Misc. typos
Found via `codespell`
2018-10-19 15:30:27 +00:00
Josef Ridky
2987f012f9 Issue #2087 - Issues discovered by coverity scan
Add missing fclose invocations and fix copy-paste issue.

This issues has been discovered by coverity scan proceeded by Red Hat.

Fixed some mistakes in the patch and added more fclose() (Mitch)

(cherry picked from commit 56c8f8320d)
2018-10-19 11:26:41 +02:00
Ell
5e6e979a00 Issue #2339 - Error while executing script-fu-ripply-anim
In ripply-anim.scm, correct the edge-type argument passed to
plug-in-displace.
2018-10-09 19:31:23 -04:00
ONO Yoshio
3c92b5e00b plug-ins: fix a datasourcetype does not shown in metadata-editor.
Tag of DigitalSourceType has 5 entries, but the combobox shown
only 4 items.
2018-10-02 08:43:56 +09:00
Jehan
cb892aa0e6 plug-ins: add more generated files in .gitignore. 2018-09-29 23:16:40 +02:00
Sergio Jiménez Herena
1e7d714f0a plug-ins: pygimp: Add autogenerated python files to .gitignore
(cherry picked from commit 0839a55d51)
2018-09-29 23:08:31 +02:00
Michal
04688c3111 Use the "with" keyword when dealing with file objects
According to: https://docs.python.org/3.6/tutorial/inputoutput.html
2018-09-29 20:25:40 +00:00
Michal
263b4722ca Use assignment operator 2018-09-29 20:25:40 +00:00
Michal
6090fd654f "Generator Expressions" improvements
https://www.python.org/dev/peps/pep-0289/
2018-09-29 20:25:40 +00:00
Michal
82e59a951d Use list comprehensions
https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions
2018-09-29 20:25:40 +00:00
Michal
09d1a3c82f Comparision to None should be done with "is" or "is not"
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
2018-09-29 20:25:40 +00:00
Ell
9a2999a553 plug-ins: in script-fu, don't query PDB procedures' info on startup
script-fu used to query the information of every PDB procedure on
startup, in order to get the number of parameters for each
procedure.  This was done so that nullary procedures were defined
in such a way as to accept (and ignore) any number of arguments
(and at least one of the scripts we ship relies on this behavior).
However, this requires expensive back-and-forth communication with
the main GIMP process, which notable slowed down script-fu's
startup, and had a non-negligible impact on GIMP's startup time.

Instead, avoid querying procedure information, and implement the
special behavior for nullary procedures at call time.  We do this
by defining, in addition to the "strict" gimp-proc-db-call
procedure, a "permissive" -gimp-proc-db-call internal procedure,
and using the latter to call the predefined PDB procedures.
2018-09-26 14:41:12 -04:00
Simon Mueller
6a5023a38a Issue #2179: Get rid of the win32_use_hkcu flag.
Simply always check HKCU first. If that lookup did not yield any result,
fall back to HKLM.
2018-09-19 15:01:46 +02:00
luz.paz
386587736f Misc. typo fixes
Found via `codespell`
2018-09-16 18:49:18 -04:00
Jehan
64b00b5c7f plug-ins: add the "msf1" brand for HEIF files.
After Dirk Farin had another look in the specs, it turns out that "mif1"
is actually allowed as major brand for HEIF. Also adding "msf1" which is
the equivalent for image sequences.
2018-09-16 19:21:14 +02:00
Jehan
4ad3993eca Issue #2209: more accurate magic for HEIF files.
Just looking for "ftyp" would also match other ISOBMFF files (.mov or
.mp4 files for instance). These are the possible 4-byte "brand" code
which can follow "ftyp", as listed by Dirk Farin from libheif.

I add the "mif1" brand, as I encountered some files using this magic
(even though this should normally not be valid apparently, yet the file
loaded fine in GIMP).

This is not perfect as the standard allows potentially very big box
headers, in which case 8 bytes (the "largesize" slot) may be inserted
between "ftyp" and the brand, as I understand it. But this is actually
unlikely enough to probably never happen (the compatible brands list
would have to be huuuge, as it looks like this is the only extendable
part in a ftyp box). So let's assume this just never happens.

See also: https://github.com/strukturag/libheif/issues/83
2018-09-16 16:52:21 +02:00
Jehan
d738d2f645 Issue #2209: HEIF: Invalid input: No 'ftyp' box.
Adding a magic number for HEIC/HEIF, which would allow to discard
obvious non-HEIC images even with the wrong extension.

Note: it looks like this magic number would also match more generically
other ISO base media file format (ISOBMFF) formats, like .mov or .mp4
files. I am enquiring for better magic but for now, this is better than
nothing.
2018-09-14 17:57:15 +02:00
Øyvind Kolås
6fca9959c7 plug-ins: migrate pagecurl to new iterator api 2018-09-11 02:05:41 +02:00
Øyvind Kolås
cc10af72cc plug-ins: migrate screenshot-x11 to new iterator api 2018-09-11 02:05:13 +02:00
Øyvind Kolås
49c53568d7 plug-ins: migrate print-draw-page to new iterator api 2018-09-11 02:04:47 +02:00
Øyvind Kolås
8edbc0d491 plug-ins: migrate ifs compose to new iterator api 2018-09-11 02:04:11 +02:00
Øyvind Kolås
29f63616d2 plug-ins: migrate file-tiff-load to new iterator api 2018-09-11 02:03:09 +02:00
Øyvind Kolås
3a2014984d plug-ins: migrate psd plug-ins to new iterator api 2018-09-11 02:02:50 +02:00
Øyvind Kolås
ee48ec6877 plug-ins: migrate gradient-map to new iterator api 2018-09-11 02:02:13 +02:00
Øyvind Kolås
4165a315d5 plug-ins: migrate qbist to new iterator api 2018-09-11 02:01:57 +02:00