[gimp] app: remember the modes of the color picker info window's GimpColorFrames
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: remember the modes of the color picker info window's GimpColorFrames
- Date: Sun, 12 Nov 2017 19:35:21 +0000 (UTC)
commit 0611ca1d50d38a44151ae4302caf41e4a9330953
Author: Michael Natterer <mitch gimp org>
Date: Sun Nov 12 20:33:42 2017 +0100
app: remember the modes of the color picker info window's GimpColorFrames
Keep them in GimpColorPickerOptions.
app/tools/gimpcolorpickeroptions.c | 30 +++++++++++++++++++++++++++++-
app/tools/gimpcolorpickeroptions.h | 2 ++
app/tools/gimpcolorpickertool.c | 13 +++++++++----
3 files changed, 40 insertions(+), 5 deletions(-)
---
diff --git a/app/tools/gimpcolorpickeroptions.c b/app/tools/gimpcolorpickeroptions.c
index fb85dd2..ada0890 100644
--- a/app/tools/gimpcolorpickeroptions.c
+++ b/app/tools/gimpcolorpickeroptions.c
@@ -37,7 +37,9 @@ enum
PROP_0,
PROP_SAMPLE_AVERAGE, /* overrides a GimpColorOptions property */
PROP_PICK_MODE,
- PROP_USE_INFO_WINDOW
+ PROP_USE_INFO_WINDOW,
+ PROP_FRAME1_MODE,
+ PROP_FRAME2_MODE,
};
@@ -87,6 +89,20 @@ gimp_color_picker_options_class_init (GimpColorPickerOptionsClass *klass)
"color values in various color models"),
FALSE,
GIMP_PARAM_STATIC_STRINGS);
+
+ GIMP_CONFIG_PROP_ENUM (object_class, PROP_FRAME1_MODE,
+ "frame1-mode",
+ "Frame 1 Mode", NULL,
+ GIMP_TYPE_COLOR_FRAME_MODE,
+ GIMP_COLOR_FRAME_MODE_PIXEL,
+ GIMP_PARAM_STATIC_STRINGS);
+
+ GIMP_CONFIG_PROP_ENUM (object_class, PROP_FRAME2_MODE,
+ "frame2-mode",
+ "Frame 2 Mode", NULL,
+ GIMP_TYPE_COLOR_FRAME_MODE,
+ GIMP_COLOR_FRAME_MODE_RGB_PERCENT,
+ GIMP_PARAM_STATIC_STRINGS);
}
static void
@@ -113,6 +129,12 @@ gimp_color_picker_options_set_property (GObject *object,
case PROP_USE_INFO_WINDOW:
options->use_info_window = g_value_get_boolean (value);
break;
+ case PROP_FRAME1_MODE:
+ options->frame1_mode = g_value_get_enum (value);
+ break;
+ case PROP_FRAME2_MODE:
+ options->frame2_mode = g_value_get_enum (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -140,6 +162,12 @@ gimp_color_picker_options_get_property (GObject *object,
case PROP_USE_INFO_WINDOW:
g_value_set_boolean (value, options->use_info_window);
break;
+ case PROP_FRAME1_MODE:
+ g_value_set_enum (value, options->frame1_mode);
+ break;
+ case PROP_FRAME2_MODE:
+ g_value_set_enum (value, options->frame2_mode);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
diff --git a/app/tools/gimpcolorpickeroptions.h b/app/tools/gimpcolorpickeroptions.h
index d633d2e..58b912b 100644
--- a/app/tools/gimpcolorpickeroptions.h
+++ b/app/tools/gimpcolorpickeroptions.h
@@ -39,6 +39,8 @@ struct _GimpColorPickerOptions
GimpColorPickMode pick_mode;
gboolean use_info_window;
+ GimpColorFrameMode frame1_mode;
+ GimpColorFrameMode frame2_mode;
};
diff --git a/app/tools/gimpcolorpickertool.c b/app/tools/gimpcolorpickertool.c
index ee15b66..3cabdf6 100644
--- a/app/tools/gimpcolorpickertool.c
+++ b/app/tools/gimpcolorpickertool.c
@@ -329,6 +329,7 @@ gimp_color_picker_tool_info_create (GimpColorPickerTool *picker_tool,
GimpDisplay *display)
{
GimpTool *tool = GIMP_TOOL (picker_tool);
+ GimpToolOptions *options = GIMP_TOOL_GET_OPTIONS (tool);
GimpContext *context = GIMP_CONTEXT (tool->tool_info->tool_options);
GimpDisplayShell *shell = gimp_display_get_shell (display);
GimpImage *image = gimp_display_get_image (display);
@@ -365,10 +366,12 @@ gimp_color_picker_tool_info_create (GimpColorPickerTool *picker_tool,
picker_tool->color_frame1 = gimp_color_frame_new ();
gimp_color_frame_set_color_config (GIMP_COLOR_FRAME (picker_tool->color_frame1),
context->gimp->config->color_management);
- gimp_color_frame_set_mode (GIMP_COLOR_FRAME (picker_tool->color_frame1),
- GIMP_COLOR_FRAME_MODE_PIXEL);
gimp_color_frame_set_has_coords (GIMP_COLOR_FRAME (picker_tool->color_frame1),
TRUE);
+ g_object_bind_property (options, "frame1-mode",
+ picker_tool->color_frame1, "mode",
+ G_BINDING_BIDIRECTIONAL |
+ G_BINDING_SYNC_CREATE);
gtk_box_pack_start (GTK_BOX (hbox), picker_tool->color_frame1,
FALSE, FALSE, 0);
gtk_widget_show (picker_tool->color_frame1);
@@ -376,8 +379,10 @@ gimp_color_picker_tool_info_create (GimpColorPickerTool *picker_tool,
picker_tool->color_frame2 = gimp_color_frame_new ();
gimp_color_frame_set_color_config (GIMP_COLOR_FRAME (picker_tool->color_frame2),
context->gimp->config->color_management);
- gimp_color_frame_set_mode (GIMP_COLOR_FRAME (picker_tool->color_frame2),
- GIMP_COLOR_FRAME_MODE_RGB_PERCENT);
+ g_object_bind_property (options, "frame2-mode",
+ picker_tool->color_frame2, "mode",
+ G_BINDING_BIDIRECTIONAL |
+ G_BINDING_SYNC_CREATE);
gtk_box_pack_start (GTK_BOX (hbox), picker_tool->color_frame2,
FALSE, FALSE, 0);
gtk_widget_show (picker_tool->color_frame2);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]