Commit graph

54878 commits

Author SHA1 Message Date
Michael Natterer
76e82d5572 libgimp: there was an "else" missing in the commit below 2025-05-31 17:00:33 +02:00
Alx Sa
0d08a3c532 libgimp: Create widgets for unsigned integer parameters
gimp_procedure_add_uint_argument () creates an unsigned integer
parameter. It's functionally equivalent for creating dialogue widgets,
but since we only checked for G_TYPE_PARAM_INT, these parameters
did not generate widgets in GimpProcedureDialog.
This patch adds a check for G_TYPE_PARAM_UINT in relevant sections
to resolve the issue.
2025-05-31 14:20:28 +00:00
Michael Natterer
03366ae77c app: the filters popover now seems smart enough to be shown when there
is a floating selection.
2025-05-31 16:08:23 +02:00
Michael Natterer
9e64535c22 app: gimp_drawable_update(): optimize a call to
gimp_drawable_get_bounding_box() away.
2025-05-31 16:07:07 +02:00
Michael Natterer
40ace1016d app: GimpItemTreeView: show/hide the lock and search popovers
smoothly.
2025-05-31 16:01:26 +02:00
Michael Natterer
8119591049 app: hide/destroy the filters popover properly when the view is
unmapped or the image is changed, don't run into hide/popdown
recursions, show/hide the popover smoothly.
2025-05-31 15:51:25 +02:00
Michael Natterer
fc0c089208 app: fix my own confusion about gimp_drawable_update()
vs. gimp_drawable_update_bounding_box().
2025-05-31 15:22:54 +02:00
Alx Sa
ae02db90a3 core: Don't merge floating selection as filter
Floating selections are added to the same stack as
non-destructive filters. While the GUI prevents merging
filters when there is a floating selection, 
gimp_drawable_merge_filters () did not explicitly prevent
this. This patch replaces the while loop to merge filters with
a for loop, and explicitly checks if the item in the stack is a
drawable filter (and not a temporary one).
2025-05-31 12:38:47 +00:00
Michael Natterer
2baab5aa74 app: add accessors for GimpDrawableFilter::temporary and use them
instead of using the property dirtectly.  Also make sure temporary
filters don't go to the undo stack or to the XCF.
2025-05-31 14:14:02 +02:00
Michael Natterer
ac01289824 app: GimpDrawableFilter: move setters and getters together 2025-05-31 13:21:58 +02:00
Jordi Mas
4e2e1adce6 Update Catalan translation 2025-05-31 08:58:51 +02:00
Martin
56083f3928 Update Slovenian translation 2025-05-31 06:06:29 +00:00
Martin
9210cf0be3 Update Slovenian translation 2025-05-31 06:03:08 +00:00
Ekaterine Papava
ea5cd6a5f7 Update Georgian translation 2025-05-31 00:43:59 +00:00
Luming Zh
d60d9757a9 Update Chinese (China) translation 2025-05-31 00:11:51 +00:00
Bruno Lopes
2ce3c604e2
build, plug-ins: Generate *associations.list automatically at build-time
This is way easier to maintain and creates a bigger list of
associations by following the libraries that GIMP links
(but does not work with more complex code like file-gegl).

Also helps with
https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/issues/3
2025-05-30 19:23:41 -03:00
Alx Sa
3693f90aca Issue #4379: Add support for loading multi-layer OpenEXR images 2025-05-30 15:46:23 -03:00
Yuri Chornoivan
9e072b2ea0 Update Ukrainian translation 2025-05-30 18:19:32 +00:00
Yuri Chornoivan
c560c952b3 Update Ukrainian translation 2025-05-30 18:15:57 +00:00
Michael Natterer
90db039270 app: always show the filters popover if there are any potentially
editable filters, regardless of whether they are currently editable.
Also an ugly hack to make sure the popover resizes corrently with the
number of filters.
2025-05-30 18:07:39 +02:00
Michael Natterer
27b09025be app: refactoring in filters and their UI
- move the filter popover to its own file
- centralize popover sensitivity settings
- get rid of gimp_item_refresh_filters()
- lots of minor filter fixes/changes
2025-05-30 15:54:48 +02:00
Bruno Lopes
6b4e346c24
plug-ins: Build 'file-desktop-link' only on Linux 2025-05-30 09:01:18 -03:00
Luming Zh
f72b3f0a4d Update Chinese (China) translation 2025-05-29 23:08:25 +00:00
Bruno Lopes
edb55421fb
build/windows: Add observation about GIMP files on Installer script 2025-05-29 18:21:29 -03:00
Michael Natterer
18a9d267a0 app: GimpDrawableTreeView: rename functions to be consistent
and s/effects/filters/
2025-05-29 20:11:55 +02:00
Michael Natterer
9b2fc547ef app: GimpDrawableTreeView: rename "effect" to "filter" 2025-05-29 19:35:42 +02:00
Alx Sa
371620b0af plug-ins: Add support for ART as RAW loader
Since ART is a fork of RawTherapee, the
code is fairly similar to our existing loader
for that software.
2025-05-29 16:40:26 +00:00
Michael Natterer
2b82907967 app: minor cleanups in GimpDrawableTreeView 2025-05-29 17:09:49 +02:00
Michael Natterer
624a62d489 app: some random cleanups in widgets 2025-05-29 17:01:08 +02:00
Michael Natterer
3b60a1e01d app: move the entire filter code from GimpItemTreeView to
GimpDrawableTreeView, because it's filters on drawables not items.
2025-05-29 16:38:42 +02:00
Bruno Lopes
c49f5e3e2b
build/windows: Fix XCF association name
Closes: #14149
2025-05-29 10:51:18 -03:00
Michael Natterer
a790dc3253 app: add gimp_drawable_raise,lower_filter()
and move code there from gimpitemtreeview.c
2025-05-29 13:18:40 +02:00
Michael Natterer
fb199fba34 app: micro cleanup in the filter undo code 2025-05-29 00:45:01 +02:00
Michael Natterer
679c7a35c5 app: move gimp_drawable_has_filter() around in its file 2025-05-28 22:29:35 +02:00
Michael Natterer
2bf2f0e34f app: sanitize callback names of GimpItemTreeView drawable filter
callbacks, and remove unused variables.
2025-05-28 22:15:41 +02:00
Estecka
a60c1097ab core,widgets: Fix filter manipulations on invisible layers
Many actions done on layers require refreshing its filters, by toggling
the layer off and on again. When done on an invisible layer, this would
turn it visible, which could not be undone.
Now, the layer remains invisible.
2025-05-28 19:42:33 +00:00
Alx Sa
3b775abc90 plug-ins: Import Legacy PSD Dropshadow
This patch adds support for loading and
applying active Legacy Dropshadow
layer styles in PSD images.
2025-05-28 17:50:35 +00:00
Bruno Lopes
65feecd32d app: Remove not-working GIMP_ICONS_LIKE_A_BOSS
'gtk-menu-images' simply does not
work on GTK3 (tested on AppImage, Flatpak
and Windows) and it is not present on GTK4.
2025-05-28 14:07:05 -03:00
Michael Natterer
5805b96095 app: move filter stack init/finalize to gimpdrawable-filters.c so we
can connect to signals and do other things right here for the entire
lifecycle of the drawable.
2025-05-28 17:54:00 +02:00
Michael Natterer
bf877a8aa3 app, pdb: move filter duplication to one place in
GimpItem::duplicate().
2025-05-28 17:28:01 +02:00
Michael Natterer
4bb4811e77 app: call gimp_drawable_filter_refresh_crop() in a
GimpItem::size_changed() implementation in GimpDrawable,
instead of having the same code multiple times.
2025-05-28 16:55:13 +02:00
Michael Natterer
81a3c729d5 app: fix gimp_channel_is_full() to not lie:
- add channel->full the same way we have channel->empty
- never actually iterate the pixels to determine "full",
  only set it on simple stuff like "select all"
- optimize some code to take a fast path when the channel
  is full

Fixes #14081.
2025-05-28 00:48:58 +02:00
Bruno Lopes
c9f77c7228
build/windows: Alternative approach to Inno reading of config*.h
Closes: #14101

Partially reverts: f69dd75a17
2025-05-27 15:34:13 -03:00
Michael Natterer
868d566c7f app: make gimp_image_new_add_creation_metadata() static 2025-05-27 20:24:41 +02:00
Jehan
2bb6b6b970 NEWS: starting 3.2 NEWS. 2025-05-27 19:28:04 +02:00
Michael Natterer
c460450b4a app: fix menu states/callbacks for "Show Layer Masks" and "Disable
Layer Masks", Fixes #14055.

- change the logic to show the toggles in "on" state ONLY when ANY
  selected layer has the property enabled.
- adjust the action callbacks accordingly, and fix them to only push
  undo groups when multiple layers are changed.
- completely remove gimp_layer_tree_view_update_menu(), which did the
  same as the action update code, only more broken, was causing
  redundant undo steps beibng pushed, and was probably obsolete for 20
  years.
2025-05-27 19:23:44 +02:00
Alx Sa
1f37f92667 plug-ins: Fixes to JPEG 2000 import
This patch fixes the following:
- The magic number for J2K codestreams was left off
when porting from GIMP 2.10, preventing GIMP from
recognizing those files automatically
- The "colorspace" parameter was added to JP2 loading
procedure as an aux argument, so that if a color space was
not defined, the pop-up dialogue will work correctly.
- Fixed a crash in sycc444_to_rgb (), similar to 127cd671,
when freeing parts of the OpenJPEG object that were still in
use.
- Minor spacing issues fixed.
2025-05-27 17:23:31 +00:00
Bruno Lopes
2c0e7fdb76
build/windows: Organize expired certificate detection code on MSIX script
This commit make things more linear.
2025-05-27 12:40:47 -03:00
Bruno Lopes
6ca8945d49
build/windows: Fix .exe installer having the same mutex as gimp*.exe process 2025-05-27 11:36:13 -03:00
Bruno Lopes
b1eba99e46
build/windows: No need to double-define GIMP_MUTEX_VERSION on bundling script
We already take it from config.h
2025-05-27 11:34:12 -03:00