gimp/libgimpconfig
Jehan ce0a84003c libgimp, libgimpconfig: GimpResource can now be (de)serialized.
I add a new class method deserialize_create() to GimpConfigInterface which
returns the GimpConfig object per deserialization, instead of modifying an
existing bare object.

This matters for cases like our GimpResource (and later our GimpItem) classes
which are fully managed by libgimp and should be unique objects per actual
resource. It should even be possible to compare the pointer itself for identity.
That's why we need to let GimpResource create the object (in reality request it
to the infra and only ref it) through this new class method.

With this commit and the previous ones, all GimpResource are now properly stored
as plug-in settings (e.g. the "film" plug-in has a font setting which is now
properly remembered).

These identifiers are not portable (across various installations and therefore
not for XCF either), but at least they are reasonably identifying data on a same
installation (unlike GimpResource's int ID which is only valid within a single
session) which makes them very fine for plug-in settings storage.

When a data file disappears, we fallback to the context default data instead.
2023-07-27 15:34:45 +02:00
..
Makefile.gi libgimpconfig: support GStrv aka string array 2023-06-15 17:12:44 +00:00
gimpcolorconfig.c libgimpconfig: Retain color scale preferences 2023-01-10 00:20:22 +00:00
gimpcolorconfig.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpconfig-array.c libgimpconfig: support GStrv aka string array 2023-06-15 17:12:44 +00:00
gimpconfig-array.h libgimpconfig: support GStrv aka string array 2023-06-15 17:12:44 +00:00
gimpconfig-deserialize.c libgimp, libgimpconfig: GimpResource can now be (de)serialized. 2023-07-27 15:34:45 +02:00
gimpconfig-deserialize.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpconfig-error.c Use "Returns:" to annotate return values 2019-08-03 07:53:47 +00:00
gimpconfig-error.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpconfig-iface.c libgimp, libgimpconfig: GimpResource can now be (de)serialized. 2023-07-27 15:34:45 +02:00
gimpconfig-iface.h libgimp, libgimpconfig: GimpResource can now be (de)serialized. 2023-07-27 15:34:45 +02:00
gimpconfig-params.c Remove GimpUint8Array in favor of GBytes 2023-05-23 23:37:50 +02:00
gimpconfig-params.h libgimpconfig: add GIMP_CONFIG_PARAM_DONT_COMPARE flag 2020-04-08 00:10:42 +03:00
gimpconfig-path.c libgimp*, plug-ins: fix some warnings 2021-05-24 20:36:31 +00:00
gimpconfig-path.h libgimp*: lots of doc fixes and new docs for structs and enums 2019-07-24 01:18:30 +02:00
gimpconfig-register.c libgimpconfig: more param spec types to ignore (GeglParamFormat). 2022-10-26 23:29:32 +02:00
gimpconfig-register.h libgimpconfig: add gimp_config_type_register() 2019-09-16 10:48:32 +02:00
gimpconfig-serialize.c libgimpconfig: don't break serializing properties if one property serialization… 2023-07-27 15:24:56 +02:00
gimpconfig-serialize.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpconfig-utils.c libgimp*, plug-ins: fix some warnings 2021-05-24 20:36:31 +00:00
gimpconfig-utils.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpconfig.def libgimpconfig: support GStrv aka string array 2023-06-15 17:12:44 +00:00
gimpconfig.h libgimpconfig: add gimp_config_type_register() 2019-09-16 10:48:32 +02:00
gimpconfigenums.c app, libgimp*: commit the newly generated *enums.c files. 2022-08-01 20:00:01 +02:00
gimpconfigenums.h libgimpconfig: fix small typo. 2022-03-04 16:09:09 +01:00
gimpconfigtypes.h libgimpconfig: add a GimpScanner typedef and make it a boxed type 2019-08-09 12:42:52 +02:00
gimpconfigwriter.c gir: (skip) functions with varargs 2020-05-21 13:49:38 +02:00
gimpconfigwriter.h libgimpconfig: get rid of filenames in all config related APIs 2019-09-21 12:55:12 +02:00
gimpscanner.c Fix some gobject-introspection annotations 2021-12-02 12:46:05 +01:00
gimpscanner.h libgimpconfig: get rid of filenames in all config related APIs 2019-09-21 12:55:12 +02:00
meson.build libgimpconfig: support GStrv aka string array 2023-06-15 17:12:44 +00:00