Gimp/app/dialogs
Jehan d493f0537f Issue #8900 and #9923: reimplementing GimpUnit as a proper class.
This fixes all our GObject Introspection issues with GimpUnit which was
both an enum and an int-derived type of user-defined units *completing*
the enum values. GIR clearly didn't like this!

Now GimpUnit is a proper class and units are unique objects, allowing to
compare them with an identity test (i.e. `unit == gimp_unit_pixel ()`
tells us if unit is the pixel unit or not), which makes it easy to use,
just like with int, yet adding also methods, making for nicer
introspected API.

As an aside, this also fixes #10738, by having all the built-in units
retrievable even if libgimpbase had not been properly initialized with
gimp_base_init().
I haven't checked in details how GIR works to introspect, but it looks
like it loads the library to inspect and runs functions, hence
triggering some CRITICALS because virtual methods (supposed to be
initialized with gimp_base_init() run by libgimp) are not set. This new
code won't trigger any critical because the vtable method are now not
necessary, at least for all built-in units.

Note that GimpUnit is still in libgimpbase. It could have been moved to
libgimp in order to avoid any virtual method table (since we need to
keep core and libgimp side's units in sync, PDB is required), but too
many libgimpwidgets widgets were already using GimpUnit. And technically
most of GimpUnit logic doesn't require PDB (only the creation/sync
part). This is one of the reasons why user-created GimpUnit list is
handled and stored differently from other types of objects.

Globally this simplifies the code a lot too and we don't need separate
implementations of various utils for core and libgimp, which means less
prone to errors.
2024-08-02 10:46:38 +02:00
..
about-dialog.c libgimpwidgets: New API to check system animation status 2024-06-10 13:47:25 +00:00
about-dialog.h gui: Change Windows title bar based on theme 2023-10-18 16:48:25 +00:00
action-search-dialog.c app: Action Search does not use GimpUiManager anymore. 2023-04-12 22:07:07 +02:00
action-search-dialog.h
authors.xsl
channel-options-dialog.c libgimp, dialogs, plug-ins: Minor fixes 2024-03-14 01:41:31 +00:00
channel-options-dialog.h app, libgimp, pdb, plug-ins: move more code to GeglColor. 2024-02-11 23:28:02 +01:00
color-profile-dialog.c
color-profile-dialog.h
color-profile-import-dialog.c app: make the rotation import dialog more similar to profile import 2023-05-25 16:56:07 +02:00
color-profile-import-dialog.h app: make the rotation import dialog more similar to profile import 2023-05-25 16:56:07 +02:00
convert-indexed-dialog.c
convert-indexed-dialog.h
convert-precision-dialog.c
convert-precision-dialog.h
data-delete-dialog.c icons: Restore GIMP icons replaced by GTK defaults 2023-04-30 13:58:39 +00:00
data-delete-dialog.h
dialogs-constructors.c app: Rename app/core GimpVectors vectors API... 2024-07-13 05:07:57 +00:00
dialogs-constructors.h
dialogs-types.h Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
dialogs.c widgets: Add UI for pad configuration 2023-12-08 12:35:34 +00:00
dialogs.h app: prevent multiple registrations of a same action. 2023-04-12 22:07:09 +02:00
extensions-dialog.c dialogs: Fix header bar assumption 2023-05-31 03:19:24 +00:00
extensions-dialog.h
file-open-dialog.c
file-open-dialog.h
file-open-location-dialog.c
file-open-location-dialog.h
file-save-dialog.c dialogs: Retain XCF compression setting after export 2024-07-20 00:06:03 +00:00
file-save-dialog.h
fill-dialog.c core: Add color/pattern only fill options 2023-06-24 19:42:58 +00:00
fill-dialog.h app: "Fill Paths" action, multi-paths aware. 2023-01-11 01:31:10 +01:00
grid-dialog.c
grid-dialog.h
image-merge-layers-dialog.c
image-merge-layers-dialog.h
image-new-dialog.c Issue #10872: welcome dialog does not behave like the usual "new image" action. 2024-02-17 18:01:20 +01:00
image-new-dialog.h
image-properties-dialog.c
image-properties-dialog.h
image-scale-dialog.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
image-scale-dialog.h Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
input-devices-dialog.c
input-devices-dialog.h
item-options-dialog.c libgimpwidgets: Fix formatting from 8adcc0cd 2024-05-19 02:10:23 +00:00
item-options-dialog.h app: add "lock visibility" to the layer,channel,path property dialogs 2023-05-26 02:46:53 +02:00
keyboard-shortcuts-dialog.c app: remove the "Save" button from the "Configure Keyboard Shortcuts" dialog. 2023-04-12 22:07:09 +02:00
keyboard-shortcuts-dialog.h
layer-add-mask-dialog.c fix typo 2023-02-06 15:24:27 +00:00
layer-add-mask-dialog.h
layer-options-dialog.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
layer-options-dialog.h app: add "lock visibility" to the layer,channel,path property dialogs 2023-05-26 02:46:53 +02:00
lebl-dialog.c
lebl-dialog.h
meson.build app: Rename app/core GimpVectors vectors API... 2024-07-13 05:07:57 +00:00
metadata-rotation-import-dialog.c app: make the rotation import dialog more similar to profile import 2023-05-25 16:56:07 +02:00
metadata-rotation-import-dialog.h app: make the rotation import dialog more similar to profile import 2023-05-25 16:56:07 +02:00
module-dialog.c app: fix build warning. 2023-06-24 18:42:44 +02:00
module-dialog.h
palette-import-dialog.c Issue #10385: fix CRITICAL when importing palettes via the Palette dockable. 2024-02-13 22:42:04 +01:00
palette-import-dialog.h
path-export-dialog.c app: Rename app/core GimpVectors vectors API... 2024-07-13 05:07:57 +00:00
path-export-dialog.h app: Rename app/core GimpVectors vectors API... 2024-07-13 05:07:57 +00:00
path-import-dialog.c app: Rename app/core GimpVectors vectors API... 2024-07-13 05:07:57 +00:00
path-import-dialog.h app: Rename app/core GimpVectors vectors API... 2024-07-13 05:07:57 +00:00
path-options-dialog.c libgimpwidgets, widgets: Fix icons on Path locks 2024-07-16 17:50:41 +00:00
path-options-dialog.h app: Rename app/core GimpVectors vectors API... 2024-07-13 05:07:57 +00:00
preferences-dialog-utils.c dialogs: Redesign Welcome Dialogue options layout 2024-06-04 01:57:51 +00:00
preferences-dialog-utils.h dialogs: Redesign Welcome Dialogue options layout 2024-06-04 01:57:51 +00:00
preferences-dialog.c dialogs: Fix theme selection on reset 2024-06-27 14:14:15 +00:00
preferences-dialog.h
print-size-dialog.c app: remove gtk_container_set_focus_chain(), it's deprecated and 2023-05-21 18:56:32 +02:00
print-size-dialog.h Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
quit-dialog.c QuitDialog: disconnect signal handler on dialog destroy 2024-04-04 20:18:56 +00:00
quit-dialog.h
resize-dialog.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
resize-dialog.h Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
resolution-calibrate-dialog.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
resolution-calibrate-dialog.h
scale-dialog.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
scale-dialog.h Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
stroke-dialog.c app, plug-ins: mark missing strings as translatable 2023-12-13 17:44:35 +00:00
stroke-dialog.h app: make Stroke Paths actions multi-paths aware. 2023-01-11 01:56:29 +01:00
template-options-dialog.c
template-options-dialog.h
tips-dialog.c app: remove gtk_container_set_focus_chain(), it's deprecated and 2023-05-21 18:56:32 +02:00
tips-dialog.h
tips-parser.c
tips-parser.h
user-install-dialog.c
user-install-dialog.h
welcome-dialog.c dialogs, libgimpwidgets: Prevent wide dialogs due to image/profile name 2024-07-22 16:32:47 +00:00
welcome-dialog.h dialogs: Add configurations to Welcome Dialogue 2024-02-14 15:20:10 +00:00