Commit graph

55413 commits

Author SHA1 Message Date
Jehan
92c096d699 Revert "libgimpmath: #pragma once"
This reverts commit 74bf171611.

See https://gitlab.gnome.org/GNOME/gimp/-/issues/14668
2025-08-14 00:54:50 +02:00
Jehan
9308de3137 Revert "libgimpconfig: #pragma once, and some formatting"
This reverts commit 47a8ab5a66.

See https://gitlab.gnome.org/GNOME/gimp/-/issues/14668
2025-08-14 00:54:28 +02:00
Jehan
946a362d9b Revert "libgimpbase: #pragma once"
This reverts commit 06cd254954.

GObject Introspection tools somehow fail to introspect some macros in a
very bizarre way. See issue #14668.

I thought #pragma once was somewhat standard, but it turns out it's not.
And Wikipedia even stays about this:

> While #pragma once is available in most modern compilers, its
> implementation is tricky and might not always be reliable.

Anyway clearly it's not reliable at least regarding GIR tools. I believe
we should hold up on using #pragma once at the very least within our
libgimp* libraries. It is probably fine for app/ or plug-ins/ where we
don't need to introspect anything (and so far we haven't had any
compilation mishap because of this preprocessing directive).
2025-08-14 00:03:26 +02:00
Jehan
decc8dec6c desktop: prepare AppStream metadata for GIMP 3.1.4. 2025-08-13 19:41:32 +02:00
Jehan
048c86ffcf app: properly escape characters which need to be.
This fixes handling of text with for instance an ampersand (as in the
next AppStream release note listing).
2025-08-13 19:41:32 +02:00
Jehan
8470ec8b10 libgimpbase: add a #warning to be activated when we move on to GIMP 4.
The name GIMP_METADATA_SAVE_UPDATE does feel a bit ugly but we need to
keep the GIMP_METADATA_SAVE_ prefix, otherwise we would break the GIR
bindings. cf. commit 27fead082a.

Make a warning for ourselves to happen when we are closing onto GIMP 4.
Then we can make a decision whether or not we want to rename this enum
value.
2025-08-13 19:41:32 +02:00
Jehan
f35cc4693c NEWS: update. 2025-08-13 19:41:32 +02:00
Bruno Lopes
632cbd9ed3
build/windows: Drop 'replacesameversion' in favor of 'ignoreversion' on Inno 6.5.0
They are now mutually exclusive.
2025-08-13 13:32:51 -03:00
Bruno Lopes
5b97d96349
build/windows: From Inno 6.5.0, 'is' (Icelandic) language is unofficial 2025-08-13 13:32:48 -03:00
Bruno Lopes
b24fc1b74b
build/windows: Go back to latest Inno since the Task Dialog is fixed on 6.5.0
Reverts: 8a6a6516

See: 9e493a15d9/whatsnew.htm (L243)
2025-08-13 13:31:54 -03:00
Bruno Lopes
ebec92aec7
build/windows: Add comment about purpose of each list in all-deps-uni.txt 2025-08-13 08:23:45 -03:00
Jordi Mas
861e406393 Update Catalan translation 2025-08-13 08:14:40 +02:00
Gabriele Barbero
b65bd2bd4c widgets: ignore GDK_MOD2_MASK when...
...remapping shortcuts with GDK_META_MASK

On macOS, the Command key is GDK_META_MASK. But when setting a shortcut,
GDK_MOD2_MASK is added too. This extra modifier makes it hard to check
if the shortcut is already in use. GIMP sees it as a different combination,
even if it's really the same. Now, when GDK_META_MASK is used, we remove
GDK_MOD2_MASK. This helps GIMP detect existing shortcuts correctly
and avoid duplicates.
2025-08-13 03:22:57 +00:00
Bruno Lopes
2e12de6747
build/linux: Change collapsible section ID to the more technical '*_submission'
We already use '*_submission' on the MSIX script.

Submission is the first act, the one which we trigger on CI.
The publishing is done by the store (Flathub or Snap Store).
2025-08-12 22:38:49 -03:00
Michael Natterer
9f789e68d5 app, tools, plug-ins: more #pragma once, and formatting cleanup where
I noticed the need.
2025-08-13 01:48:40 +02:00
Jordi Mas
6124b56b3e Update Catalan translation 2025-08-12 23:29:41 +02:00
Bruno Lopes
839064a6c6
build, gitlab-ci: Drop last ccache shenanigans
Let's prioritize reproducibility over small performance gains,
specially when we have too many packages do deal with.
2025-08-12 16:33:32 -03:00
Bruno Lopes
56cc7e363b
build/linux, gitlab-ci: Change .flatpak-builder artifact naming to be more consistent 2025-08-12 16:25:31 -03:00
Bruno Lopes
aee3bd23d6
build/linux: Restore comment of '--destructive-mode'/host mode on Snap script
It was on the env section before the remote-build drop. Let's restore it and
move to the build section which is more appropriate.
2025-08-12 16:07:16 -03:00
Gabriele Barbero
c3d01854b3 dialogs: use core actions for opening images and new files
This commit changes the welcome dialog to use core actions for opening
images and new file. This allows to avoid code duplication.
2025-08-12 18:03:54 +00:00
Gabriele Barbero
d932d02fbe dialogs: implement shortcuts in the Welcome Dialog
This commit adds support for activating user-defined keyboard shortcuts in the Welcome Dialog to:
- Create a new file
- Open a file
- Open one of the 10 most recent files
2025-08-12 18:03:54 +00:00
Kolbjørn Stuestøl
4255227fff Update Norwegian Nynorsk translation 2025-08-12 16:01:37 +00:00
Bruno Lopes
a87ee3c241
build/linux: Add check to ensure we use the right 'snapcraft-rocks' image
If the container image don't have the base snap required by
snapcraft.yaml, it will naturally fail.
2025-08-12 12:21:40 -03:00
Michael Natterer
124993d770 app: GimpRow: don't ref the viewable, use a weak ref instead. 2025-08-12 15:45:16 +02:00
Michael Natterer
ff9a14b7d0 app: fix gimp_viewable_has_preview() to look at both the get_preview()
*and* get_pixbuf() methods. Fixes #14657.
2025-08-12 15:01:39 +02:00
Michael Natterer
f96a7192cd app: add GimpRowFilter and GimpRowDrawableFilter and port the filters
popover to GimpContainerListView.
2025-08-12 11:58:29 +02:00
Bruno Lopes
d4aac4a3e5
build/linux: Rework deps installation message on Snap script
The new text is more alike to the flatpak one, which
should make easier to understand both scripts.
2025-08-11 22:20:51 -03:00
Bruno Lopes
5da4b89002
build/linux: Make Snap on GNOME runners (not on Launchpad)
Now can make snaps 3x faster on CI without snapcraft remote-build.
2025-08-11 22:13:23 -03:00
Bruno Lopes
b960be9735
build/linux: Remove redundant plugs: in favor of 'gnome' Snap extension
See: https://documentation.ubuntu.com/snapcraft/stable/reference/extensions/gnome-extension/
2025-08-11 13:11:45 -03:00
Michael Natterer
2d57b1764d app: GimpRowSettings: forgot to remove some junk. 2025-08-11 16:39:30 +02:00
Michael Natterer
6651d4eb7f app: GimpRow's icon always exists, no need for if (priv->icon). 2025-08-11 16:23:54 +02:00
Michael Natterer
795cf081cc app: use a GimpContainerListView in the layer options dialog. 2025-08-11 16:09:35 +02:00
Michael Natterer
7fad4ad323 app: remove some #if 0'ed junk from GimpContainerListView, but leave
some there as a reminder.
2025-08-11 14:47:18 +02:00
Michael Natterer
9e2b378414 app: remove unused member from struct GimpContainerIconView 2025-08-11 14:41:23 +02:00
Michael Natterer
92e68453df app: set the container last in all GimpContainerView constructors, to
avoid traversing the just-filled view when "context" or "view-size"
changes.
2025-08-11 14:38:02 +02:00
Michael Natterer
c114e96096 app: gimp_container_view_set_container(): standardize a g_return_if_fail() 2025-08-11 14:37:25 +02:00
Michael Natterer
b4e27fbf83 app: create GimpRow with the view size of its GimpContainerView 2025-08-11 12:13:58 +02:00
Michael Natterer
33dfccde51 app: add GimpRowSeparator and GimpRowSettings and port
GimpSettingsEditor to GimpContainerListView.

The separator currently doesn't draw anything, maybe it needs some
CSS.
2025-08-11 12:07:11 +02:00
Michael Natterer
2f87f8e51e app: GimpRowDeviceInfo: add missing dot in comment 2025-08-11 12:06:00 +02:00
Gabriele Barbero
6574f6ff30 display: avoid critical on master devices
When the device is of type GDK_DEVICE_TYPE_MASTER, calling
gdk_device_get_vendor_id() and gdk_device_get_product_id() fails and
triggers a CRITICAL warning. This commit avoids invoking these functions
on master devices, where failure is guaranteed.
See #14219
2025-08-11 09:55:17 +02:00
Cristian Secară
92150e07ba Update Romanian translation 2025-08-10 19:23:19 +00:00
Cristian Secară
37ff61d0ac Update Romanian translation 2025-08-10 19:10:22 +00:00
Cristian Secară
d0d4c769e3 Update Romanian translation 2025-08-10 18:57:29 +00:00
Cristian Secară
aa0a25d82a Update Romanian translation 2025-08-10 18:44:49 +00:00
Cristian Secară
cb13ce0da3 Update Romanian translation 2025-08-10 17:45:05 +00:00
Yuri Chornoivan
f520df6f4a Update Ukrainian translation 2025-08-10 14:25:42 +00:00
Alx Sa
3a2d9c477e core: Set alpha value for image palette imports
Resolves #14649
After the Color Space Invasion, we retrieve the color format
from the palette when creating palettes from images. However,
gimp_palette_import_create_image_palette () still only receives
RGB values. Thus, the palette can store RGBA values without the
alpha, thus defaulting it to a random alpha value. This can cause
issues when using the palette to make a gradient or other instances
where the alpha value is reintroduced.
This patch checks if the format has an alpha channel, and if so, sets
the alpha to 255. Future work can be done to make the image palette
conversion less RGB-specific.
2025-08-10 13:58:25 +00:00
Cristian Secară
261f407008 Update Romanian translation 2025-08-10 13:53:12 +00:00
Cristian Secară
d9b9a7f8bd Update Romanian translation 2025-08-10 13:48:38 +00:00
Cristian Secară
4514e61fd1 Update Romanian translation 2025-08-10 13:33:35 +00:00