Commit graph

49864 commits

Author SHA1 Message Date
Alx Sa
78a72c89ac plug-ins: Port file-ps to use GimpProcedureConfig
This ports the Import and export dialogs to use GimpProcedureConfig.
It covers all properties except GUI-only options
(which were still ported to libgimpui rather than direct GTK calls)

Additionally, a warning was fixed and mnemonics were added to the
property titles.
2023-05-01 07:15:42 -04:00
Sabri Ünal
9ff4072117 Update Turkish translation 2023-05-01 10:54:31 +00:00
Sabri Ünal
9e60755bfe Update Turkish translation 2023-05-01 10:37:28 +00:00
Jacob Boerema
7b6ceabeba po-plug-ins: remove plug-in-metadata-viewer.ui from POTFILES.in
I missed this one in the previous commit.
2023-04-30 16:33:21 -04:00
Jacob Boerema
9c11b40393 plug-ins: create metadata-viewer gui from code
The metadata-viewer uses a GtkBuilder .ui file to create the interface.
In GIMP we prefer our interfaces to be created in code and these builder
files are also not available anymore in GTK4.

This commit removes the .ui file and support code, and creates the
interface from code in our plug-in.
2023-04-30 16:01:40 -04:00
Alx Sa
bca4535c40 icons: Restore GIMP icons replaced by GTK defaults
Five icons in the Layer dockable were being replaced by GTK defaults at
runtime. A "gimp-" prefix was added so that GIMP's version would always
be used. A few dialogues were fixed to use constants rather than
hardcoding the filename, to make it easier to update the icon in the
future.
2023-04-30 13:58:39 +00:00
Alx Sa
5526bebf3c plug-ins: image_id used rather than image in print
In 2.10, print_temp_proc_name () took in the image id. When it was 
updated to take in GimpImage, it still assumed the g_strdup_printf
parameter was an integer.
This is fixed by calling `gimp_image_get_id ()` on the image parameter.
2023-04-30 13:53:16 +00:00
Martin
1f1533b230 Update Slovenian translation 2023-04-28 20:44:31 +00:00
Andre Klapper
6fcac63fbb DOAP: Add support-forum (GNOME Discourse) 2023-04-28 04:41:52 +02:00
Ekaterine Papava
f4d32a7332 Update Georgian translation 2023-04-27 03:44:59 +00:00
Jacob Boerema
d73bae0c66 plug-ins: add support for 8bpp with 4 planes in PCX/DC import
While testing the DCX import MR I saw that one image (abaddon.dcx) was not
recognized. This image uses 4 planes with 8 bpp while we only support
3 planes. The 4 planes type includes an alpha channel.

A few small changes allow us to also load 4 planes by allowing 3 or 4
planes instead of only 3.
2023-04-26 17:27:14 -04:00
Jacob Boerema
f681c50414 libgimpbase: do not save Photoshop specific EXIF metadata
Photoshop can save metadata when exporting to tiff or jpeg, including
a thumbnail that we can't update. This can contain sensitive data, so we
should not export it. See issue #8383.

To do this, we add the two Photoshop specific tags that we know of to the
list of tags that should not be exported, so they won't be saved.
2023-04-26 17:27:14 -04:00
Yuri Chornoivan
876117f4ad Update Ukrainian translation 2023-04-26 18:16:17 +00:00
Alx Sa
6af7b2f5cb plug-ins: Display warning for unsupported metadata
This allows file-psd-load-metadata to show a warning message like the
PSD plug-in does when unsupported features are loaded.
As PSD metadata does not store rasterized versions of fill layers,
a new option is added to show these layers are dropped entirely unlike
with PSDs.
The dialog title changes based on which plug-in called it.
2023-04-26 12:26:31 +00:00
Alx Sa
b5f80f7a14 plug-ins: Load PSD metadata in JPEG plug-in
This adds the PSD metadata plug-in procedure call to the JPEG
plug-in, as part of implementing issue #7549.
Also implements the import half of issue #1842.
JPEGs only store image-level metadata like paths.
2023-04-26 12:26:31 +00:00
Alx Sa
7b6d229be8 plug-ins: Load PSD metadata in TIFF plug-in
This adds the PSD metadata plug-in procedure call to the TIFF
plug-ins, as part of implementing issue #7549.
Also implements the import part of issue #2921.
TIFFs can have both image and layer-level metadata.
The load_paths() function was removed, as the PSD plug-in should
handle this now.
2023-04-26 12:26:31 +00:00
Alx Sa
b788513bcc plug-ins: Add method to load external PSD metadata
Creates a new public procedure that can be used by JPEG/TIFF files to
load any PSD-formatted metadata they have. This consolidates code
to the PSD plug-in, and lets JPEG/TIFF get immediate updates as the
PSD plug-in improves its own metadata support.
Note that only Macintosh formatted metadata is currently supported
by the PSD plug-in; IBM PC formatted metadata is reversed and not
yet interpreted.
2023-04-26 12:26:31 +00:00
Martin
8bd07e468b Update Slovenian translation 2023-04-26 11:19:48 +00:00
Shubham
de5c805cbb app: Modify stroke selection dialog
Changed stroke selection dialog to use GtkStackSwitcher instead of radio
buttons. Make options hidden under "Advanced options" visible by
default.
2023-04-25 12:59:35 +00:00
Ekaterine Papava
15e2adde0c Update Georgian translation 2023-04-25 04:33:45 +00:00
Martin
82e201f93b Update Slovenian translation 2023-04-24 20:17:37 +00:00
Martin
b333b54842 Update Slovenian translation 2023-04-24 20:14:40 +00:00
Yuri Chornoivan
229221c289 Update Ukrainian translation 2023-04-24 17:10:21 +00:00
Yuri Chornoivan
02d2026419 Update Ukrainian translation 2023-04-24 15:31:30 +00:00
Yuri Chornoivan
cd792f831f Update Ukrainian translation 2023-04-24 15:30:23 +00:00
Rodrigo Lledó
b557a8e581 Update Spanish translation 2023-04-24 14:51:02 +00:00
Rodrigo Lledó
08cdf546fc Update Spanish translation 2023-04-24 14:26:56 +00:00
Rodrigo Lledó
0161775738 Update Spanish translation 2023-04-24 14:23:53 +00:00
Alx Sa
7e371c7884 libgimpbase: Add Middle Gray fill option
Uses CIELAB's 50% lightness (18.42% luminance) for the Middle Gray
color.
2023-04-24 10:25:58 +00:00
Ekaterine Papava
e31a2d3d64 Update Georgian translation 2023-04-24 03:34:10 +00:00
Alx Sa
769e36d7cf core: color pick in image's RGB space
Replaces GimpPickableInterface's pixel_to_srgb () functions with
pixel_to_rgb(). Now GimpRGB's values should be in the correct
image color space from the beginning of the process.
2023-04-23 22:03:29 +00:00
Alexander Shopov
5a9df9e77c Update Bulgarian translation 2023-04-23 21:32:53 +00:00
Sabri Ünal
5b7f9fb8eb Update Turkish translation 2023-04-23 21:10:17 +00:00
Sabri Ünal
aa8a4e4504 Update Turkish translation 2023-04-23 20:44:11 +00:00
Alexander Shopov
c46c4f64db Update Bulgarian translation 2023-04-23 20:00:59 +00:00
Alx Sa
da217088d0 plug-ins: Fix rounding error in PCX load
Some valid PCX/DCX files wouldn't load because the bytes per line
header check can be off by one due to integer division rounding.
This adds 1 to the equation to account for this.
2023-04-23 17:37:45 +00:00
Alx Sa
7bc7273d04 plug-ins: Add support for importing DCX files
DCX files are containers that store up to 1023 PCX files.
The PCX plug-in is rearranged to allow reading multiple PCX images per
file, rather than assuming there's only one image.
2023-04-23 17:37:45 +00:00
Alx Sa
73242fe96a plug-ins: Port file-gif-save to...
...GimpSaveProcedureDialog
2023-04-23 17:35:52 +00:00
Yuri Chornoivan
d6b09d4fed Update Ukrainian translation 2023-04-23 13:52:55 +00:00
Alx Sa
222bef78c7 plug-ins: Initial support for Amiga IFF/ILBM
Imports indexed ILBM, Amiga PBM, and ACBM images.
2023-04-22 21:33:27 -04:00
Yuri Chornoivan
8da4e30cdb Update Ukrainian translation 2023-04-22 18:24:51 +00:00
Alexandre Prokoudine
dc49ff9d54 Update Russian translation 2023-04-22 14:53:43 +02:00
Martin
521a8613d6 Update Slovenian translation 2023-04-22 09:07:17 +00:00
Ekaterine Papava
6c9ec76878 Update Georgian translation 2023-04-22 05:29:12 +00:00
Alx Sa
a05213f82a libgimpwidget: Fix GimpFrame line-spacing property
GimpFrame has a property 'line-spacing'. gimp_frame_get_label_spacing ()
tried to access it as 'line_spacing', so it always returned 0.
Fixing the typo should now return the true spacing value.
2023-04-22 03:01:16 +00:00
Jehan
d8c0ddf95f NEWS: update. 2023-04-22 01:57:19 +02:00
Jehan
1584a9ba50 plug-ins: fix the thread rendering the thumbnails all the time.
After testing a bit more, I realized that the thread was constantly re-rendering
the thumbnails, even though I didn't touch the "white-background"
button/argument.
This was not just a completely invisible problem, it actually affected the page
selection (it was very hard to select pages by clicking on them, it was randomly
working, and more often not selecting anything). This is how I realized there
was a problem.

The reason was simply that I was never actually calling g_cond_wait() because of
a first_loop flag I forgot to set.

Note that docs of g_cond_wait() explains that it is possible that "spurious
wakeup" happen. At first I thought I had this issue, which is why this commit
also adds a boolean flag to check after a wakeup, to make sure that I was in the
"condition met" case and not the "spurious wakeup" one.
Even though I realized afterwards the real reason was much more stupid, I still
left this additional check.

Fortunately this issue doesn't seem to affect the 2.10 code. Or to be more
accurate: the continuous render very likely happens there too, yet it doesn't
break page selection interaction with GTK+2 as far as I can see.
2023-04-22 01:29:42 +02:00
Jehan
179ff7ff4d plug-ins: option to choose whether loading a PDF with white background.
Port commit 41f40f530a from gimp-2-10 branch to the main branch:

    While at first, the idea of always loading PDF with transparency seemed good
    (commit 7aff7e9c70), I realized that a lot of administrative PDF (generated with
    text and vector graphics, rather than scans or alike containing raster) actually
    have transparency. So now all these documents load with transparent background.
    Clearly all the office software are assuming that PDF readers will fill the
    background with white.

    So add a checkbox to decide whether or not to fill the image with white. I don't
    update the PDB procedure. I'll just do this on the main dev branch (while also
    updating a bit the code to newer API).

    Fortunately I regularly open such PDF documents with GIMP and could witness this
    no-transparency expectation before we released GIMP 2.10.34! 😅

As side changes, I also:

* ported file-pdf-load to work with GimpProcedureConfig arguments instead of
  GimpValueArray;
* ported the dialog to GimpProcedureDialog and generating as much of it as
  possible (except for the page selector/preview, and resolution entries);
* renamed the "pdf-password" argument to "password";
* added the "target", "antialias" and "white-background" procedure arguments.

A few issues which would deserve to be looked at more closely in the future:

* adding "width" and "height" arguments and decide how to handle "resolution";
  this will likely be better handled with a new GimpVectorLoadProcedure subclass
  to support vector formats in particular;
* shouldn't page selection be handled in a better way? Probably this could be
  handled by adding a generic logic in GimpLoadProcedure (as multi-page support
  is a common feature across image formats);
* GimpInt32Array arguments ("pages") can't be stored anyway right now.
* the "target" arg should be an enum.
2023-04-22 00:24:24 +02:00
Aurimas Černius
41bd71efb9 Update Lithuanian translation 2023-04-21 19:14:37 +00:00
Jehan
0d95b960c5 app: replace deprecated GLib function.
This fixes:

> app/core/gimpitemlist.c:632:7: warning: ‘g_pattern_match_string’ is deprecated: Use 'g_pattern_spec_match_string' instead [-Wdeprecated-declarations]

The new function appeared in GLib 2.70 which is our current minimum GLib
requirement, so the replacement is fine.
2023-04-21 01:09:35 +02:00