[gimp] app: use gimp_prop_enum_radio_frame_new() in GimpDesaturateTool
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: use gimp_prop_enum_radio_frame_new() in GimpDesaturateTool
- Date: Tue, 28 May 2013 17:02:45 +0000 (UTC)
commit 38e771eea367d0ff6e35c355b0c4608e65347f61
Author: Michael Natterer <mitch gimp org>
Date: Tue May 28 19:01:14 2013 +0200
app: use gimp_prop_enum_radio_frame_new() in GimpDesaturateTool
and remove tons of code that was needed to update the old widget.
app/tools/gimpdesaturatetool.c | 82 +++++-----------------------------------
app/tools/gimpdesaturatetool.h | 7 +---
2 files changed, 11 insertions(+), 78 deletions(-)
---
diff --git a/app/tools/gimpdesaturatetool.c b/app/tools/gimpdesaturatetool.c
index 4f813bc..97bd337 100644
--- a/app/tools/gimpdesaturatetool.c
+++ b/app/tools/gimpdesaturatetool.c
@@ -20,8 +20,6 @@
#include <gegl.h>
#include <gtk/gtk.h>
-#include "libgimpmath/gimpmath.h"
-#include "libgimpconfig/gimpconfig.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "tools-types.h"
@@ -51,12 +49,6 @@ static GeglNode * gimp_desaturate_tool_get_operation (GimpImageMapTool *im_too
gchar **undo_desc);
static void gimp_desaturate_tool_dialog (GimpImageMapTool *im_tool);
-static void gimp_desaturate_tool_config_notify (GObject *object,
- GParamSpec *pspec,
- GimpDesaturateTool *desaturate_tool);
-static void gimp_desaturate_tool_mode_changed (GtkWidget *button,
- GimpDesaturateTool *desaturate_tool);
-
G_DEFINE_TYPE (GimpDesaturateTool, gimp_desaturate_tool,
GIMP_TYPE_IMAGE_MAP_TOOL)
@@ -104,9 +96,8 @@ gimp_desaturate_tool_initialize (GimpTool *tool,
GimpDisplay *display,
GError **error)
{
- GimpDesaturateTool *desaturate_tool = GIMP_DESATURATE_TOOL (tool);
- GimpImage *image = gimp_display_get_image (display);
- GimpDrawable *drawable = gimp_image_get_active_drawable (image);
+ GimpImage *image = gimp_display_get_image (display);
+ GimpDrawable *drawable = gimp_image_get_active_drawable (image);
if (! drawable)
return FALSE;
@@ -118,15 +109,7 @@ gimp_desaturate_tool_initialize (GimpTool *tool,
return FALSE;
}
- if (! GIMP_TOOL_CLASS (parent_class)->initialize (tool, display, error))
- {
- return FALSE;
- }
-
- gimp_int_radio_group_set_active (GTK_RADIO_BUTTON (desaturate_tool->button),
- desaturate_tool->config->mode);
-
- return TRUE;
+ return GIMP_TOOL_CLASS (parent_class)->initialize (tool, display, error);
}
static GeglNode *
@@ -134,19 +117,11 @@ gimp_desaturate_tool_get_operation (GimpImageMapTool *image_map_tool,
GObject **config,
gchar **undo_desc)
{
- GimpDesaturateTool *desaturate_tool = GIMP_DESATURATE_TOOL (image_map_tool);
-
- desaturate_tool->config = g_object_new (GIMP_TYPE_DESATURATE_CONFIG, NULL);
-
- g_signal_connect_object (desaturate_tool->config, "notify",
- G_CALLBACK (gimp_desaturate_tool_config_notify),
- G_OBJECT (desaturate_tool), 0);
-
- *config = G_OBJECT (desaturate_tool->config);
+ *config = g_object_new (GIMP_TYPE_DESATURATE_CONFIG, NULL);
return gegl_node_new_child (NULL,
"operation", "gimp:desaturate",
- "config", desaturate_tool->config,
+ "config", *config,
NULL);
}
@@ -158,51 +133,14 @@ gimp_desaturate_tool_get_operation (GimpImageMapTool *image_map_tool,
static void
gimp_desaturate_tool_dialog (GimpImageMapTool *image_map_tool)
{
- GimpDesaturateTool *desaturate_tool = GIMP_DESATURATE_TOOL (image_map_tool);
- GtkWidget *main_vbox;
- GtkWidget *frame;
+ GtkWidget *main_vbox;
+ GtkWidget *frame;
main_vbox = gimp_image_map_tool_dialog_get_vbox (image_map_tool);
- /* The table containing sliders */
- frame = gimp_enum_radio_frame_new (GIMP_TYPE_DESATURATE_MODE,
- gtk_label_new (_("Choose shade of gray based on:")),
- G_CALLBACK (gimp_desaturate_tool_mode_changed),
- desaturate_tool,
- &desaturate_tool->button);
-
+ frame = gimp_prop_enum_radio_frame_new (image_map_tool->config, "mode",
+ _("Choose shade of gray based on:"),
+ 0, 0);
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
}
-
-static void
-gimp_desaturate_tool_config_notify (GObject *object,
- GParamSpec *pspec,
- GimpDesaturateTool *desaturate_tool)
-{
- GimpDesaturateConfig *config = GIMP_DESATURATE_CONFIG (object);
-
- if (! desaturate_tool->button)
- return;
-
- gimp_int_radio_group_set_active (GTK_RADIO_BUTTON (desaturate_tool->button),
- config->mode);
-}
-
-static void
-gimp_desaturate_tool_mode_changed (GtkWidget *button,
- GimpDesaturateTool *desaturate_tool)
-{
- GimpDesaturateConfig *config = desaturate_tool->config;
- GimpDesaturateMode mode;
-
- mode = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (button),
- "gimp-item-data"));
-
- if (config->mode != mode)
- {
- g_object_set (config,
- "mode", mode,
- NULL);
- }
-}
diff --git a/app/tools/gimpdesaturatetool.h b/app/tools/gimpdesaturatetool.h
index 41ab6a1..a8bd012 100644
--- a/app/tools/gimpdesaturatetool.h
+++ b/app/tools/gimpdesaturatetool.h
@@ -35,12 +35,7 @@ typedef struct _GimpDesaturateToolClass GimpDesaturateToolClass;
struct _GimpDesaturateTool
{
- GimpImageMapTool parent_instance;
-
- GimpDesaturateConfig *config;
-
- /* dialog */
- GtkWidget *button;
+ GimpImageMapTool parent_instance;
};
struct _GimpDesaturateToolClass
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]