[gimp] Bug 599573 - Remember dialog defaults between Gimp sessions
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 599573 - Remember dialog defaults between Gimp sessions
- Date: Sat, 24 Sep 2016 20:55:54 +0000 (UTC)
commit 3c7fcf4c58010120cd8931f3224a9583c88979bf
Author: Michael Natterer <mitch gimp org>
Date: Sat Sep 24 22:54:42 2016 +0200
Bug 599573 - Remember dialog defaults between Gimp sessions
Remember the "Convert to Color Profile" dialog's "intent" and "black
point compensation" in GimpDialogConfig.
app/config/gimpdialogconfig.c | 33 ++++++++++++++++++++++++++
app/config/gimpdialogconfig.h | 45 +++++++++++++++++++----------------
app/config/gimprc-blurbs.h | 7 +++++
app/dialogs/color-profile-dialog.c | 36 ++++++++++++----------------
4 files changed, 80 insertions(+), 41 deletions(-)
---
diff --git a/app/config/gimpdialogconfig.c b/app/config/gimpdialogconfig.c
index 29b674b..fd2700c 100644
--- a/app/config/gimpdialogconfig.c
+++ b/app/config/gimpdialogconfig.c
@@ -48,6 +48,9 @@ enum
PROP_COLOR_PROFILE_POLICY,
+ PROP_IMAGE_CONVERT_PROFILE_INTENT,
+ PROP_IMAGE_CONVERT_PROFILE_BPC,
+
PROP_LAYER_NEW_NAME,
PROP_LAYER_NEW_FILL_TYPE,
@@ -142,6 +145,22 @@ gimp_dialog_config_class_init (GimpDialogConfigClass *klass)
GIMP_COLOR_PROFILE_POLICY_ASK,
GIMP_PARAM_STATIC_STRINGS);
+ GIMP_CONFIG_PROP_ENUM (object_class, PROP_IMAGE_CONVERT_PROFILE_INTENT,
+ "image-convert-profile-intent",
+ "Default rendering intent fo color profile conversion",
+ IMAGE_CONVERT_PROFILE_INTENT_BLURB,
+ GIMP_TYPE_COLOR_RENDERING_INTENT,
+ GIMP_COLOR_RENDERING_INTENT_RELATIVE_COLORIMETRIC,
+ GIMP_PARAM_STATIC_STRINGS);
+
+ GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_IMAGE_CONVERT_PROFILE_BPC,
+ "image-convert-profile-black-point-compensation",
+ "Default 'Black point compensation' for "
+ "color profile conversion",
+ IMAGE_CONVERT_PROFILE_BPC_BLURB,
+ TRUE,
+ GIMP_PARAM_STATIC_STRINGS);
+
GIMP_CONFIG_PROP_STRING (object_class, PROP_LAYER_NEW_NAME,
"layer-new-name",
"Default new layer name",
@@ -377,6 +396,13 @@ gimp_dialog_config_set_property (GObject *object,
config->color_profile_policy = g_value_get_enum (value);
break;
+ case PROP_IMAGE_CONVERT_PROFILE_INTENT:
+ config->image_convert_profile_intent = g_value_get_enum (value);
+ break;
+ case PROP_IMAGE_CONVERT_PROFILE_BPC:
+ config->image_convert_profile_bpc = g_value_get_boolean (value);
+ break;
+
case PROP_LAYER_NEW_NAME:
if (config->layer_new_name)
g_free (config->layer_new_name);
@@ -479,6 +505,13 @@ gimp_dialog_config_get_property (GObject *object,
g_value_set_enum (value, config->color_profile_policy);
break;
+ case PROP_IMAGE_CONVERT_PROFILE_INTENT:
+ g_value_set_enum (value, config->image_convert_profile_intent);
+ break;
+ case PROP_IMAGE_CONVERT_PROFILE_BPC:
+ g_value_set_boolean (value, config->image_convert_profile_bpc);
+ break;
+
case PROP_LAYER_NEW_NAME:
g_value_set_string (value, config->layer_new_name);
break;
diff --git a/app/config/gimpdialogconfig.h b/app/config/gimpdialogconfig.h
index 67829ab..adc59ec 100644
--- a/app/config/gimpdialogconfig.h
+++ b/app/config/gimpdialogconfig.h
@@ -42,38 +42,41 @@ typedef struct _GimpDialogConfigClass GimpDialogConfigClass;
struct _GimpDialogConfig
{
- GimpGuiConfig parent_instance;
+ GimpGuiConfig parent_instance;
- GimpColorProfilePolicy color_profile_policy;
+ GimpColorProfilePolicy color_profile_policy;
- gchar *layer_new_name;
- GimpFillType layer_new_fill_type;
+ GimpColorRenderingIntent image_convert_profile_intent;
+ gboolean image_convert_profile_bpc;
- GimpAddMaskType layer_add_mask_type;
- gboolean layer_add_mask_invert;
+ gchar *layer_new_name;
+ GimpFillType layer_new_fill_type;
- GimpMergeType layer_merge_type;
- gboolean layer_merge_active_group_only;
- gboolean layer_merge_discard_invisible;
+ GimpAddMaskType layer_add_mask_type;
+ gboolean layer_add_mask_invert;
- gchar *channel_new_name;
- GimpRGB channel_new_color;
+ GimpMergeType layer_merge_type;
+ gboolean layer_merge_active_group_only;
+ gboolean layer_merge_discard_invisible;
- gchar *vectors_new_name;
+ gchar *channel_new_name;
+ GimpRGB channel_new_color;
- gdouble selection_feather_radius;
+ gchar *vectors_new_name;
- gdouble selection_grow_radius;
+ gdouble selection_feather_radius;
- gdouble selection_shrink_radius;
- gboolean selection_shrink_edge_lock;
+ gdouble selection_grow_radius;
- gdouble selection_border_radius;
- gboolean selection_border_edge_lock;
- GimpChannelBorderStyle selection_border_style;
+ gdouble selection_shrink_radius;
+ gboolean selection_shrink_edge_lock;
- GimpFillOptions *fill_options;
- GimpStrokeOptions *stroke_options;
+ gdouble selection_border_radius;
+ gboolean selection_border_edge_lock;
+ GimpChannelBorderStyle selection_border_style;
+
+ GimpFillOptions *fill_options;
+ GimpStrokeOptions *stroke_options;
};
struct _GimpDialogConfigClass
diff --git a/app/config/gimprc-blurbs.h b/app/config/gimprc-blurbs.h
index 7ca4020..ef64dff 100644
--- a/app/config/gimprc-blurbs.h
+++ b/app/config/gimprc-blurbs.h
@@ -420,6 +420,13 @@ _("Sets the folder for temporary storage. Files will appear here " \
#define ICON_THEME_PATH_BLURB \
"Sets the icon theme search path."
+#define IMAGE_CONVERT_PROFILE_INTENT_BLURB \
+_("Sets the default rendering intent for the 'Convert to Color Profile' dialog.")
+
+#define IMAGE_CONVERT_PROFILE_BPC_BLURB \
+_("Sets the default 'Black Point Compensation' state for the " \
+ "'Convert to Color Profile' dialog.")
+
#define LAYER_NEW_NAME_BLURB \
_("Sets the default layer name for the 'New Layer' dialog.")
diff --git a/app/dialogs/color-profile-dialog.c b/app/dialogs/color-profile-dialog.c
index 221850a..0d7e008 100644
--- a/app/dialogs/color-profile-dialog.c
+++ b/app/dialogs/color-profile-dialog.c
@@ -33,7 +33,7 @@
#include "dialogs-types.h"
-#include "config/gimpcoreconfig.h"
+#include "config/gimpdialogconfig.h"
#include "gegl/gimp-babl.h"
@@ -82,12 +82,6 @@ static void color_profile_dest_changed (GtkWidget *combo,
static void color_profile_dialog_free (ProfileDialog *dialog);
-/* defaults */
-
-static GimpColorRenderingIntent saved_intent = -1;
-static gboolean saved_bpc = FALSE;
-
-
/* public functions */
GtkWidget *
@@ -98,6 +92,7 @@ color_profile_dialog_new (ColorProfileDialogType dialog_type,
GimpProgress *progress)
{
ProfileDialog *dialog;
+ GimpDialogConfig *config;
GtkWidget *frame;
GtkWidget *vbox;
GtkWidget *expander;
@@ -109,23 +104,16 @@ color_profile_dialog_new (ColorProfileDialogType dialog_type,
g_return_val_if_fail (GTK_IS_WIDGET (parent), NULL);
g_return_val_if_fail (progress == NULL || GIMP_IS_PROGRESS (progress), NULL);
+ config = GIMP_DIALOG_CONFIG (image->gimp->config);
+
dialog = g_slice_new0 (ProfileDialog);
dialog->dialog_type = dialog_type;
dialog->image = image;
dialog->progress = progress;
dialog->config = image->gimp->config->color_management;
-
- if (saved_intent == -1)
- {
- dialog->intent = GIMP_COLOR_RENDERING_INTENT_RELATIVE_COLORIMETRIC;
- dialog->bpc = TRUE;
- }
- else
- {
- dialog->intent = saved_intent;
- dialog->bpc = saved_bpc;
- }
+ dialog->intent = config->image_convert_profile_intent;
+ dialog->bpc = config->image_convert_profile_bpc;
switch (dialog_type)
{
@@ -464,8 +452,16 @@ color_profile_dialog_response (GtkWidget *widget,
if (success)
{
- saved_intent = dialog->intent;
- saved_bpc = dialog->bpc;
+ GimpDialogConfig *config;
+
+ config = GIMP_DIALOG_CONFIG (dialog->image->gimp->config);
+
+ g_object_set (config,
+ "image-convert-profile-intent",
+ dialog->intent,
+ "image-convert-profile-black-point-compensation",
+ dialog->bpc,
+ NULL);
}
}
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]