[gimp] app: add a default impl of GimpImageMapTool::reset()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add a default impl of GimpImageMapTool::reset()
- Date: Fri, 16 May 2014 14:24:58 +0000 (UTC)
commit f50b215d16fcfd846e87901e1c5985ad7b3af17d
Author: Michael Natterer <mitch gimp org>
Date: Fri May 16 16:22:31 2014 +0200
app: add a default impl of GimpImageMapTool::reset()
and chain up where possible instead of duplicating that code.
app/tools/gimpcolorbalancetool.c | 15 +-----------
app/tools/gimpimagemaptool.c | 46 +++++++++++++++++++++++--------------
app/tools/gimplevelstool.c | 15 +-----------
3 files changed, 30 insertions(+), 46 deletions(-)
---
diff --git a/app/tools/gimpcolorbalancetool.c b/app/tools/gimpcolorbalancetool.c
index 948905e..0e87956 100644
--- a/app/tools/gimpcolorbalancetool.c
+++ b/app/tools/gimpcolorbalancetool.c
@@ -250,24 +250,11 @@ gimp_color_balance_tool_reset (GimpImageMapTool *im_tool)
GimpColorBalanceTool *cb_tool = GIMP_COLOR_BALANCE_TOOL (im_tool);
GimpTransferMode range = cb_tool->config->range;
- g_object_freeze_notify (im_tool->config);
-
- if (im_tool->default_config)
- {
- gimp_config_copy (GIMP_CONFIG (im_tool->default_config),
- GIMP_CONFIG (im_tool->config),
- 0);
- }
- else
- {
- gimp_config_reset (GIMP_CONFIG (im_tool->config));
- }
+ GIMP_IMAGE_MAP_TOOL_CLASS (parent_class)->reset (im_tool);
g_object_set (cb_tool->config,
"range", range,
NULL);
-
- g_object_thaw_notify (im_tool->config);
}
static void
diff --git a/app/tools/gimpimagemaptool.c b/app/tools/gimpimagemaptool.c
index a4dd794..b16e448 100644
--- a/app/tools/gimpimagemaptool.c
+++ b/app/tools/gimpimagemaptool.c
@@ -104,6 +104,8 @@ static void gimp_image_map_tool_color_picked (GimpColorTool *color_too
const GimpRGB *color,
gint color_index);
+static void gimp_image_map_tool_real_reset (GimpImageMapTool *im_tool);
+
static void gimp_image_map_tool_halt (GimpImageMapTool *im_tool);
static void gimp_image_map_tool_commit (GimpImageMapTool *im_tool);
@@ -185,7 +187,7 @@ gimp_image_map_tool_class_init (GimpImageMapToolClass *klass)
klass->get_operation = NULL;
klass->map = NULL;
klass->dialog = NULL;
- klass->reset = NULL;
+ klass->reset = gimp_image_map_tool_real_reset;
klass->get_settings_ui = gimp_image_map_tool_real_get_settings_ui;
klass->settings_import = gimp_image_map_tool_real_settings_import;
klass->settings_export = gimp_image_map_tool_real_settings_export;
@@ -575,6 +577,24 @@ gimp_image_map_tool_color_picked (GimpColorTool *color_tool,
}
static void
+gimp_image_map_tool_real_reset (GimpImageMapTool *im_tool)
+{
+ if (im_tool->config)
+ {
+ if (im_tool->default_config)
+ {
+ gimp_config_copy (GIMP_CONFIG (im_tool->default_config),
+ GIMP_CONFIG (im_tool->config),
+ 0);
+ }
+ else
+ {
+ gimp_config_reset (GIMP_CONFIG (im_tool->config));
+ }
+ }
+}
+
+static void
gimp_image_map_tool_halt (GimpImageMapTool *im_tool)
{
GimpTool *tool = GIMP_TOOL (im_tool);
@@ -666,23 +686,13 @@ gimp_image_map_tool_dialog_unmap (GtkWidget *dialog,
static void
gimp_image_map_tool_reset (GimpImageMapTool *tool)
{
- if (GIMP_IMAGE_MAP_TOOL_GET_CLASS (tool)->reset)
- {
- GIMP_IMAGE_MAP_TOOL_GET_CLASS (tool)->reset (tool);
- }
- else if (tool->config)
- {
- if (tool->default_config)
- {
- gimp_config_copy (GIMP_CONFIG (tool->default_config),
- GIMP_CONFIG (tool->config),
- 0);
- }
- else
- {
- gimp_config_reset (GIMP_CONFIG (tool->config));
- }
- }
+ if (tool->config)
+ g_object_freeze_notify (tool->config);
+
+ GIMP_IMAGE_MAP_TOOL_GET_CLASS (tool)->reset (tool);
+
+ if (tool->config)
+ g_object_thaw_notify (tool->config);
}
static void
diff --git a/app/tools/gimplevelstool.c b/app/tools/gimplevelstool.c
index 985f710..42bd1e6 100644
--- a/app/tools/gimplevelstool.c
+++ b/app/tools/gimplevelstool.c
@@ -605,24 +605,11 @@ gimp_levels_tool_reset (GimpImageMapTool *image_map_tool)
GimpLevelsTool *tool = GIMP_LEVELS_TOOL (image_map_tool);
GimpHistogramChannel channel = tool->config->channel;
- g_object_freeze_notify (image_map_tool->config);
-
- if (image_map_tool->default_config)
- {
- gimp_config_copy (GIMP_CONFIG (image_map_tool->default_config),
- GIMP_CONFIG (image_map_tool->config),
- 0);
- }
- else
- {
- gimp_config_reset (GIMP_CONFIG (image_map_tool->config));
- }
+ GIMP_IMAGE_MAP_TOOL_CLASS (parent_class)->reset (image_map_tool);
g_object_set (tool->config,
"channel", channel,
NULL);
-
- g_object_thaw_notify (image_map_tool->config);
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]