Commit Graph

54188 Commits

Author SHA1 Message Date
29c9747222 plug-ins: simplify JXL export options
CMYK is saved with lossless compression. Lossy CMYK is
not recommended by libjxl developers.

libjxl API allows possibility to use lossy compression in original
profile but the compression in this combination of settings
is ineffective, with visible artifacts and discouraged
by libjxl developers. We removed this option.
2025-01-29 14:43:33 +00:00
1bbf9518de themes: Explicitly define spinbutton and combobox hover colors
Resolves #12821.
GimpSpinButtons (CSS spinbutton class) did not inherit the hover colors of
other buttons, so they did not highlight when hovered over. While comboboxes
mostly did inherit, there were a few odd instances where they were not in the
same hierarchy as other elements with hover colors defined. This patch defines
both explicitly to prevent one-off issues.
2025-01-29 14:40:13 +00:00
5d241d39e0 Update Portuguese translation 2025-01-28 22:09:03 +00:00
3ae4db9e71 Update Portuguese translation 2025-01-28 22:06:05 +00:00
5b791691f5 Update Portuguese translation 2025-01-28 22:03:09 +00:00
b197cc08f2 Update Portuguese translation 2025-01-28 22:00:14 +00:00
7c9d1ac6e5 Update Portuguese translation 2025-01-28 21:54:55 +00:00
f1ee6bf1ab .gitlab: omit Container Registry note in Merge Request template 2025-01-28 10:15:09 +00:00
b504ed47ac Update Catalan translation 2025-01-28 11:03:41 +01:00
ccdb73d804 README: update. 2025-01-27 22:12:28 +01:00
50a248d54e INSTALL, meson: update a bit installation docs. 2025-01-27 22:10:35 +01:00
1b34a13535 Update Danish translation 2025-01-27 18:09:30 +00:00
68947df3f1 desktop: AppStream update. 2025-01-27 17:50:39 +01:00
1980dcd0bc NEWS: update. 2025-01-27 17:45:45 +01:00
679220d8f5 Issue #12568: support GIMP's GEGL operations with a custom config argument…
… in new filter API.
2025-01-27 16:34:11 +01:00
79b200335c ScriptFu: interpreter: fix #12810
Interpreter should not override GimpPlugin.set_i18n,
so that translations are found in the interpreted plugin's directory.
2025-01-27 11:45:26 +00:00
952da49058 widgets: Commit GEGL-based tools before merging
In the initial NDE implementation, we
prevented merging filters if the Warp, Cage,
or Gradient Tool were active to prevent
active tool-based filters from crashing
when cleared.

This patch removes this limitation by
automatically committing the tool before
merging the rest of the filter stack.
This applies the tool-based filter correctly
and then merges the rest of the filter
stack as normal.
2025-01-27 05:42:41 +00:00
af4bf60477 core, tools, widget: Lock filters when editing
When editing a filter, the NDE UI is set to
insensitive so they can't be deleted.
However, closing and reopening the
popover re-enables the options.

This patch adds a new "temporary" boolean
to GimpDrawableFilter. It is only set to
TRUE if the filter is a temporary "editing"
filter. When we reopen the NDE UI, this
checks if the filter stack contains a
temporary filter, and if so, once again locks
the options.
2025-01-27 05:15:12 +00:00
a353618d53 libgimp: make sure alignment and margin are same for all argument labels.
While fixing individual widget's labels to have proper default is good,
let's also have a centralized re-setting of alignment and margins for
all the labels which we set in the same GtkSizeGroup. This makes nice
and consistent dialogs.

Additionally I set a 4px margin at the end of label (0 elsewhere),
otherwise the longer label in the size group end up sticking too close
to its control widget and it's ugly.
2025-01-26 21:29:21 +01:00
dd15b6a9a3 libgimpwidgets: GimpFileChooser should also be start-aligned. 2025-01-26 21:17:33 +01:00
995329ac25 Issue #11261: unify argument widget alignment. 2025-01-26 21:10:29 +01:00
4464537a38 build/linux: Do not distribute 'gegl-imgcmp' on Flatpak nightly
Similarly to 188deedb
2025-01-26 16:22:52 -03:00
f61b98dd98 build/linux: Complete c45a4eed (regarding cfitsio update) 2025-01-26 14:46:12 -03:00
188deedb98 build/windows: Bundle only 'gegl', not 'gegl-imgcmp'
'gegl-imgcmp' seems to be used only for ninja tests.
2025-01-26 14:37:33 -03:00
10808f2830 libgimp, plug-ins: create automatically a GimpFileChooser for GimpParamSpecFile arguments.
This new widget is much nicer, with proper label to document the GUI and
also with support to save files or create folders. It also has mnemonic
support and the label is put into the same size group as other so that
it's nicely aligned.

As a consequence, I remove bad support of object arguments with a GFile
value. People should just create proper GimpParamSpecFile arguments
(also GimpProcedure API now has a function only for such type of file
argument).

I also remove gimp_procedure_dialog_get_file_chooser() which was only
useful when we didn't know what action a file argument was for. Now it's
part of the param spec definition.

libscriptfu was updated too because SF-DIRNAME arguments don't need
special casing anymore.

Finally I change gradients-save-as-css to just make use of the new
automatic widget creation (more than 60 lines of plug-in code replaced
by… 0 lines because it's automatic!).

This whole commit is mostly a lot of code removal now that we have
proper automatization for file arguments! \o/
2025-01-26 18:13:55 +01:00
db2d3cffa2 libgimpwidgets: new GimpFileChooser widget.
This widget will replace our usage of GtkFileChooserButton, except that
it has a title label and also it contains GUI implementation for the
SAVE and CREATE_FOLDER actions (unlike the GTK button). Moreover this
widget was removed in GTK4. So it is a good idea to start encapsulating
such GTK widget anyway.

I'm also adding a propwidget function to create such a widget bound to a
GimpParamSpecFile property.

New functions:

- gimp_file_chooser_get_action
- gimp_file_chooser_get_file
- gimp_file_chooser_get_label
- gimp_file_chooser_get_label_widget
- gimp_file_chooser_get_title
- gimp_file_chooser_get_type
- gimp_file_chooser_new
- gimp_file_chooser_set_action
- gimp_file_chooser_set_file
- gimp_file_chooser_set_label
- gimp_file_chooser_set_title
- gimp_prop_file_chooser_new
2025-01-26 18:13:55 +01:00
ed0d528bdc libgimpbase: add gimp_param_spec_file_set_action().
Ability to change a file param spec action will be useful in the next
commit.
2025-01-26 18:13:55 +01:00
ec4fee282a build/windows: Check for 'sudo' mode when MSIX script is run targeting WACK
https://github.com/microsoft/sudo/issues/108
2025-01-26 11:36:51 -03:00
94938affe6 gitlab-ci: Fix custom Windows pipelines being interrupted
This was a regression introduced by 3da281c4
2025-01-25 22:21:53 -03:00
c45a4eed48 build/linux: Update cfitsio module to 4.5.0 preparing to RC3 2025-01-25 22:13:06 -03:00
1c00380f56 build/linux: Workaround go-appimagetool failing to find 'file' util 2025-01-25 22:03:34 -03:00
8e6e3546a2 gitlab-ci: Do not download 'deps-debian-x64' artifact on plugin tests
babl and gegl binaries are already present on 'gimp-debian-x64' artifact
2025-01-25 22:02:35 -03:00
4065d92972 build/windows: Fix wrong prefix of exiv2 and gexiv2 headers 2025-01-25 19:06:45 -03:00
7b11fe8dba build: Include all headers for use of gimptool 2025-01-25 19:03:55 -03:00
c0cd664fdd gitlab-ci: 'libtool' is not a direct GIMP dependency 2025-01-25 18:57:46 -03:00
0097d34a8f libgimpwidgets, plug-in: Reduce height of Load PDF dialog
This patch does the following to reduce the
height of the Load PDF GUI:
* Hides the title label if the PDF does not
have a title.
* Reduce the padding around elements
* Reduces the requested height of the
GimpPageSelector widget.
* Alter the GimpPageSelector widget so
that the layer/image combobox and the
range entry are on the same line.
2025-01-25 17:27:55 +00:00
fa16da8ef0 NEWS: update. 2025-01-25 16:49:03 +01:00
094414186b libgimp: also hide structs for GimpParamSpec(Display|Drawable|Image|Item).
New libgimp functions:

- gimp_param_spec_display_none_allowed()
- gimp_param_spec_drawable_filter_none_allowed()
- gimp_param_spec_image_none_allowed()
- gimp_param_spec_item_none_allowed()

I believe that now all param spec strucs which needed to be hidden are
effectively hidden!
2025-01-25 16:42:26 +01:00
ae6ab8bc57 gitlab-ci: Move global variables to '.default' hidden job
This makes easier to understand and maintain the default job settings.
2025-01-25 11:01:34 -03:00
0fbfc16da2 gitlab-ci: Organize Debian x64 and AppImage sections 2025-01-25 10:22:38 -03:00
6a57853f7c gitlab-ci: Remove redundant 'needs'
Now, by default, jobs do not depend on any job and
will only depend when expressely configured to.
This reduces some some few lines of redundancy.
2025-01-25 09:44:19 -03:00
edbbb60ea3 Update Bulgarian translation 2025-01-25 11:02:13 +00:00
b1acb256e1 libgimp*, plug-ins: now hide GimpParamSpecChoice struct.
New libgimpbase functions:

- gimp_param_spec_choice_get_choice
- gimp_param_spec_choice_get_default

Now the only GParamSpec in libgimpbase whose struct is visible is
GimpParamSpecObject. This can't change since it is derived into param
specs defined in libgimp and therefore needs to be visible.
2025-01-25 01:28:19 +01:00
080b09bb96 libgimp*: GimpParamSpecValueArray struct also hidden away!
New libgimpbase function: gimp_param_spec_value_array_get_element_spec()
2025-01-25 01:28:19 +01:00
f09d97b9a5 app, libgimp*: GimpParamSpecCoreObjectArray struct hidden too.
New libgimpbase function: gimp_param_spec_core_object_array_get_object_type()
2025-01-25 01:28:19 +01:00
b51f2b5252 gitlab-ci, build: Give up of build caching (ccache)
Actually it does more harm than good on CI, causing inconsistency and work.

The plan was to use it in all jobs but it is simply impossible for Flatpak
(https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/1502)
and seems that for Crossbuilds too (tested both crossroad and quasi-msys2).
Actually, only Windows jobs can use it, but started to fail on x86 runners.

On the other hand, sometimes the build is faster without ccache and we do
not have the burden of contacting managers etc. Just pkg caching is fine.
2025-01-24 21:04:35 -03:00
6e777c861b app, app, libgimp*: hide struct for several GParamSpec based off GimpParamSpecObject.
As a consequence, here are needed new functions:

* libgimp:
  - gimp_param_spec_resource_defaults_to_context()
  - gimp_param_spec_resource_none_allowed()

* libgimpbase:
  - gimp_param_spec_file_get_action()
  - gimp_param_spec_file_none_allowed()
  - gimp_param_spec_unit_percent_allowed()
  - gimp_param_spec_unit_pixel_allowed()
2025-01-24 23:44:43 +01:00
40aa78ac10 libgimp: add support for GimpParamSpecUnit to gimp_procedure_dialog_get_widget(). 2025-01-24 22:09:40 +01:00
23c9503bfa app, libgimp, libgimpbase: use GimpParamSpecObject infrastructure for…
… GimpParamSpecUnit's default value.

When I reparented GimpParamSpecUnit to GimpParamSpecObject in commit
ba3da3d338, I clearly forgot to get rid of the redundant default value.
2025-01-24 22:06:56 +01:00
af53dfab75 Issue #12722: force-query when system language change was not working with LANGUAGE.
It was working with LC_ALL or LANG but not with LANGUAGE which is an
additional system above the locale system AFAIU.
Concatenating both LANGUAGE environment variable and the locale-set
language, we get a more resilient opaque string value to compare.
2025-01-24 20:54:44 +01:00