[gimp/alxsa-soft-proofing-menu] libgimpwidgets: Set combobox with GimpColorProfile
- From: Alx Sa <sawyeralex src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/alxsa-soft-proofing-menu] libgimpwidgets: Set combobox with GimpColorProfile
- Date: Tue, 16 Aug 2022 11:39:37 +0000 (UTC)
commit 5f4f72904c8b6472cd5c7658a0cfc92532b74325
Author: Alx Sa <cmyk student gmail com>
Date: Tue Aug 9 20:29:16 2022 +0000
libgimpwidgets: Set combobox with GimpColorProfile
This adds a new public API to set a GimpColorProfileComboBox's active
option using a GimpColorProfile instead of a file.
app/display/gimpstatusbar.c | 185 +++++++++++++++++--------
app/display/gimpstatusbar.h | 1 +
libgimpwidgets/gimpcolorprofilecombobox.c | 29 ++++
libgimpwidgets/gimpcolorprofilecombobox.h | 26 ++--
libgimpwidgets/gimpcolorprofilestore-private.h | 5 +
libgimpwidgets/gimpcolorprofilestore.c | 79 +++++++++++
libgimpwidgets/gimpwidgets.def | 1 +
7 files changed, 258 insertions(+), 68 deletions(-)
---
diff --git a/app/display/gimpstatusbar.c b/app/display/gimpstatusbar.c
index 471aaa2081..f24561fee4 100644
--- a/app/display/gimpstatusbar.c
+++ b/app/display/gimpstatusbar.c
@@ -117,6 +117,9 @@ static void gimp_statusbar_soft_proof_rendering_intent_changed
static void gimp_statusbar_soft_proof_bpc_toggled
(GtkWidget *button,
GimpStatusbar *statusbar);
+static void gimp_statusbar_soft_proof_optimize_changed
+ (GtkWidget *button,
+ GimpStatusbar *statusbar);
static void gimp_statusbar_soft_proof_gamut_toggled
(GtkWidget *button,
GimpStatusbar *statusbar);
@@ -139,10 +142,9 @@ static void gimp_statusbar_scale_activated (GimpScaleComboBox *combo,
static void gimp_statusbar_shell_image_changed(GimpStatusbar *statusbar,
GimpImage *image,
GimpContext *context);
-static void gimp_statusbar_shell_image_simulation_profile_changed
+static void gimp_statusbar_shell_image_simulation_changed
(GimpImage *image,
GimpStatusbar *statusbar);
-
static gboolean gimp_statusbar_rotate_pressed (GtkWidget *event_box,
GdkEvent *event,
GimpStatusbar *statusbar);
@@ -236,10 +238,12 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
GtkWidget *image;
GtkWidget *label;
GtkWidget *grid;
+ GtkWidget *separator;
GimpUnitStore *store;
gchar *text;
GFile *file;
GtkListStore *combo_store;
+ gint row;
gtk_frame_set_shadow_type (GTK_FRAME (statusbar), GTK_SHADOW_IN);
@@ -436,9 +440,6 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
gtk_widget_show (image);
gtk_widget_show (statusbar->soft_proof_button);
- g_signal_connect (statusbar->soft_proof_button, "clicked",
- G_CALLBACK (gimp_statusbar_soft_proof_button_toggled),
- statusbar);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (statusbar->soft_proof_button),
FALSE);
@@ -467,6 +468,8 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
FALSE);
/* soft proofing popover */
+ row = 0;
+
statusbar->soft_proof_popover = gtk_popover_new (statusbar->soft_proof_container);
gtk_popover_set_modal (GTK_POPOVER (statusbar->soft_proof_popover), TRUE);
@@ -480,14 +483,14 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
g_free (text);
gtk_grid_attach (GTK_GRID (grid),
label,
- 0, 0, 2, 1);
+ 0, row++, 2, 1);
gtk_widget_show (label);
statusbar->proof_colors_toggle =
gtk_check_button_new_with_mnemonic (_("_Proof Colors"));
gtk_grid_attach (GTK_GRID (grid),
statusbar->proof_colors_toggle,
- 0, 1, 1, 1);
+ 0, row++, 1, 1);
g_signal_connect (statusbar->proof_colors_toggle, "clicked",
G_CALLBACK (gimp_statusbar_soft_proof_button_toggled),
statusbar);
@@ -503,7 +506,7 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
g_free (text);
gtk_grid_attach (GTK_GRID (grid),
statusbar->profile_label,
- 0, 2, 2, 1);
+ 0, row++, 2, 1);
gtk_widget_show (statusbar->profile_label);
file = gimp_directory_file ("profilerc", NULL);
@@ -518,7 +521,7 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
gimp_color_profile_combo_box_set_active_file (GIMP_COLOR_PROFILE_COMBO_BOX (statusbar->profile_combo),
NULL, NULL);
- gimp_grid_attach_aligned (GTK_GRID (grid), 0, 3,
+ gimp_grid_attach_aligned (GTK_GRID (grid), 0, row++,
_("_Soft-proofing Profile: "),
0.0, 0.5,
statusbar->profile_combo, 1);
@@ -537,7 +540,7 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
"model", combo_store,
"visible", TRUE,
NULL);
- gimp_grid_attach_aligned (GTK_GRID (grid), 0, 4,
+ gimp_grid_attach_aligned (GTK_GRID (grid), 0, row++,
_("_Rendering Intent: "),
0.0, 0.5,
statusbar->rendering_intent_combo, 1);
@@ -547,20 +550,38 @@ gimp_statusbar_init (GimpStatusbar *statusbar)
statusbar);
statusbar->bpc_toggle =
- gtk_check_button_new_with_mnemonic (_("_Black Point Compensation"));
+ gtk_check_button_new_with_mnemonic (_("Use _Black Point Compensation"));
gtk_grid_attach (GTK_GRID (grid),
statusbar->bpc_toggle,
- 0, 5, 1, 1);
+ 0, row++, 1, 1);
gtk_widget_show (statusbar->bpc_toggle);
g_signal_connect (statusbar->bpc_toggle, "clicked",
G_CALLBACK (gimp_statusbar_soft_proof_bpc_toggled),
statusbar);
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+ gtk_grid_attach (GTK_GRID (grid),separator,
+ 0, row++, 1, 1);
+ gtk_widget_show (separator);
+
+ statusbar->optimize_combo =
+ gimp_int_combo_box_new (_("Speed"), TRUE,
+ _("Precision / Color Fidelity"), FALSE,
+ NULL);
+ gimp_grid_attach_aligned (GTK_GRID (grid), 0, row++,
+ _("O_ptimize soft-proofing for: "),
+ 0.0, 0.5,
+ statusbar->optimize_combo, 1);
+ gtk_widget_show (statusbar->optimize_combo);
+ g_signal_connect (statusbar->optimize_combo, "changed",
+ G_CALLBACK (gimp_statusbar_soft_proof_optimize_changed),
+ statusbar);
+
statusbar->out_of_gamut_toggle =
gtk_check_button_new_with_mnemonic (_("_Mark Out of Gamut Colors"));
gtk_grid_attach (GTK_GRID (grid),
statusbar->out_of_gamut_toggle,
- 0, 6, 1, 1);
+ 0, row++, 1, 1);
gtk_widget_show (statusbar->out_of_gamut_toggle);
g_signal_connect (statusbar->out_of_gamut_toggle, "clicked",
G_CALLBACK (gimp_statusbar_soft_proof_gamut_toggled),
@@ -968,43 +989,67 @@ static void
gimp_statusbar_soft_proof_rendering_intent_changed (GtkComboBox *combo,
GimpStatusbar *statusbar)
{
- GimpColorConfig *color_config;
+ GimpImage *image;
GimpColorRenderingIntent intent;
GimpColorRenderingIntent active;
- color_config = gimp_display_shell_get_color_config (statusbar->shell);
- intent = gimp_color_config_get_simulation_intent (color_config);
- active =
- (GimpColorRenderingIntent) gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
+ g_return_if_fail (GIMP_IS_STATUSBAR (statusbar));
- if (active != intent)
+ image = gimp_display_get_image (statusbar->shell->display);
+ if (image)
{
- g_object_set (color_config,
- "simulation-rendering-intent", active,
- NULL);
- statusbar->shell->color_config_set = TRUE;
- }
+ intent = gimp_image_get_simulation_intent (image);
+ active =
+ (GimpColorRenderingIntent) gtk_combo_box_get_active (GTK_COMBO_BOX (combo));
- gimp_statusbar_shell_color_config_notify (G_OBJECT (color_config), NULL,
- statusbar);
+ if (active != intent)
+ {
+ gimp_image_set_simulation_intent (image, active);
+ gimp_image_flush (image);
+ }
+ }
}
static void
gimp_statusbar_soft_proof_bpc_toggled (GtkWidget *button,
GimpStatusbar *statusbar)
+{
+ GimpImage *image;
+ gboolean bpc_enabled;
+ gboolean active;
+
+ g_return_if_fail (GIMP_IS_STATUSBAR (statusbar));
+
+ image = gimp_display_get_image (statusbar->shell->display);
+ if (image)
+ {
+ bpc_enabled = gimp_image_get_simulation_bpc (image);
+ active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
+
+ if (active != bpc_enabled)
+ {
+ gimp_image_set_simulation_bpc (image, active);
+ gimp_image_flush (image);
+ }
+ }
+}
+
+static void
+gimp_statusbar_soft_proof_optimize_changed (GtkWidget *combo,
+ GimpStatusbar *statusbar)
{
GimpColorConfig *color_config;
- gboolean bpc_enabled;
- gboolean active;
+ gint optimize;
+ gint active;
color_config = gimp_display_shell_get_color_config (statusbar->shell);
- bpc_enabled = gimp_color_config_get_simulation_bpc (color_config);
- active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
+ optimize = gimp_color_config_get_simulation_optimize (color_config);
+ gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (combo), &active);
- if (active != bpc_enabled)
+ if (active != optimize)
{
g_object_set (color_config,
- "simulation-use-black-point-compensation", active,
+ "simulation-optimize", active,
NULL);
statusbar->shell->color_config_set = TRUE;
}
@@ -1041,10 +1086,25 @@ static gboolean gimp_statusbar_soft_proof_popover_shown (GtkWidget *button,
GdkEventButton *bevent,
GimpStatusbar *statusbar)
{
- if (bevent->type == GDK_BUTTON_PRESS && bevent->button == 3)
- gtk_widget_show (statusbar->soft_proof_popover);
+ if (bevent->type == GDK_BUTTON_PRESS)
+ {
+ if (bevent->button == 3)
+ gtk_widget_show (statusbar->soft_proof_popover);
- return FALSE;
+ if (bevent->button == 1 &&
+ gtk_widget_get_sensitive (statusbar->soft_proof_button))
+ {
+ gboolean active =
+ gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (statusbar->soft_proof_button));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (statusbar->soft_proof_button),
+ ! active);
+
+ gimp_statusbar_soft_proof_button_toggled (statusbar->soft_proof_button,
+ statusbar);
+ }
+ }
+
+ return TRUE;
}
static void
@@ -1885,11 +1945,9 @@ gimp_statusbar_shell_color_config_notify (GObject *config,
GimpStatusbar *statusbar)
{
gboolean active = FALSE;
+ gint optimize = 0;
GimpColorConfig *color_config = GIMP_COLOR_CONFIG (config);
GimpColorManagementMode mode = gimp_color_config_get_mode (color_config);
- GimpColorRenderingIntent intent;
-
- intent = gimp_color_config_get_simulation_intent (color_config);
if (mode == GIMP_COLOR_MANAGEMENT_SOFTPROOF)
{
@@ -1910,12 +1968,9 @@ gimp_statusbar_shell_color_config_notify (GObject *config,
GTK_RELIEF_NONE);
}
- gtk_combo_box_set_active (GTK_COMBO_BOX (statusbar->rendering_intent_combo),
- intent);
-
- active = gimp_color_config_get_simulation_bpc (color_config);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (statusbar->bpc_toggle),
- active);
+ optimize = gimp_color_config_get_simulation_optimize (color_config);
+ gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (statusbar->optimize_combo),
+ optimize);
active = gimp_color_config_get_simulation_gamut_check (color_config);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (statusbar->out_of_gamut_toggle),
@@ -1933,7 +1988,7 @@ gimp_statusbar_shell_set_image (GimpStatusbar *statusbar,
if (statusbar->image)
{
g_signal_handlers_disconnect_by_func (statusbar->image,
- gimp_statusbar_shell_image_simulation_profile_changed,
+ gimp_statusbar_shell_image_simulation_changed,
statusbar);
g_object_unref (statusbar->image);
}
@@ -1946,11 +2001,17 @@ gimp_statusbar_shell_set_image (GimpStatusbar *statusbar,
g_object_ref (statusbar->image);
g_signal_connect (statusbar->image, "simulation-profile-changed",
- G_CALLBACK (gimp_statusbar_shell_image_simulation_profile_changed),
+ G_CALLBACK (gimp_statusbar_shell_image_simulation_changed),
+ statusbar);
+ g_signal_connect (statusbar->image, "simulation-intent-changed",
+ G_CALLBACK (gimp_statusbar_shell_image_simulation_changed),
+ statusbar);
+ g_signal_connect (statusbar->image, "simulation-bpc-changed",
+ G_CALLBACK (gimp_statusbar_shell_image_simulation_changed),
statusbar);
- gimp_statusbar_shell_image_simulation_profile_changed (statusbar->image,
- statusbar);
+ gimp_statusbar_shell_image_simulation_changed (statusbar->image,
+ statusbar);
}
}
@@ -1999,17 +2060,22 @@ gimp_statusbar_shell_image_changed (GimpStatusbar *statusbar,
}
static void
-gimp_statusbar_shell_image_simulation_profile_changed (GimpImage *image,
- GimpStatusbar *statusbar)
+gimp_statusbar_shell_image_simulation_changed (GimpImage *image,
+ GimpStatusbar *statusbar)
{
- GimpColorProfile *simulation_profile = NULL;
- GFile *file;
- GtkListStore *profile_store;
- gchar *text;
- const gchar *profile_label;
+ GimpColorProfile *simulation_profile = NULL;
+ gchar *text;
+ const gchar *profile_label;
+ GimpColorRenderingIntent intent =
+ GIMP_COLOR_RENDERING_INTENT_RELATIVE_COLORIMETRIC;
+ gboolean bpc = FALSE;
if (image)
- simulation_profile = gimp_image_get_simulation_profile (image);
+ {
+ simulation_profile = gimp_image_get_simulation_profile (image);
+ intent = gimp_image_get_simulation_intent (image);
+ bpc = gimp_image_get_simulation_bpc (image);
+ }
if (simulation_profile && GIMP_IS_COLOR_PROFILE (simulation_profile))
{
@@ -2031,6 +2097,13 @@ gimp_statusbar_shell_image_simulation_profile_changed (GimpImage *image,
profile_label);
gtk_label_set_markup (GTK_LABEL (statusbar->profile_label), text);
g_free (text);
+
+ gimp_color_profile_combo_box_set_active_profile (GIMP_COLOR_PROFILE_COMBO_BOX (statusbar->profile_combo),
+ simulation_profile);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (statusbar->rendering_intent_combo),
+ intent);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (statusbar->bpc_toggle),
+ bpc);
}
static gboolean
diff --git a/app/display/gimpstatusbar.h b/app/display/gimpstatusbar.h
index a91263a310..398cb1c453 100644
--- a/app/display/gimpstatusbar.h
+++ b/app/display/gimpstatusbar.h
@@ -90,6 +90,7 @@ struct _GimpStatusbar
GtkWidget *profile_combo;
GtkWidget *rendering_intent_combo;
GtkWidget *bpc_toggle;
+ GtkWidget *optimize_combo;
GtkWidget *out_of_gamut_toggle;
GSList *size_widgets;
diff --git a/libgimpwidgets/gimpcolorprofilecombobox.c b/libgimpwidgets/gimpcolorprofilecombobox.c
index 77b85bed6c..dbd82aa7af 100644
--- a/libgimpwidgets/gimpcolorprofilecombobox.c
+++ b/libgimpwidgets/gimpcolorprofilecombobox.c
@@ -443,6 +443,35 @@ gimp_color_profile_combo_box_set_active_file (GimpColorProfileComboBox *combo,
g_object_unref (profile);
}
+/**
+ * gimp_color_profile_combo_box_set_active_profile:
+ * @combo: a #GimpColorProfileComboBox
+ * @profile: a #GimpColorProfile to set
+ *
+ * Selects a color profile from the @combo and makes it the active
+ * item.
+ *
+ * Since: 3.0
+ **/
+void
+gimp_color_profile_combo_box_set_active_profile (GimpColorProfileComboBox *combo,
+ GimpColorProfile *profile)
+{
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+
+ g_return_if_fail (GIMP_IS_COLOR_PROFILE_COMBO_BOX (combo));
+ g_return_if_fail (profile == NULL || GIMP_IS_COLOR_PROFILE (profile));
+
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
+
+ if (_gimp_color_profile_store_history_find_profile (GIMP_COLOR_PROFILE_STORE (model),
+ profile, &iter))
+ {
+ gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo), &iter);
+ }
+}
+
/**
* gimp_color_profile_combo_box_get_active_file:
* @combo: a #GimpColorProfileComboBox
diff --git a/libgimpwidgets/gimpcolorprofilecombobox.h b/libgimpwidgets/gimpcolorprofilecombobox.h
index 86f041dc52..93096c6914 100644
--- a/libgimpwidgets/gimpcolorprofilecombobox.h
+++ b/libgimpwidgets/gimpcolorprofilecombobox.h
@@ -62,22 +62,24 @@ struct _GimpColorProfileComboBoxClass
};
-GType gimp_color_profile_combo_box_get_type (void) G_GNUC_CONST;
+GType gimp_color_profile_combo_box_get_type (void) G_GNUC_CONST;
-GtkWidget * gimp_color_profile_combo_box_new (GtkWidget *dialog,
- GFile *history);
-GtkWidget * gimp_color_profile_combo_box_new_with_model (GtkWidget *dialog,
- GtkTreeModel *model);
+GtkWidget * gimp_color_profile_combo_box_new (GtkWidget *dialog,
+ GFile *history);
+GtkWidget * gimp_color_profile_combo_box_new_with_model (GtkWidget *dialog,
+ GtkTreeModel *model);
-void gimp_color_profile_combo_box_add_file (GimpColorProfileComboBox *combo,
- GFile *file,
- const gchar *label);
+void gimp_color_profile_combo_box_add_file (GimpColorProfileComboBox *combo,
+ GFile *file,
+ const gchar *label);
-void gimp_color_profile_combo_box_set_active_file (GimpColorProfileComboBox *combo,
- GFile *file,
- const gchar *label);
+void gimp_color_profile_combo_box_set_active_file (GimpColorProfileComboBox *combo,
+ GFile *file,
+ const gchar *label);
+void gimp_color_profile_combo_box_set_active_profile (GimpColorProfileComboBox *combo,
+ GimpColorProfile *profile);
-GFile * gimp_color_profile_combo_box_get_active_file (GimpColorProfileComboBox *combo);
+GFile * gimp_color_profile_combo_box_get_active_file (GimpColorProfileComboBox *combo);
G_END_DECLS
diff --git a/libgimpwidgets/gimpcolorprofilestore-private.h b/libgimpwidgets/gimpcolorprofilestore-private.h
index 98de84d3f9..e65f941285 100644
--- a/libgimpwidgets/gimpcolorprofilestore-private.h
+++ b/libgimpwidgets/gimpcolorprofilestore-private.h
@@ -45,6 +45,11 @@ G_GNUC_INTERNAL gboolean _gimp_color_profile_store_history_add (GimpColorPr
const gchar *label,
GtkTreeIter *iter);
+G_GNUC_INTERNAL gboolean _gimp_color_profile_store_history_find_profile
+ (GimpColorProfileStore *store,
+ GimpColorProfile *profile,
+ GtkTreeIter *iter);
+
G_GNUC_INTERNAL void _gimp_color_profile_store_history_reorder (GimpColorProfileStore *store,
GtkTreeIter *iter);
diff --git a/libgimpwidgets/gimpcolorprofilestore.c b/libgimpwidgets/gimpcolorprofilestore.c
index 6367de3cc5..8f25b86ede 100644
--- a/libgimpwidgets/gimpcolorprofilestore.c
+++ b/libgimpwidgets/gimpcolorprofilestore.c
@@ -24,8 +24,10 @@
#include <string.h>
#include <gtk/gtk.h>
+#include <gegl.h>
#include "libgimpbase/gimpbase.h"
+#include "libgimpcolor/gimpcolor.h"
#include "libgimpconfig/gimpconfig.h"
#include "gimpwidgetstypes.h"
@@ -390,6 +392,83 @@ _gimp_color_profile_store_history_add (GimpColorProfileStore *store,
return iter_valid;
}
+/**
+ * _gimp_color_profile_store_history_find_profile:
+ * @store: a #GimpColorProfileStore
+ * @profile: a #GimpColorProfile to find (or %NULL)
+ * @iter: a #GtkTreeIter
+ *
+ * Returns: %TRUE if the iter is valid and pointing to the item
+ *
+ * Since: 3.0
+ **/
+gboolean
+_gimp_color_profile_store_history_find_profile (GimpColorProfileStore *store,
+ GimpColorProfile *profile,
+ GtkTreeIter *iter)
+{
+ GtkTreeModel *model;
+ gboolean iter_valid;
+ gint max = -1;
+
+ g_return_val_if_fail (GIMP_IS_COLOR_PROFILE_STORE (store), FALSE);
+ g_return_val_if_fail (iter != NULL, FALSE);
+
+ model = GTK_TREE_MODEL (store);
+
+ for (iter_valid = gtk_tree_model_get_iter_first (model, iter);
+ iter_valid;
+ iter_valid = gtk_tree_model_iter_next (model, iter))
+ {
+ gint type;
+ gint index;
+ GFile *this;
+ GimpColorProfile *combo_profile = NULL;
+
+ gtk_tree_model_get (model, iter,
+ GIMP_COLOR_PROFILE_STORE_ITEM_TYPE, &type,
+ GIMP_COLOR_PROFILE_STORE_INDEX, &index,
+ -1);
+
+ if (type != GIMP_COLOR_PROFILE_STORE_ITEM_FILE)
+ continue;
+
+ if (index > max)
+ max = index;
+
+ /* check if we found a filename match */
+ gtk_tree_model_get (model, iter,
+ GIMP_COLOR_PROFILE_STORE_FILE, &this,
+ -1);
+
+ /* Convert file to GimpColorProfile */
+ if (this)
+ combo_profile = gimp_color_profile_new_from_file (this, NULL);
+
+ if ((combo_profile && profile &&
+ gimp_color_profile_is_equal (profile, combo_profile)) ||
+ (! this && ! profile))
+ {
+ if (this)
+ g_object_unref (this);
+ if (combo_profile)
+ g_object_unref (combo_profile);
+
+ return TRUE;
+ }
+
+ if (this)
+ g_object_unref (this);
+ if (combo_profile)
+ g_object_unref (combo_profile);
+ }
+
+ if (! profile)
+ return FALSE;
+
+ return iter_valid;
+}
+
/**
* _gimp_color_profile_store_history_reorder
* @store: a #GimpColorProfileStore
diff --git a/libgimpwidgets/gimpwidgets.def b/libgimpwidgets/gimpwidgets.def
index e195ecb3a2..16583462cc 100644
--- a/libgimpwidgets/gimpwidgets.def
+++ b/libgimpwidgets/gimpwidgets.def
@@ -92,6 +92,7 @@ EXPORTS
gimp_color_profile_combo_box_new
gimp_color_profile_combo_box_new_with_model
gimp_color_profile_combo_box_set_active_file
+ gimp_color_profile_combo_box_set_active_profile
gimp_color_profile_store_add_file
gimp_color_profile_store_get_type
gimp_color_profile_store_new
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]