Added a toggle button to enable/disable preview updating. Should fix

*  plug-ins/common/unsharp.c: Added a toggle button to enable/disable
	preview updating. Should fix #144972.
This commit is contained in:
David Odin
2004-07-28 13:58:08 +00:00
parent e491608fb0
commit d0b0388c38
2 changed files with 65 additions and 32 deletions

View File

@ -1,3 +1,8 @@
2004-07-28 DindinX <david.odin@cpe.fr>
* plug-ins/common/unsharp.c: Added a toggle button to enable/disable
preview updating. Should fix #144972.
2004-07-28 DindinX <david.odin@cpe.fr>
* plug-ins/common/shift.c

View File

@ -103,6 +103,7 @@ static void unsharp_mask (GimpDrawable *drawable,
static gboolean unsharp_mask_dialog (void);
static void preview_update (void);
static void preview_toggle_callback (GtkWidget *toggle);
/* create a few globals, set default values */
@ -124,6 +125,7 @@ GimpPlugInInfo PLUG_IN_INFO =
static GimpRunMode run_mode;
static GtkWidget *preview = NULL; /* Preview widget */
static gboolean show_preview = TRUE; /* Should we update the preview? */
static GimpDrawable *drawable = NULL; /* Current image */
static gint delta_x = 0; /* preview x offset */
static gint delta_y = 0; /* preview y offset */
@ -654,6 +656,8 @@ unsharp_preview_new (void)
GtkWidget *frame;
GtkObject *adj;
GtkWidget *scrollbar;
GtkWidget *preview_toggle;
gint sel_width;
gint sel_height;
gint x1, y1, x2, y2;
@ -666,7 +670,7 @@ unsharp_preview_new (void)
preview_width = MIN (sel_width, PREVIEW_SIZE);
preview_height = MIN (sel_height, PREVIEW_SIZE);
table = gtk_table_new (2, 2, FALSE);
table = gtk_table_new (3, 2, FALSE);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
@ -717,6 +721,15 @@ unsharp_preview_new (void)
0, GTK_FILL, 0, 0);
gtk_widget_show (scrollbar);
preview_toggle = gtk_check_button_new_with_mnemonic (_("_Preview"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preview_toggle),
show_preview);
gtk_table_attach (GTK_TABLE (table), preview_toggle,
0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0);
gtk_widget_show (preview_toggle);
g_signal_connect (preview_toggle, "toggled",
G_CALLBACK (preview_toggle_callback), NULL);
return table;
}
@ -824,6 +837,18 @@ unsharp_mask_dialog (void)
}
/* preview functions */
static void
preview_toggle_callback (GtkWidget *toggle)
{
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle)))
{
show_preview = TRUE;
preview_update ();
}
else
show_preview = FALSE;
}
static void
preview_update (void)
{
@ -858,6 +883,9 @@ preview_update (void)
gint row,buf_y, offset; /* Preview loop control */
if (!show_preview)
return;
/* Get drawable info */
gimp_drawable_mask_bounds (drawable->drawable_id, &x1, &y1, &x2, &y2);
width = drawable->width;