Commit Graph

51119 Commits

Author SHA1 Message Date
Sabri Ünal f43398c090 DOAP: Replace defunct mailing list
Corresponding URL seems to be redirected to a new URL.
2023-12-13 10:16:27 +03:00
Stayd 594afaf900 plug-ins: DDS import rewrite
Comprehensive rewrite of the DDS import routine, in the interest of
easier maintainability and readability. Adds formats.c/h, containing
tables and functions related to reading and parsing uncompressed files.
Importer now supports nearly all non-video uncompressed formats.

Includes a variety of minor-to-moderate fixes made along the way
which could not be pulled out into separate commits due to dependence
on other aspects of the rewrite.
2023-12-13 03:30:48 +00:00
Stayd 829a92d62e plug-ins: Update dds.h and add known format codes
Minor cleanup and updating of types to GIMP types.
Addition of more known DXGI format codes, and one flag used by NVTT.
2023-12-13 03:30:48 +00:00
Rodrigo Lledó b2551d7ccf Update Spanish translation 2023-12-12 13:41:43 +00:00
Yuri Chornoivan 65893eb150 Update Ukrainian translation 2023-12-11 22:01:44 +00:00
Martin 6e6c81572a Update Slovenian translation 2023-12-11 19:16:57 +00:00
bootchk 77c12a205b Add tests of PDB procedures gimp-image-set-selected-layer etc. 2023-12-11 18:42:59 +00:00
bootchk 1ccceccb01 Fix #10460 2023-12-11 15:09:07 +00:00
Alexander Shopov 59e1f6dc4c Update Bulgarian translation 2023-12-11 09:53:40 +00:00
Anders Jonsson dbfd506df4 plug-ins: string fixes for lighting plug-in 2023-12-10 21:39:13 +01:00
Alx Sa e317166c98 plug-ins: Fix defaults of secondary light points
Resolves #10454.
When porting to GimpProcedureConfig, all
light types were set to "Point" when 2 - 6
should have been "None" by default.
This patch fixes the defaults.
2023-12-10 14:57:56 +00:00
bootchk dd2d0c96bf Fix a test plugin.
1. Recent changes to arg validation reveal bug in call to gimp-drawable-edit-gradient-fill,
supersampling arg must be >0

2. Make easier for testers to invoke by reducing the declared drawable capability
to SF-ONE-OR-MORE-DRAWABLE
2023-12-10 06:03:15 -05:00
Alexander Shopov 80908bfd4f Update Bulgarian translation 2023-12-10 09:55:23 +00:00
Alexander Shopov a3ff7e7f92 Update Bulgarian translation 2023-12-10 09:31:36 +00:00
Anders Jonsson 30db768764 Update Swedish translation 2023-12-10 00:40:14 +00:00
Martin 8234069f1a Update Slovenian translation 2023-12-09 21:16:20 +00:00
Ekaterine Papava 936dbbf947 Update Georgian translation 2023-12-09 20:06:35 +00:00
bootchk 4d4639b8f3 Fix scripts calling obsolete gimp-brush-delete
Now use gimp-resource-delete

Drive-by fix of bad call to gimp-context-set-pattern.

Fixes other calls to gimp-font-delete, etc. in a test script.

Partly fixes 9867.
2023-12-09 11:23:58 -05:00
Jacob Boerema 1add942fa6 app: fix #10349 Stroke Path on 2.99.16+ doesn't work reliably
Due to a bug in commit de5c805cbb, which
changed the choice widget between line and paint tool to a
GtkStackSwitcher, changing that choice did not work anymore.

The reason being that the stroke method wasn't being updated on clicking
stroke. We fix this by setting the stroke method when OK is clicked.

When creating the dialog we also set the stroke method, to reflect the
last used choice, since that was also missing.
2023-12-08 16:03:28 -05:00
Yuri Chornoivan c649295f5b Update Ukrainian translation 2023-12-08 18:11:04 +00:00
Rodrigo Lledó ecdda05905 Update Spanish translation 2023-12-08 17:55:06 +00:00
Jehan 6d2863eaf3 app: make the Pad Actions frame insensitive with tooltip on X11.
See discussion in !946: https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/946#note_1768869

On Windows/macOS, the pad device is probably not even showing at all
right now, though I can't test. Also it could be eventually implemented
with pad actions support (see Luca Bacci comment in the same MR) using
WM_POINTER API on Windows.

On X11 though, the pad device is shown, except it is kind of pointless.
So I am disabling the frame (making it insensitive) and add a tooltip.
2023-12-08 22:46:32 +09:00
Carlos Garnacho 058c19e5ac widgets: Make GimpDoubleAction friendlier to GtkPadController
Handle some statefulness in actions taking a double parameter, in order
to make them friendly to GtkPadController and its pad ring/strip
integration.

The GtkPadController emits those actions with a double parameter
expressing the absolute value (e.g. 0-360 for rings, 0-1 for strips),
take care of converting these absolute values to relative changes
that increase/decrease the current GimpDoubleAction value.

Going for relative increments/decrements increases the genericity
of rings when mapped to actions, as going with the given absolute
values would mean means rings could be mainly mapped to angle-like
actions, reducing its usefulness.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 0c3713b467 display: Hook pad controllers into GimpImageWindow
We have everything in place to create GtkPadControllers converting
events into actions as configured in settings, and the signaling
to trigger the (re)generation of those as device, window or configuration
changes appear.

Only the last bit attaching those controllers to actually handle
input was missing, now done in this commit.

Since there may be multiple configured tablets and pads, we need to
keep track of per-device controllers to handle the configuration for
those. This mapping is kept in GimpImageWindow as the "main" toplevel
(i.e. the one(s) typically considered "keyboard focus" and receiving pad
events) and ensured to be kept up-to-date through the ::configure-pad
signal.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 02eea132c2 widgets: Add GimpDeviceInfo API to generate a GtkPadController
This API call will snapshot the current configuration of a device
into a GtkPadController, that is created and attached to a toplevel
(this event controller only acts on toplevels).

This controller will handle pad events, trigger actions, and update
compositor feedback (e.g. GNOME Shell pad OSD) as per the actions
mapped in the configuration dialog.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 6ca6f87c16 widgets: Hook ::configure-pad signal emission to configuration changes
If a pad device configuration gets changed, or reset, we should trigger
the creation of new pad controllers for the existing toplevels.

Add the plumbing so that saving/resetting a device configuration will
result in the same ::configure-pad signal, and trigger it from the
relevant places.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 46d38827dd widgets: Add GimpDeviceManager signal to reconfigure pad devices
In order to apply the pad configuration so it does something, we
need to create GtkPadController objects on each toplevel for each
configured pad device.

This signal will work as a hint that a new GtkPadController should
be generated for the given device and current configuration. At
the moment, emit it when pad devices are added or removed.
2023-12-08 12:35:34 +00:00
Carlos Garnacho f66977beb5 widgets: Monitor all devices (not just pointing) in device manager
Since pads are not pointing devices, this is necessary to let pads
known to the configuration dialog.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 224566bb84 widgets: Detect disconnected pads as pads in GimpDeviceInfo
Return a suitable GdkInputSource for those configured pads, so that
they show up as pads in configuration even if disconnected.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 573d2f5380 widgets: Add UI for pad configuration
The UI is heavily inspired in the existing one for midi devices
and the such, as the restrictions are somewhat similar. Since there
is not enough information to introspect the device without the help
of libwacom (and the UI should work with tablets unsupported by
it, regardless) the list starts empty, and there exists a "grab
event" button to press pad buttons (or use rings/strips) and
create/focus a list item for the button/mode.

Double clicking on an action (or pressing the "edit" button) spawns
a different dialog with a GimpActionEditor to select an action.
And lastly, actions can be deleted with the "delete" button.

Pads may have different modes (e.g. leds in the tablet) that apply
to all pad features, the list will allow different actions to be
set on the same button in different modes. This basically multiplies
the amount of mappable actions by the number of available modes.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 8182f7d683 widgets: Add pad configuration to GimpDeviceInfo
Add property/getters for the pad configuration, and hook it
up to the serialization mechanism, so pad configuration is part
of device configuration.
2023-12-08 12:35:34 +00:00
Carlos Garnacho 2cfca9e90e core: Add GimpPadActions object
This object holds the mapping of pad device features (buttons/rings/strips)
to actions, given the current mode (e.g. leds in the device), and can be
serialized/deserialized from configuration files.
2023-12-08 12:35:34 +00:00
Jehan d42508534d NEWS: update. 2023-12-08 21:34:27 +09:00
Jehan 10f86c69d1 libgimp: fixing annotations. 2023-12-08 21:18:03 +09:00
Jehan 78108cc3c8 pdb: getting rid of some warnings in a perl script.
Fixing:

> Scalar value @inargs[...] better written as $inargs[...] at pdb/lib.pl line 247.
> Scalar value @outargs[...] better written as $outargs[...] at pdb/lib.pl line 386.
2023-12-08 20:58:59 +09:00
Idriss Fekir e8ad8af0f7 Fix fonts when exporting to pdf 2023-12-08 11:09:22 +00:00
Martin 588c98eb3f Update Slovenian translation 2023-12-07 22:17:21 +00:00
Anders Jonsson f388258c41 Update Swedish translation 2023-12-07 20:43:55 +00:00
Rodrigo Lledó 545ef24aa4 Update Spanish translation 2023-12-07 20:43:47 +00:00
Alan Mortensen 5df595ef33 Update Danish translation 2023-12-06 07:29:16 +00:00
Rodrigo Lledó a5232405f0 Update Spanish translation 2023-12-05 15:30:48 +00:00
Víttor Paulo Vieira da Costa 9700d51c25 Update Brazilian Portuguese translation 2023-12-05 12:49:07 +00:00
Jacob Boerema adb8f9dcbf plug-ins: fix #10429 Online help not opening
We were using an incorrect parameter name for calling the online help.
Instead of domain-names it is url.
2023-12-03 10:12:55 -05:00
Alan Mortensen d04e4a0b74 Update Danish translation 2023-12-03 14:28:19 +00:00
Alx Sa 3c261a2334 themes: Define button and header edges
This continues the theme definition work from bd398d5c.
A new edge-border-color tag was created
to allow for defined widget edges in both
light and dark themes.
The box-shadow highlights for buttons
and header/menubars was defined to
reduce system theme leaks. Some CSS
attributes were rearranges as well.
2023-12-02 18:57:20 +00:00
Luming Zh bd0dc645a5 Update Chinese (China) translation 2023-12-02 16:16:30 +00:00
Yuri Chornoivan 245e46f1cf Update Ukrainian translation 2023-12-02 15:31:51 +00:00
Martin 58001b93c8 Update Slovenian translation 2023-12-02 07:59:22 +00:00
Ekaterine Papava 4031b854c0 Update Georgian translation 2023-12-01 22:45:22 +00:00
bootchk 86921b45f4 Fix #9317
Also revise annotation 0=>%NULL and other wording changes.
2023-12-01 21:55:36 +00:00