mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-21 20:12:30 +00:00
reset to factory defaults instead of popping up a warning dialog when the
2006-12-11 Sven Neumann <sven@gimp.org> * plug-ins/common/png.c: reset to factory defaults instead of popping up a warning dialog when the user clicks "Load Defaults" and hasn't saved default values yet (bug #384673).
This commit is contained in:
parent
35e029df08
commit
d4bc2aa0e3
|
@ -1,3 +1,9 @@
|
|||
2006-12-11 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* plug-ins/common/png.c: reset to factory defaults instead of
|
||||
popping up a warning dialog when the user clicks "Load Defaults"
|
||||
and hasn't saved default values yet (bug #384673).
|
||||
|
||||
2006-12-11 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/actions/tool-options-commands.c
|
||||
|
|
|
@ -143,7 +143,7 @@ static gboolean ia_has_transparent_pixels (GimpDrawable *drawable);
|
|||
static gint find_unused_ia_color (GimpDrawable *drawable,
|
||||
gint *colors);
|
||||
|
||||
static gboolean load_defaults (void);
|
||||
static void load_defaults (void);
|
||||
static void save_defaults (void);
|
||||
static void load_gui_defaults (PngSaveGui *pg);
|
||||
|
||||
|
@ -159,7 +159,7 @@ const GimpPlugInInfo PLUG_IN_INFO =
|
|||
run
|
||||
};
|
||||
|
||||
PngSaveVals pngvals =
|
||||
static const PngSaveVals defaults =
|
||||
{
|
||||
FALSE,
|
||||
TRUE,
|
||||
|
@ -172,6 +172,9 @@ PngSaveVals pngvals =
|
|||
9
|
||||
};
|
||||
|
||||
static PngSaveVals pngvals;
|
||||
|
||||
|
||||
/*
|
||||
* 'main()' - Main entry - just call gimp_main()...
|
||||
*/
|
||||
|
@ -1852,46 +1855,45 @@ save_dialog_response (GtkWidget *widget,
|
|||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
static void
|
||||
load_defaults (void)
|
||||
{
|
||||
GimpParasite *parasite;
|
||||
gchar *def_str;
|
||||
PngSaveVals tmpvals;
|
||||
gint num_fields;
|
||||
|
||||
parasite = gimp_parasite_find (PNG_DEFAULTS_PARASITE);
|
||||
|
||||
if (! parasite)
|
||||
return FALSE;
|
||||
|
||||
def_str = g_strndup (gimp_parasite_data (parasite),
|
||||
gimp_parasite_data_size (parasite));
|
||||
|
||||
gimp_parasite_free (parasite);
|
||||
|
||||
num_fields = sscanf (def_str, "%d %d %d %d %d %d %d %d %d",
|
||||
&tmpvals.interlaced,
|
||||
&tmpvals.bkgd,
|
||||
&tmpvals.gama,
|
||||
&tmpvals.offs,
|
||||
&tmpvals.phys,
|
||||
&tmpvals.time,
|
||||
&tmpvals.comment,
|
||||
&tmpvals.save_transp_pixels,
|
||||
&tmpvals.compression_level);
|
||||
|
||||
g_free (def_str);
|
||||
|
||||
if (num_fields == 9)
|
||||
if (parasite)
|
||||
{
|
||||
memcpy (&pngvals, &tmpvals, sizeof (tmpvals));
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
gchar *def_str;
|
||||
PngSaveVals tmpvals;
|
||||
gint num_fields;
|
||||
|
||||
def_str = g_strndup (gimp_parasite_data (parasite),
|
||||
gimp_parasite_data_size (parasite));
|
||||
|
||||
gimp_parasite_free (parasite);
|
||||
|
||||
num_fields = sscanf (def_str, "%d %d %d %d %d %d %d %d %d",
|
||||
&tmpvals.interlaced,
|
||||
&tmpvals.bkgd,
|
||||
&tmpvals.gama,
|
||||
&tmpvals.offs,
|
||||
&tmpvals.phys,
|
||||
&tmpvals.time,
|
||||
&tmpvals.comment,
|
||||
&tmpvals.save_transp_pixels,
|
||||
&tmpvals.compression_level);
|
||||
|
||||
g_free (def_str);
|
||||
|
||||
if (num_fields == 9)
|
||||
{
|
||||
memcpy (&pngvals, &tmpvals, sizeof (tmpvals));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
memcpy (&pngvals, &defaults, sizeof (defaults));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1924,14 +1926,11 @@ save_defaults (void)
|
|||
static void
|
||||
load_gui_defaults (PngSaveGui *pg)
|
||||
{
|
||||
if (! load_defaults ())
|
||||
{
|
||||
g_message (_("Could not load PNG defaults"));
|
||||
return;
|
||||
}
|
||||
load_defaults ();
|
||||
|
||||
#define SET_ACTIVE(field) \
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pg->field), pngvals.field)
|
||||
if (GTK_WIDGET_IS_SENSITIVE (pg->field)) \
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pg->field), pngvals.field)
|
||||
|
||||
SET_ACTIVE (interlaced);
|
||||
SET_ACTIVE (bkgd);
|
||||
|
|
Loading…
Reference in a new issue