Commit graph

56029 commits

Author SHA1 Message Date
Jehan
79f2de0625 libgimp: fix a function's doc-comment. 2025-10-14 22:30:32 +02:00
Jehan
faa288300f libgimpwidgets: consider NULL value of GimpLabelEntry as empty string.
Fixes:

> (file-svg:125356): Gtk-CRITICAL **: 22:11:43.459: gtk_entry_buffer_set_text: assertion 'chars != NULL' failed

… when running file-svg-export because the default of the "title" string
argument is NULL.

I did hesitate considering this was a bug in file-svg code on the
premises that a NULL value was not valid (hence replacing it as ""), but
in the end, I went with the more flexible solution, which is that NULL
is considered equivalent to "". So GimpLabelEntry code will just
transform the NULL pointer internally to an empty string.
2025-10-14 22:28:37 +02:00
Jehan
c5cdea4842 app: copy the rasterization state for all 3 types implementing GimpRasterizable. 2025-10-14 22:06:04 +02:00
Jehan
6cca90a3c2 plug-ins: determine correctly whether to export a raster object or not.
There were 3 bugs which were kinda countering each other and
participating to some confusion regarding actual layer types to export.

First the previous commit as we were looking whether a layer had been
rasterized to determine the object type on libgimp side. Secondly this
commit as the plug-in was using the previously wrong procedures. Lastly
with the upcoming commit, when we were duplicating an image, we were
disregarding any rasterization.
2025-10-14 22:06:04 +02:00
Jehan
58d84dfc2b app, pdb: check the real instance type to determine text, link and vector layers.
Without this, libgimp was creating raster GimpLayer objects when these
had been rasterized, which only made kinda sense when the old "discard"
procedures were not reversible. Yet even this was not entirely true,
since it was still possible to undo, but unfortunately these objects are
long lived. Once you get a GimpLayer, it won't ever change into a
GimpTextLayer (or others)!

So we need to have an object of the correct child type then we'll use
gimp_rasterizable_is_rasterized() to decide how to make use of the
object.
2025-10-14 22:06:04 +02:00
Dr. David Alan Gilbert
7d971a05c6 plugins: Remove unused struct 'camera_t' on sphere-designer 2025-10-14 16:46:41 -03:00
Jehan
8c07034dcf app, libgimp, pdb: fix authorship and initial version for vector layer API. 2025-10-14 21:11:09 +02:00
Jehan
3e414e6698 libgimp: better fix for procedure blurb in GimpProcView.
Commit 6874c47544 was not correct as we generate some type/values
description, extensively using Pango markup.

This additional fix does not change the logic from the aforementionned
commit, which is that the blurb still is just plain text (nor markup),
which we properly escape to display as-is, mixed with Pango markup.
2025-10-14 21:11:09 +02:00
Jehan
903195f429 plug-ins: indentation fix. 2025-10-14 21:11:09 +02:00
Yuri Chornoivan
7c613b43a8 Update Ukrainian translation 2025-10-14 18:44:02 +00:00
luming zh
294b181252 Update Chinese (China) translation 2025-10-14 01:49:36 +00:00
Bruno Lopes
67040c7f99
build/linux: Do not allow creating gimp snap with master gimp
Also, do some improvements on babl/gegl check.
2025-10-13 20:46:05 -03:00
Nathan Follens
1c8cb9e651 Update Dutch translation 2025-10-13 21:08:57 +00:00
Nathan Follens
86624072c3 Update Dutch translation 2025-10-13 21:01:54 +00:00
Bruno Lopes
ccae1022ad
build/linux: Do not allow creating gimp snap with master babl or gegl 2025-10-13 14:36:29 -03:00
Martin
d9145b2607 Update Slovenian translation 2025-10-13 16:16:08 +00:00
Jehan
58262ceda8 app, menus: rename layers-retrieve to layers-revert-rasterize.
Based on the label, and also "retrieve" was just too generic. It made
sense in the context of rasterizable items, but with the more generic
"layers" context, it would raise uncertainty.
2025-10-13 18:00:10 +02:00
Jehan
172d4356c5 app, libgimp, pdb: convert several files newlines with dos2unix. 2025-10-13 18:00:10 +02:00
Jehan
6f69a16e0a app, libgimp, pdb: remove specific functions now in shared GimpRasterizable API. 2025-10-13 18:00:10 +02:00
Kolbjørn Stuestøl
92e587b31f Update Norwegian Nynorsk translation 2025-10-13 15:53:41 +00:00
Kolbjørn Stuestøl
0abab06bdd Update Norwegian Nynorsk translation 2025-10-13 15:45:51 +00:00
Kolbjørn Stuestøl
d090ce622d Update Norwegian Nynorsk translation 2025-10-13 15:35:14 +00:00
Yuri Chornoivan
a72bf1562a Update Ukrainian translation 2025-10-13 15:09:50 +00:00
Jehan
83a8922b63 NEWS: update. 2025-10-13 16:56:08 +02:00
Jehan
6874c47544 libgimp: procedure blurb is not Pango markup.
I did wonder if it was supposed to be markup, and after a bit of test, I
could confirm that adding random markup in some other arguments, it does
sometimes styles the text, and other times, it just display the tags.

So I'm leaving an API warning to review this for GIMP 4.

This also fixes WARNINGs when a tag-like text is added:
https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/2469#note_2574483
2025-10-13 16:37:25 +02:00
Jehan
40f6e24f01 pdb: add some breathing space. 2025-10-13 16:37:25 +02:00
Jehan
67a04ba3b2 app, libgimp, pdb: port GimpRasterizable interface to libgimp too. 2025-10-13 16:37:25 +02:00
Jehan
d593cb3230 app, pdb, po: new GimpRasterizable interface.
Share the whole rasterize logic of the text, link and vector layer into
an interface. I didn't write it as an abstract parent class, because we
might have more rasterizable items in the future, which may not be
layers (e.g. there were discussions of vector masks).
2025-10-13 15:37:11 +02:00
Jehan
59c0e1ae6e app: remove useless heading newline. 2025-10-13 15:37:11 +02:00
Nathan Follens
25efa11880 Update Dutch translation 2025-10-13 09:48:13 +00:00
Martin
1fe83b7455 Update Slovenian translation 2025-10-13 08:51:07 +00:00
Martin
7c1c616526 Update Slovenian translation 2025-10-13 08:29:35 +00:00
Martin
113c4a1070 Update Slovenian translation 2025-10-13 08:29:30 +00:00
Martin
532f545ce1 Update Slovenian translation 2025-10-13 08:23:33 +00:00
luming zh
c7f7a64f89 Update Chinese (China) translation 2025-10-13 02:09:44 +00:00
luming zh
425d493d94 Update Chinese (China) translation 2025-10-13 02:04:11 +00:00
luming zh
2519bfea4e Update Chinese (China) translation 2025-10-13 01:51:04 +00:00
luming zh
275ea7eaa7 Update Chinese (China) translation 2025-10-13 01:40:13 +00:00
DiGro
5120bce17c Update Dutch translation 2025-10-12 22:11:45 +00:00
DiGro
4b4a9c8d86 Update Dutch translation 2025-10-12 22:11:34 +00:00
DiGro
f703a44dbe Update Dutch translation 2025-10-12 22:06:15 +00:00
Kolbjørn Stuestøl
6ed82169f7 Update Norwegian Nynorsk translation 2025-10-12 20:57:36 +00:00
Ondřej Míchal
a3274d78eb libgimpwidgets: Use GtkSearchEntry in GimpBrowser
Instead of using a makeshift search entry use the one provided by GTK.
As a side-product it allows the procedure browser to shrink its left
panel a little more.
2025-10-12 16:04:07 -03:00
Ondřej Míchal
7552fd4855 libgimp: Ellipsize procedure names in procedure browser 2025-10-12 16:04:07 -03:00
Ondřej Míchal
5f356d2856 Increase default sizes of procedure/plugin browsers
In my testing the default sizes were too small and I always had to
resize them to not feel cramped.
2025-10-12 16:04:07 -03:00
Ondřej Míchal
08218c7056 libgimpwidgets: Enforce minimal sizes of panels in GimpBrowser
The 'Plugin Browser' and 'Procedure Browser' use the same logic for
enforcing the minimum size of the details page and the list views. And
both are doing it by first setting the minimum: size of GtkTreeView and
then they climb up the widget tree to do the same. This is not ideal.

Setting the minimum size of GtkTreeView is not necessary because it is
inside of GtkScrolledWindow which makes this request moot. It also does
not enforce the minimum height of the widget for that reason. And if
GimpBrowser ever changes, both browsers will need to update their logic.
Moving the size enforcing a level up is logical and more robust.
2025-10-12 16:04:07 -03:00
Ondřej Míchal
8ff7102557 Clarify minimal widget sizes in procedure/plugin browser
Using an explicit value of width for the height of the dialog window
makes little sense. This makes the size of the dialog window clear.

And now the height of the list widget is set with its own macro instead
of piggybacking on the dialog window height.
2025-10-12 16:04:07 -03:00
Sabri Ünal
a082e9cc58 plugins: Use title case for menu label of Histogram Export plug-in 2025-10-12 16:02:57 -03:00
Aurimas Černius
5db2c11ced Updated Lithuanian translation. 2025-10-12 18:44:50 +00:00
Jehan
9d45f41868 app: properly react to the currently selected vector layer being rasterized.
Also properly factorize the set_layer() code, avoiding duplicating the
(dis)connecting signal handler code in various places.
2025-10-12 19:58:28 +02:00