From ed0d528bdcdadda86324edddacbd54ca6a4fd694 Mon Sep 17 00:00:00 2001 From: Jehan Date: Sun, 26 Jan 2025 17:32:58 +0100 Subject: [PATCH] libgimpbase: add gimp_param_spec_file_set_action(). Ability to change a file param spec action will be useful in the next commit. --- libgimpbase/gimpbase.def | 1 + libgimpbase/gimpparamspecs.c | 18 ++++++++++++++++++ libgimpbase/gimpparamspecs.h | 2 ++ 3 files changed, 21 insertions(+) diff --git a/libgimpbase/gimpbase.def b/libgimpbase/gimpbase.def index 2a3257c618..ceddf33dd6 100644 --- a/libgimpbase/gimpbase.def +++ b/libgimpbase/gimpbase.def @@ -149,6 +149,7 @@ EXPORTS gimp_param_spec_file gimp_param_spec_file_get_action gimp_param_spec_file_none_allowed + gimp_param_spec_file_set_action gimp_param_spec_int32_array gimp_param_spec_memsize gimp_param_spec_object_duplicate diff --git a/libgimpbase/gimpparamspecs.c b/libgimpbase/gimpparamspecs.c index 75e9f88934..e0c3b3d5f0 100644 --- a/libgimpbase/gimpparamspecs.c +++ b/libgimpbase/gimpparamspecs.c @@ -454,6 +454,24 @@ gimp_param_spec_file_get_action (GParamSpec *pspec) return GIMP_PARAM_SPEC_FILE (pspec)->action; } +/** + * gimp_param_spec_file_set_action: + * @pspec: a #GParamSpec to hold a #GFile value. + * @action: new action for @pspec. + * + * Change the file action tied to @pspec. + * + * Since: 3.0 + **/ +void +gimp_param_spec_file_set_action (GParamSpec *pspec, + GimpFileChooserAction action) +{ + g_return_if_fail (GIMP_IS_PARAM_SPEC_FILE (pspec)); + + GIMP_PARAM_SPEC_FILE (pspec)->action = action; +} + /** * gimp_param_spec_file_none_allowed: * @pspec: a #GParamSpec to hold a #GFile value. diff --git a/libgimpbase/gimpparamspecs.h b/libgimpbase/gimpparamspecs.h index 05ce17079f..b920d5c0a1 100644 --- a/libgimpbase/gimpparamspecs.h +++ b/libgimpbase/gimpparamspecs.h @@ -173,6 +173,8 @@ GParamSpec * gimp_param_spec_file (const gchar GParamFlags flags); GimpFileChooserAction gimp_param_spec_file_get_action (GParamSpec *pspec); +void gimp_param_spec_file_set_action (GParamSpec *pspec, + GimpFileChooserAction action); gboolean gimp_param_spec_file_none_allowed (GParamSpec *pspec);