mirror of https://github.com/GNOME/gimp.git
app: remove all class variables from GimpFilterToolClass
and add them as return values to GimpFilterToool::get_operation(), so the tools is configured entirely per-instance now. This makes get_operations()'s signature more evil, but helps making GimpOperationTool less conplicated and convoluted.
This commit is contained in:
parent
c3dc3ea59f
commit
3aeebfa178
|
@ -77,7 +77,11 @@ static gchar *
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_brightness_contrast_tool_dialog (GimpFilterTool *filter_tool);
|
||||
|
||||
static void brightness_contrast_to_levels_callback (GtkWidget *widget,
|
||||
|
@ -112,17 +116,13 @@ gimp_brightness_contrast_tool_class_init (GimpBrightnessContrastToolClass *klass
|
|||
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
tool_class->initialize = gimp_brightness_contrast_tool_initialize;
|
||||
tool_class->button_press = gimp_brightness_contrast_tool_button_press;
|
||||
tool_class->button_release = gimp_brightness_contrast_tool_button_release;
|
||||
tool_class->motion = gimp_brightness_contrast_tool_motion;
|
||||
tool_class->initialize = gimp_brightness_contrast_tool_initialize;
|
||||
tool_class->button_press = gimp_brightness_contrast_tool_button_press;
|
||||
tool_class->button_release = gimp_brightness_contrast_tool_button_release;
|
||||
tool_class->motion = gimp_brightness_contrast_tool_motion;
|
||||
|
||||
filter_tool_class->settings_name = "brightness-contrast";
|
||||
filter_tool_class->import_dialog_title = _("Import Brightness-Contrast settings");
|
||||
filter_tool_class->export_dialog_title = _("Export Brightness-Contrast settings");
|
||||
|
||||
filter_tool_class->get_operation = gimp_brightness_contrast_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_brightness_contrast_tool_dialog;
|
||||
filter_tool_class->get_operation = gimp_brightness_contrast_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_brightness_contrast_tool_dialog;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -168,9 +168,17 @@ gimp_brightness_contrast_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
*description = g_strdup (_("Adjust Brightness and Contrast"));
|
||||
*description = g_strdup (_("Adjust Brightness and Contrast"));
|
||||
*has_settings = TRUE;
|
||||
*settings_folder = g_strdup ("brightness-contrast");
|
||||
*import_dialog_title = g_strdup (_("Import Brightness-Contrast settings"));
|
||||
*export_dialog_title = g_strdup (_("Export Brightness-Contrast settings"));
|
||||
|
||||
return g_strdup ("gimp:brightness-contrast");
|
||||
}
|
||||
|
|
|
@ -56,7 +56,11 @@ static gchar * gimp_color_balance_tool_get_operation (GimpFilterTool *filter
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_color_balance_tool_dialog (GimpFilterTool *filter_tool);
|
||||
static void gimp_color_balance_tool_reset (GimpFilterTool *filter_tool);
|
||||
|
||||
|
@ -92,15 +96,11 @@ gimp_color_balance_tool_class_init (GimpColorBalanceToolClass *klass)
|
|||
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
tool_class->initialize = gimp_color_balance_tool_initialize;
|
||||
tool_class->initialize = gimp_color_balance_tool_initialize;
|
||||
|
||||
filter_tool_class->settings_name = "color-balance";
|
||||
filter_tool_class->import_dialog_title = _("Import Color Balance Settings");
|
||||
filter_tool_class->export_dialog_title = _("Export Color Balance Settings");
|
||||
|
||||
filter_tool_class->get_operation = gimp_color_balance_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_color_balance_tool_dialog;
|
||||
filter_tool_class->reset = gimp_color_balance_tool_reset;
|
||||
filter_tool_class->get_operation = gimp_color_balance_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_color_balance_tool_dialog;
|
||||
filter_tool_class->reset = gimp_color_balance_tool_reset;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -135,9 +135,17 @@ gimp_color_balance_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
*description = g_strdup (_("Adjust Color Balance"));
|
||||
*description = g_strdup (_("Adjust Color Balance"));
|
||||
*has_settings = TRUE;
|
||||
*settings_folder = g_strdup ("color-balance");
|
||||
*import_dialog_title = g_strdup (_("Import Color Balance Settings"));
|
||||
*export_dialog_title = g_strdup (_("Export Color Balance Settings"));
|
||||
|
||||
return g_strdup ("gimp:color-balance");
|
||||
}
|
||||
|
|
|
@ -55,7 +55,11 @@ static gchar * gimp_colorize_tool_get_operation (GimpFilterTool *filter_tool
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_colorize_tool_dialog (GimpFilterTool *filter_tool);
|
||||
static void gimp_colorize_tool_color_picked (GimpFilterTool *filter_tool,
|
||||
gpointer identifier,
|
||||
|
@ -93,15 +97,11 @@ gimp_colorize_tool_class_init (GimpColorizeToolClass *klass)
|
|||
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
tool_class->initialize = gimp_colorize_tool_initialize;
|
||||
tool_class->initialize = gimp_colorize_tool_initialize;
|
||||
|
||||
filter_tool_class->settings_name = "colorize";
|
||||
filter_tool_class->import_dialog_title = _("Import Colorize Settings");
|
||||
filter_tool_class->export_dialog_title = _("Export Colorize Settings");
|
||||
|
||||
filter_tool_class->get_operation = gimp_colorize_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_colorize_tool_dialog;
|
||||
filter_tool_class->color_picked = gimp_colorize_tool_color_picked;
|
||||
filter_tool_class->get_operation = gimp_colorize_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_colorize_tool_dialog;
|
||||
filter_tool_class->color_picked = gimp_colorize_tool_color_picked;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -136,9 +136,17 @@ gimp_colorize_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
*description = g_strdup (_("Colorize the Image"));
|
||||
*description = g_strdup (_("Colorize the Image"));
|
||||
*has_settings = TRUE;
|
||||
*settings_folder = g_strdup ("colorize");
|
||||
*import_dialog_title = g_strdup (_("Import Colorize Settings"));
|
||||
*export_dialog_title = g_strdup (_("Export Colorize Settings"));
|
||||
|
||||
return g_strdup ("gimp:colorize");
|
||||
}
|
||||
|
|
|
@ -95,7 +95,11 @@ static gchar * gimp_curves_tool_get_operation (GimpFilterTool *filter
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_curves_tool_dialog (GimpFilterTool *filter_tool);
|
||||
static void gimp_curves_tool_reset (GimpFilterTool *filter_tool);
|
||||
static gboolean gimp_curves_tool_settings_import (GimpFilterTool *filter_tool,
|
||||
|
@ -165,24 +169,20 @@ gimp_curves_tool_class_init (GimpCurvesToolClass *klass)
|
|||
GimpColorToolClass *color_tool_class = GIMP_COLOR_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
object_class->constructed = gimp_curves_tool_constructed;
|
||||
object_class->constructed = gimp_curves_tool_constructed;
|
||||
|
||||
tool_class->initialize = gimp_curves_tool_initialize;
|
||||
tool_class->button_release = gimp_curves_tool_button_release;
|
||||
tool_class->key_press = gimp_curves_tool_key_press;
|
||||
tool_class->oper_update = gimp_curves_tool_oper_update;
|
||||
tool_class->initialize = gimp_curves_tool_initialize;
|
||||
tool_class->button_release = gimp_curves_tool_button_release;
|
||||
tool_class->key_press = gimp_curves_tool_key_press;
|
||||
tool_class->oper_update = gimp_curves_tool_oper_update;
|
||||
|
||||
color_tool_class->picked = gimp_curves_tool_color_picked;
|
||||
color_tool_class->picked = gimp_curves_tool_color_picked;
|
||||
|
||||
filter_tool_class->settings_name = "curves";
|
||||
filter_tool_class->import_dialog_title = _("Import Curves");
|
||||
filter_tool_class->export_dialog_title = _("Export Curves");
|
||||
|
||||
filter_tool_class->get_operation = gimp_curves_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_curves_tool_dialog;
|
||||
filter_tool_class->reset = gimp_curves_tool_reset;
|
||||
filter_tool_class->settings_import = gimp_curves_tool_settings_import;
|
||||
filter_tool_class->settings_export = gimp_curves_tool_settings_export;
|
||||
filter_tool_class->get_operation = gimp_curves_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_curves_tool_dialog;
|
||||
filter_tool_class->reset = gimp_curves_tool_reset;
|
||||
filter_tool_class->settings_import = gimp_curves_tool_settings_import;
|
||||
filter_tool_class->settings_export = gimp_curves_tool_settings_export;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -405,9 +405,17 @@ gimp_curves_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
*description = g_strdup (_("Adjust Color Curves"));
|
||||
*description = g_strdup (_("Adjust Color Curves"));
|
||||
*has_settings = TRUE;
|
||||
*settings_folder = g_strdup ("curves");
|
||||
*import_dialog_title = g_strdup (_("Import Curves"));
|
||||
*export_dialog_title = g_strdup (_("Export Curves"));
|
||||
|
||||
return g_strdup ("gimp:curves");
|
||||
}
|
||||
|
|
|
@ -121,13 +121,12 @@ gimp_filter_tool_real_settings_export (GimpFilterTool *filter_tool,
|
|||
GOutputStream *output,
|
||||
GError **error)
|
||||
{
|
||||
GimpFilterToolClass *klass = GIMP_FILTER_TOOL_GET_CLASS (filter_tool);
|
||||
gchar *header;
|
||||
gchar *footer;
|
||||
gboolean success;
|
||||
gchar *header;
|
||||
gchar *footer;
|
||||
gboolean success;
|
||||
|
||||
header = g_strdup_printf ("GIMP %s tool settings", klass->settings_name);
|
||||
footer = g_strdup_printf ("end of %s tool settings", klass->settings_name);
|
||||
header = g_strdup_printf ("GIMP '%s' settings", filter_tool->title);
|
||||
footer = g_strdup_printf ("end of '%s' settings", filter_tool->title);
|
||||
|
||||
success = gimp_config_serialize_to_stream (GIMP_CONFIG (filter_tool->config),
|
||||
output,
|
||||
|
|
|
@ -184,10 +184,6 @@ gimp_filter_tool_class_init (GimpFilterToolClass *klass)
|
|||
color_tool_class->pick = gimp_filter_tool_pick_color;
|
||||
color_tool_class->picked = gimp_filter_tool_color_picked;
|
||||
|
||||
klass->settings_name = NULL;
|
||||
klass->import_dialog_title = NULL;
|
||||
klass->export_dialog_title = NULL;
|
||||
|
||||
klass->get_operation = NULL;
|
||||
klass->dialog = NULL;
|
||||
klass->reset = gimp_filter_tool_real_reset;
|
||||
|
@ -273,6 +269,24 @@ gimp_filter_tool_finalize (GObject *object)
|
|||
filter_tool->help_id = NULL;
|
||||
}
|
||||
|
||||
if (filter_tool->settings_folder)
|
||||
{
|
||||
g_free (filter_tool->settings_folder);
|
||||
filter_tool->settings_folder = NULL;
|
||||
}
|
||||
|
||||
if (filter_tool->import_dialog_title)
|
||||
{
|
||||
g_free (filter_tool->import_dialog_title);
|
||||
filter_tool->import_dialog_title = NULL;
|
||||
}
|
||||
|
||||
if (filter_tool->export_dialog_title)
|
||||
{
|
||||
g_free (filter_tool->export_dialog_title);
|
||||
filter_tool->export_dialog_title = NULL;
|
||||
}
|
||||
|
||||
if (filter_tool->gui)
|
||||
{
|
||||
g_object_unref (filter_tool->gui);
|
||||
|
@ -332,15 +346,14 @@ gimp_filter_tool_initialize (GimpTool *tool,
|
|||
|
||||
if (! filter_tool->gui)
|
||||
{
|
||||
GimpFilterToolClass *klass = GIMP_FILTER_TOOL_GET_CLASS (filter_tool);
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *toggle;
|
||||
GtkWidget *expander;
|
||||
GtkWidget *frame;
|
||||
GtkWidget *vbox2;
|
||||
GtkWidget *combo;
|
||||
gchar *operation_name;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *toggle;
|
||||
GtkWidget *expander;
|
||||
GtkWidget *frame;
|
||||
GtkWidget *vbox2;
|
||||
GtkWidget *combo;
|
||||
gchar *operation_name;
|
||||
|
||||
/* disabled for at least GIMP 2.8 */
|
||||
filter_tool->overlay = FALSE;
|
||||
|
@ -375,7 +388,7 @@ gimp_filter_tool_initialize (GimpTool *tool,
|
|||
G_CALLBACK (gimp_filter_tool_response),
|
||||
G_OBJECT (filter_tool), 0);
|
||||
|
||||
if (filter_tool->config && klass->settings_name)
|
||||
if (filter_tool->config && filter_tool->has_settings)
|
||||
{
|
||||
GtkWidget *settings_ui;
|
||||
|
||||
|
@ -971,12 +984,15 @@ gimp_filter_tool_get_settings_ui (GimpFilterTool *filter_tool)
|
|||
type,
|
||||
(GCompareFunc) gimp_settings_compare);
|
||||
|
||||
default_folder = gimp_directory_file (klass->settings_name, NULL);
|
||||
if (filter_tool->settings_folder)
|
||||
default_folder = gimp_directory_file (filter_tool->settings_folder, NULL);
|
||||
else
|
||||
default_folder = NULL;
|
||||
|
||||
settings_ui = klass->get_settings_ui (filter_tool,
|
||||
settings,
|
||||
klass->import_dialog_title,
|
||||
klass->export_dialog_title,
|
||||
filter_tool->import_dialog_title,
|
||||
filter_tool->export_dialog_title,
|
||||
filter_tool->help_id,
|
||||
default_folder,
|
||||
&filter_tool->settings_box);
|
||||
|
@ -1292,12 +1308,34 @@ gimp_filter_tool_get_operation (GimpFilterTool *filter_tool)
|
|||
filter_tool->help_id = NULL;
|
||||
}
|
||||
|
||||
if (filter_tool->settings_folder)
|
||||
{
|
||||
g_free (filter_tool->settings_folder);
|
||||
filter_tool->settings_folder = NULL;
|
||||
}
|
||||
|
||||
if (filter_tool->import_dialog_title)
|
||||
{
|
||||
g_free (filter_tool->import_dialog_title);
|
||||
filter_tool->import_dialog_title = NULL;
|
||||
}
|
||||
|
||||
if (filter_tool->export_dialog_title)
|
||||
{
|
||||
g_free (filter_tool->export_dialog_title);
|
||||
filter_tool->export_dialog_title = NULL;
|
||||
}
|
||||
|
||||
operation_name = klass->get_operation (filter_tool,
|
||||
&filter_tool->title,
|
||||
&filter_tool->description,
|
||||
&filter_tool->undo_desc,
|
||||
&filter_tool->icon_name,
|
||||
&filter_tool->help_id);
|
||||
&filter_tool->help_id,
|
||||
&filter_tool->has_settings,
|
||||
&filter_tool->settings_folder,
|
||||
&filter_tool->import_dialog_title,
|
||||
&filter_tool->export_dialog_title);
|
||||
|
||||
if (! operation_name)
|
||||
operation_name = g_strdup ("gegl:nop");
|
||||
|
|
|
@ -50,6 +50,11 @@ struct _GimpFilterTool
|
|||
gchar *icon_name;
|
||||
gchar *help_id;
|
||||
|
||||
gboolean has_settings;
|
||||
gchar *settings_folder;
|
||||
gchar *import_dialog_title;
|
||||
gchar *export_dialog_title;
|
||||
|
||||
GimpDrawableFilter *filter;
|
||||
|
||||
GimpGuide *percent_guide;
|
||||
|
@ -66,17 +71,17 @@ struct _GimpFilterToolClass
|
|||
{
|
||||
GimpColorToolClass parent_class;
|
||||
|
||||
const gchar *settings_name;
|
||||
const gchar *import_dialog_title;
|
||||
const gchar *export_dialog_title;
|
||||
|
||||
/* virtual functions */
|
||||
gchar * (* get_operation) (GimpFilterTool *filter_tool,
|
||||
gchar **title,
|
||||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
void (* dialog) (GimpFilterTool *filter_tool);
|
||||
void (* reset) (GimpFilterTool *filter_tool);
|
||||
|
||||
|
@ -84,7 +89,7 @@ struct _GimpFilterToolClass
|
|||
GimpContainer *settings,
|
||||
const gchar *import_dialog_title,
|
||||
const gchar *export_dialog_title,
|
||||
const gchar *file_dialog_help_id,
|
||||
const gchar *help_id,
|
||||
GFile *default_folder,
|
||||
GtkWidget **settings_box);
|
||||
|
||||
|
|
|
@ -63,7 +63,11 @@ static gchar * gimp_hue_saturation_tool_get_operation (GimpFilterTool *filte
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_hue_saturation_tool_dialog (GimpFilterTool *filter_tool);
|
||||
static void gimp_hue_saturation_tool_reset (GimpFilterTool *filter_tool);
|
||||
|
||||
|
@ -108,17 +112,13 @@ gimp_hue_saturation_tool_class_init (GimpHueSaturationToolClass *klass)
|
|||
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
object_class->constructed = gimp_hue_saturation_tool_constructed;
|
||||
object_class->constructed = gimp_hue_saturation_tool_constructed;
|
||||
|
||||
tool_class->initialize = gimp_hue_saturation_tool_initialize;
|
||||
tool_class->initialize = gimp_hue_saturation_tool_initialize;
|
||||
|
||||
filter_tool_class->settings_name = "hue-saturation";
|
||||
filter_tool_class->import_dialog_title = _("Import Hue-Saturation Settings");
|
||||
filter_tool_class->export_dialog_title = _("Export Hue-Saturation Settings");
|
||||
|
||||
filter_tool_class->get_operation = gimp_hue_saturation_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_hue_saturation_tool_dialog;
|
||||
filter_tool_class->reset = gimp_hue_saturation_tool_reset;
|
||||
filter_tool_class->get_operation = gimp_hue_saturation_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_hue_saturation_tool_dialog;
|
||||
filter_tool_class->reset = gimp_hue_saturation_tool_reset;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -163,9 +163,17 @@ gimp_hue_saturation_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
*description = g_strdup (_("Adjust Hue / Lightness / Saturation"));
|
||||
*description = g_strdup (_("Adjust Hue / Lightness / Saturation"));
|
||||
*has_settings = TRUE;
|
||||
*settings_folder = g_strdup ("hue-saturation");
|
||||
*import_dialog_title = g_strdup (_("Import Hue-Saturation Settings"));
|
||||
*export_dialog_title = g_strdup (_("Export Hue-Saturation Settings"));
|
||||
|
||||
return g_strdup ("gimp:hue-saturation");
|
||||
}
|
||||
|
|
|
@ -77,7 +77,11 @@ static gchar * gimp_levels_tool_get_operation (GimpFilterTool *filter_tool
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_levels_tool_dialog (GimpFilterTool *filter_tool);
|
||||
static void gimp_levels_tool_reset (GimpFilterTool *filter_tool);
|
||||
static gboolean gimp_levels_tool_settings_import(GimpFilterTool *filter_tool,
|
||||
|
@ -149,21 +153,17 @@ gimp_levels_tool_class_init (GimpLevelsToolClass *klass)
|
|||
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
object_class->constructed = gimp_levels_tool_constructed;
|
||||
object_class->finalize = gimp_levels_tool_finalize;
|
||||
object_class->constructed = gimp_levels_tool_constructed;
|
||||
object_class->finalize = gimp_levels_tool_finalize;
|
||||
|
||||
tool_class->initialize = gimp_levels_tool_initialize;
|
||||
tool_class->initialize = gimp_levels_tool_initialize;
|
||||
|
||||
filter_tool_class->settings_name = "levels";
|
||||
filter_tool_class->import_dialog_title = _("Import Levels");
|
||||
filter_tool_class->export_dialog_title = _("Export Levels");
|
||||
|
||||
filter_tool_class->get_operation = gimp_levels_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_levels_tool_dialog;
|
||||
filter_tool_class->reset = gimp_levels_tool_reset;
|
||||
filter_tool_class->settings_import = gimp_levels_tool_settings_import;
|
||||
filter_tool_class->settings_export = gimp_levels_tool_settings_export;
|
||||
filter_tool_class->color_picked = gimp_levels_tool_color_picked;
|
||||
filter_tool_class->get_operation = gimp_levels_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_levels_tool_dialog;
|
||||
filter_tool_class->reset = gimp_levels_tool_reset;
|
||||
filter_tool_class->settings_import = gimp_levels_tool_settings_import;
|
||||
filter_tool_class->settings_export = gimp_levels_tool_settings_export;
|
||||
filter_tool_class->color_picked = gimp_levels_tool_color_picked;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -259,9 +259,17 @@ gimp_levels_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
*description = g_strdup (_("Adjust Color Levels"));
|
||||
*description = g_strdup (_("Adjust Color Levels"));
|
||||
*has_settings = TRUE;
|
||||
*settings_folder = g_strdup ("levels");
|
||||
*import_dialog_title = g_strdup (_("Import Levels"));
|
||||
*export_dialog_title = g_strdup (_("Export Levels"));
|
||||
|
||||
return g_strdup ("gimp:levels");
|
||||
}
|
||||
|
|
|
@ -83,16 +83,13 @@ static gchar * gimp_operation_tool_get_operation (GimpFilterTool *filte
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_operation_tool_dialog (GimpFilterTool *filter_tool);
|
||||
static void gimp_operation_tool_reset (GimpFilterTool *filter_tool);
|
||||
static GtkWidget * gimp_operation_tool_get_settings_ui (GimpFilterTool *filter_tool,
|
||||
GimpContainer *settings,
|
||||
const gchar *import_dialog_title,
|
||||
const gchar *export_dialog_title,
|
||||
const gchar *file_dialog_help_id,
|
||||
GFile *default_folder,
|
||||
GtkWidget **settings_box);
|
||||
static void gimp_operation_tool_color_picked (GimpFilterTool *filter_tool,
|
||||
gpointer identifier,
|
||||
gdouble x,
|
||||
|
@ -142,22 +139,20 @@ gimp_operation_tool_class_init (GimpOperationToolClass *klass)
|
|||
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
object_class->finalize = gimp_operation_tool_finalize;
|
||||
object_class->finalize = gimp_operation_tool_finalize;
|
||||
|
||||
tool_class->initialize = gimp_operation_tool_initialize;
|
||||
tool_class->control = gimp_operation_tool_control;
|
||||
tool_class->initialize = gimp_operation_tool_initialize;
|
||||
tool_class->control = gimp_operation_tool_control;
|
||||
|
||||
filter_tool_class->get_operation = gimp_operation_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_operation_tool_dialog;
|
||||
filter_tool_class->reset = gimp_operation_tool_reset;
|
||||
filter_tool_class->get_settings_ui = gimp_operation_tool_get_settings_ui;
|
||||
filter_tool_class->color_picked = gimp_operation_tool_color_picked;
|
||||
filter_tool_class->get_operation = gimp_operation_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_operation_tool_dialog;
|
||||
filter_tool_class->reset = gimp_operation_tool_reset;
|
||||
filter_tool_class->color_picked = gimp_operation_tool_color_picked;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_operation_tool_init (GimpOperationTool *tool)
|
||||
{
|
||||
GIMP_FILTER_TOOL_GET_CLASS (tool)->settings_name = NULL; /* XXX hack */
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -260,15 +255,24 @@ gimp_operation_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
GimpOperationTool *tool = GIMP_OPERATION_TOOL (filter_tool);
|
||||
|
||||
*title = g_strdup (tool->title);
|
||||
*description = g_strdup (tool->description);
|
||||
*undo_desc = g_strdup (tool->undo_desc);
|
||||
*icon_name = g_strdup (tool->icon_name);
|
||||
*help_id = g_strdup (tool->help_id);
|
||||
*title = g_strdup (tool->title);
|
||||
*description = g_strdup (tool->description);
|
||||
*undo_desc = g_strdup (tool->undo_desc);
|
||||
*icon_name = g_strdup (tool->icon_name);
|
||||
*help_id = g_strdup (tool->help_id);
|
||||
*has_settings = FALSE;
|
||||
*import_dialog_title = g_strdup_printf (_("Import '%s' Settings"),
|
||||
tool->title);
|
||||
*export_dialog_title = g_strdup_printf (_("Export '%s' Settings"),
|
||||
tool->title);
|
||||
|
||||
return g_strdup (tool->operation);
|
||||
}
|
||||
|
@ -316,38 +320,6 @@ gimp_operation_tool_reset (GimpFilterTool *filter_tool)
|
|||
gimp_operation_tool_sync_op (tool, GIMP_TOOL (tool)->drawable);
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
gimp_operation_tool_get_settings_ui (GimpFilterTool *filter_tool,
|
||||
GimpContainer *settings,
|
||||
const gchar *import_dialog_title,
|
||||
const gchar *export_dialog_title,
|
||||
const gchar *file_dialog_help_id,
|
||||
GFile *default_folder,
|
||||
GtkWidget **settings_box)
|
||||
{
|
||||
GimpOperationTool *tool = GIMP_OPERATION_TOOL (filter_tool);
|
||||
GtkWidget *widget;
|
||||
gchar *import_title;
|
||||
gchar *export_title;
|
||||
|
||||
import_title = g_strdup_printf (_("Import '%s' Settings"), tool->title);
|
||||
export_title = g_strdup_printf (_("Export '%s' Settings"), tool->title);
|
||||
|
||||
widget =
|
||||
GIMP_FILTER_TOOL_CLASS (parent_class)->get_settings_ui (filter_tool,
|
||||
settings,
|
||||
import_title,
|
||||
export_title,
|
||||
file_dialog_help_id,
|
||||
NULL, /* sic */
|
||||
settings_box);
|
||||
|
||||
g_free (import_title);
|
||||
g_free (export_title);
|
||||
|
||||
return widget;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_operation_tool_color_picked (GimpFilterTool *filter_tool,
|
||||
gpointer identifier,
|
||||
|
@ -653,11 +625,6 @@ gimp_operation_tool_set_operation (GimpOperationTool *tool,
|
|||
|
||||
gimp_filter_tool_get_operation (filter_tool);
|
||||
|
||||
if (undo_desc)
|
||||
GIMP_FILTER_TOOL_GET_CLASS (tool)->settings_name = "yes"; /* XXX hack */
|
||||
else
|
||||
GIMP_FILTER_TOOL_GET_CLASS (tool)->settings_name = NULL; /* XXX hack */
|
||||
|
||||
if (tool->options_gui)
|
||||
{
|
||||
gtk_widget_destroy (tool->options_gui);
|
||||
|
@ -744,6 +711,8 @@ gimp_operation_tool_set_operation (GimpOperationTool *tool,
|
|||
(GimpCreatePickerFunc) gimp_filter_tool_add_color_picker,
|
||||
tool);
|
||||
|
||||
filter_tool->has_settings = ! GTK_IS_LABEL (tool->options_gui); /* HACK */
|
||||
|
||||
if (tool->options_box)
|
||||
{
|
||||
gtk_box_pack_start (GTK_BOX (tool->options_box), tool->options_gui,
|
||||
|
|
|
@ -57,7 +57,11 @@ static gchar * gimp_threshold_tool_get_operation (GimpFilterTool *filter
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id);
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title);
|
||||
static void gimp_threshold_tool_dialog (GimpFilterTool *filter_tool);
|
||||
|
||||
static void gimp_threshold_tool_config_notify (GObject *object,
|
||||
|
@ -105,17 +109,13 @@ gimp_threshold_tool_class_init (GimpThresholdToolClass *klass)
|
|||
GimpToolClass *tool_class = GIMP_TOOL_CLASS (klass);
|
||||
GimpFilterToolClass *filter_tool_class = GIMP_FILTER_TOOL_CLASS (klass);
|
||||
|
||||
object_class->constructed = gimp_threshold_tool_constructed;
|
||||
object_class->finalize = gimp_threshold_tool_finalize;
|
||||
object_class->constructed = gimp_threshold_tool_constructed;
|
||||
object_class->finalize = gimp_threshold_tool_finalize;
|
||||
|
||||
tool_class->initialize = gimp_threshold_tool_initialize;
|
||||
tool_class->initialize = gimp_threshold_tool_initialize;
|
||||
|
||||
filter_tool_class->settings_name = "threshold";
|
||||
filter_tool_class->import_dialog_title = _("Import Threshold Settings");
|
||||
filter_tool_class->export_dialog_title = _("Export Threshold Settings");
|
||||
|
||||
filter_tool_class->get_operation = gimp_threshold_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_threshold_tool_dialog;
|
||||
filter_tool_class->get_operation = gimp_threshold_tool_get_operation;
|
||||
filter_tool_class->dialog = gimp_threshold_tool_dialog;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -175,9 +175,17 @@ gimp_threshold_tool_get_operation (GimpFilterTool *filter_tool,
|
|||
gchar **description,
|
||||
gchar **undo_desc,
|
||||
gchar **icon_name,
|
||||
gchar **help_id)
|
||||
gchar **help_id,
|
||||
gboolean *has_settings,
|
||||
gchar **settings_folder,
|
||||
gchar **import_dialog_title,
|
||||
gchar **export_dialog_title)
|
||||
{
|
||||
*description = g_strdup (_("Apply Threshold"));
|
||||
*description = g_strdup (_("Apply Threshold"));
|
||||
*has_settings = TRUE;
|
||||
*settings_folder = g_strdup ("threshold");
|
||||
*import_dialog_title = g_strdup (_("Import Threshold Settings"));
|
||||
*export_dialog_title = g_strdup (_("Export Threshold Settings"));
|
||||
|
||||
return g_strdup ("gimp:threshold");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue