app/docindex.c app/gdisplay_color_ui.c app/gimpprogress.c app/nav_window.c

2001-08-01  Sven Neumann  <sven@gimp.org>

	* app/docindex.c
	* app/gdisplay_color_ui.c
	* app/gimpprogress.c
	* app/nav_window.c
	* app/path.c
	* app/scale.c
	* app/undo_history.c
	* app/user_install.c
	* app/gui/resolution-calibrate-dialog.[ch]: converted uses of
	gtk_signal_* to g_signal_*.

	Changed expose_event handlers that used to be connected using
	signal_connect_after to call the default handler, do the additional
	drawing, then stop the signal emission by returning TRUE.
This commit is contained in:
Sven Neumann
2001-08-01 09:33:12 +00:00
committed by Sven Neumann
parent 8590e01fb9
commit abf1fb90eb
22 changed files with 394 additions and 491 deletions

View File

@ -1,3 +1,20 @@
2001-08-01 Sven Neumann <sven@gimp.org>
* app/docindex.c
* app/gdisplay_color_ui.c
* app/gimpprogress.c
* app/nav_window.c
* app/path.c
* app/scale.c
* app/undo_history.c
* app/user_install.c
* app/gui/resolution-calibrate-dialog.[ch]: converted uses of
gtk_signal_* to g_signal_*.
Changed expose_event handlers that used to be connected using
signal_connect_after to call the default handler, do the additional
drawing, then stop the signal emission by returning TRUE.
2001-08-01 Sven Neumann <sven@gimp.org> 2001-08-01 Sven Neumann <sven@gimp.org>
* app/tools/gimpairbrushtool.c * app/tools/gimpairbrushtool.c
@ -22,7 +39,7 @@
* app/tools/paint_options.c * app/tools/paint_options.c
* app/tools/selection_options.c * app/tools/selection_options.c
* app/tools/transform_options.c: got rid of all remaining gtk_signal * app/tools/transform_options.c: got rid of all remaining gtk_signal
wrappers. wrappers in the tools directory.
2001-08-01 Sven Neumann <sven@gimp.org> 2001-08-01 Sven Neumann <sven@gimp.org>

View File

@ -86,7 +86,7 @@ void
resolution_calibrate_dialog (GtkWidget *resolution_entry, resolution_calibrate_dialog (GtkWidget *resolution_entry,
GtkRcStyle *dialog_style, GtkRcStyle *dialog_style,
GtkRcStyle *ruler_style, GtkRcStyle *ruler_style,
GtkSignalFunc expose_callback) GCallback expose_callback)
{ {
GtkWidget *dialog; GtkWidget *dialog;
GtkWidget *table; GtkWidget *table;
@ -117,16 +117,16 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
NULL); NULL);
gtk_signal_connect (GTK_OBJECT (dialog), "destroy", g_signal_connect (G_OBJECT (dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_main_quit), G_CALLBACK (gtk_main_quit),
NULL); NULL);
gtk_object_set_user_data (GTK_OBJECT (dialog), resolution_entry); gtk_object_set_user_data (GTK_OBJECT (dialog), resolution_entry);
gtk_signal_connect_object_while_alive (GTK_OBJECT (resolution_entry), "destroy", g_signal_connect_object (G_OBJECT (resolution_entry), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroy), G_CALLBACK (gtk_widget_destroy),
GTK_OBJECT (dialog)); G_OBJECT (dialog), G_CONNECT_SWAPPED);
gtk_signal_connect_object_while_alive (GTK_OBJECT (resolution_entry), "unmap", g_signal_connect_object (G_OBJECT (resolution_entry), "unmap",
GTK_SIGNAL_FUNC (gtk_widget_destroy), G_CALLBACK (gtk_widget_destroy),
GTK_OBJECT (dialog)); G_OBJECT (dialog), G_CONNECT_SWAPPED);
SET_STYLE (dialog, dialog_style); SET_STYLE (dialog, dialog_style);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 8); gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 8);
@ -172,9 +172,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_TOP_LEFT); GINT_TO_POINTER (GTK_CORNER_TOP_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -183,9 +183,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_BOTTOM_LEFT); GINT_TO_POINTER (GTK_CORNER_BOTTOM_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -194,9 +194,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_TOP_RIGHT); GINT_TO_POINTER (GTK_CORNER_TOP_RIGHT));
gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 0, 1, gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 0, 1,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -205,9 +205,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_BOTTOM_RIGHT); GINT_TO_POINTER (GTK_CORNER_BOTTOM_RIGHT));
gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 2, 3, gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 2, 3,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -247,8 +247,8 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
1, GIMP_MAX_IMAGE_SIZE, 1, GIMP_MAX_IMAGE_SIZE,
0, 0); 0, 0);
gtk_widget_hide (GTK_WIDGET (GIMP_COORDINATES_CHAINBUTTON (calibrate_entry))); gtk_widget_hide (GTK_WIDGET (GIMP_COORDINATES_CHAINBUTTON (calibrate_entry)));
gtk_signal_connect (GTK_OBJECT (dialog), "destroy", g_signal_connect (G_OBJECT (dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed), G_CALLBACK (gtk_widget_destroyed),
&calibrate_entry); &calibrate_entry);
if (ruler_style) if (ruler_style)

View File

@ -23,7 +23,7 @@
void resolution_calibrate_dialog (GtkWidget *resolution_entry, void resolution_calibrate_dialog (GtkWidget *resolution_entry,
GtkRcStyle *dialog_style, GtkRcStyle *dialog_style,
GtkRcStyle *ruler_style, GtkRcStyle *ruler_style,
GtkSignalFunc expose_callback); GCallback expose_callback);
#endif /* __RESOLUTION_CALIBRATE_DIALOG_H__ */ #endif /* __RESOLUTION_CALIBRATE_DIALOG_H__ */

View File

@ -397,12 +397,20 @@ user_install_cancel_callback (GtkWidget *widget,
timeout = gtk_timeout_add (1024, (GtkFunction) gtk_exit, (gpointer) 0); timeout = gtk_timeout_add (1024, (GtkFunction) gtk_exit, (gpointer) 0);
} }
static gint static gboolean
user_install_corner_expose (GtkWidget *widget, user_install_corner_expose (GtkWidget *widget,
GdkEventExpose *eevent, GdkEventExpose *eevent,
gpointer data) gpointer data)
{ {
switch ((GtkCornerType) data) GtkCornerType corner;
/* call default handler explicitly, then draw the corners */
if (GTK_WIDGET_GET_CLASS (widget)->expose_event)
GTK_WIDGET_GET_CLASS (widget)->expose_event (widget, eevent);
corner = GPOINTER_TO_INT (data);
switch (corner)
{ {
case GTK_CORNER_TOP_LEFT: case GTK_CORNER_TOP_LEFT:
gdk_draw_arc (widget->window, gdk_draw_arc (widget->window,
@ -449,7 +457,7 @@ user_install_corner_expose (GtkWidget *widget,
break; break;
default: default:
return FALSE; break;
} }
return TRUE; return TRUE;
@ -620,9 +628,9 @@ user_install_dialog_create (Gimp *gimp)
darea = gtk_drawing_area_new (); darea = gtk_drawing_area_new ();
TITLE_STYLE (darea); TITLE_STYLE (darea);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (user_install_corner_expose), G_CALLBACK (user_install_corner_expose),
(gpointer) GTK_CORNER_TOP_LEFT); GINT_TO_POINTER (GTK_CORNER_TOP_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -630,9 +638,9 @@ user_install_dialog_create (Gimp *gimp)
darea = gtk_drawing_area_new (); darea = gtk_drawing_area_new ();
TITLE_STYLE (darea); TITLE_STYLE (darea);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (user_install_corner_expose), G_CALLBACK (user_install_corner_expose),
(gpointer) GTK_CORNER_BOTTOM_LEFT); GINT_TO_POINTER (GTK_CORNER_BOTTOM_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -1113,7 +1121,7 @@ user_install_resolution_calibrate (GtkWidget *button,
resolution_calibrate_dialog (resolution_entry, resolution_calibrate_dialog (resolution_entry,
title_style, title_style,
page_style, page_style,
GTK_SIGNAL_FUNC (user_install_corner_expose)); G_CALLBACK (user_install_corner_expose));
} }
static void static void

View File

@ -224,8 +224,8 @@ setup_scale (GDisplay *gdisp)
gdisp->vsbdata->page_increment = (gdisp->disp_height / 2); gdisp->vsbdata->page_increment = (gdisp->disp_height / 2);
gdisp->vsbdata->step_increment = stepy; gdisp->vsbdata->step_increment = stepy;
gtk_signal_emit_by_name (GTK_OBJECT (gdisp->hsbdata), "changed"); g_signal_emit_by_name (G_OBJECT (gdisp->hsbdata), "changed", 0);
gtk_signal_emit_by_name (GTK_OBJECT (gdisp->vsbdata), "changed"); g_signal_emit_by_name (G_OBJECT (gdisp->vsbdata), "changed", 0);
hruler = GTK_RULER (gdisp->hrule); hruler = GTK_RULER (gdisp->hrule);
vruler = GTK_RULER (gdisp->vrule); vruler = GTK_RULER (gdisp->vrule);

View File

@ -184,11 +184,11 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_clist_set_auto_sort (GTK_CLIST (cdd->src), TRUE); gtk_clist_set_auto_sort (GTK_CLIST (cdd->src), TRUE);
gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->src); gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->src);
gtk_signal_connect (GTK_OBJECT (cdd->src), "select_row", g_signal_connect (G_OBJECT (cdd->src), "select_row",
GTK_SIGNAL_FUNC (select_src), G_CALLBACK (select_src),
cdd); cdd);
gtk_signal_connect (GTK_OBJECT (cdd->src), "unselect_row", g_signal_connect (G_OBJECT (cdd->src), "unselect_row",
GTK_SIGNAL_FUNC (unselect_src), G_CALLBACK (unselect_src),
cdd); cdd);
vbbox = gtk_vbutton_box_new (); vbbox = gtk_vbutton_box_new ();
@ -209,11 +209,11 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_clist_column_titles_passive (GTK_CLIST (cdd->dest)); gtk_clist_column_titles_passive (GTK_CLIST (cdd->dest));
gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->dest); gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->dest);
gtk_signal_connect (GTK_OBJECT (cdd->dest), "select_row", g_signal_connect (G_OBJECT (cdd->dest), "select_row",
GTK_SIGNAL_FUNC (select_dest), G_CALLBACK (select_dest),
cdd); cdd);
gtk_signal_connect (GTK_OBJECT (cdd->dest), "unselect_row", g_signal_connect (G_OBJECT (cdd->dest), "unselect_row",
GTK_SIGNAL_FUNC (unselect_dest), G_CALLBACK (unselect_dest),
cdd); cdd);
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
@ -222,8 +222,8 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_button_new_with_label (gettext (buttons[i].label)); gtk_button_new_with_label (gettext (buttons[i].label));
gtk_box_pack_start (GTK_BOX (vbbox), cdd->buttons[i], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbbox), cdd->buttons[i], FALSE, FALSE, 0);
gtk_signal_connect (GTK_OBJECT (cdd->buttons[i]), "clicked", g_signal_connect (G_OBJECT (cdd->buttons[i]), "clicked",
GTK_SIGNAL_FUNC (buttons[i].callback), G_CALLBACK (buttons[i].callback),
cdd); cdd);
gtk_widget_set_sensitive (cdd->buttons[i], FALSE); gtk_widget_set_sensitive (cdd->buttons[i], FALSE);
} }

View File

@ -224,8 +224,8 @@ setup_scale (GDisplay *gdisp)
gdisp->vsbdata->page_increment = (gdisp->disp_height / 2); gdisp->vsbdata->page_increment = (gdisp->disp_height / 2);
gdisp->vsbdata->step_increment = stepy; gdisp->vsbdata->step_increment = stepy;
gtk_signal_emit_by_name (GTK_OBJECT (gdisp->hsbdata), "changed"); g_signal_emit_by_name (G_OBJECT (gdisp->hsbdata), "changed", 0);
gtk_signal_emit_by_name (GTK_OBJECT (gdisp->vsbdata), "changed"); g_signal_emit_by_name (G_OBJECT (gdisp->vsbdata), "changed", 0);
hruler = GTK_RULER (gdisp->hrule); hruler = GTK_RULER (gdisp->hrule);
vruler = GTK_RULER (gdisp->vrule); vruler = GTK_RULER (gdisp->vrule);

View File

@ -128,9 +128,6 @@ static void nav_dialog_draw_sqr (NavigationDialog *nav_dialog,
static gboolean nav_dialog_preview_events (GtkWidget *widget, static gboolean nav_dialog_preview_events (GtkWidget *widget,
GdkEvent *event, GdkEvent *event,
gpointer data); gpointer data);
static gboolean nav_dialog_expose_event (GtkWidget *widget,
GdkEvent *event,
gpointer data);
static void nav_dialog_idle_update_preview (NavigationDialog *nav_dialog); static void nav_dialog_idle_update_preview (NavigationDialog *nav_dialog);
static void nav_dialog_update_preview (NavigationDialog *nav_dialog); static void nav_dialog_update_preview (NavigationDialog *nav_dialog);
@ -199,20 +196,20 @@ nav_dialog_create (GDisplay *gdisp)
GTK_WIN_POS_MOUSE, GTK_WIN_POS_MOUSE,
FALSE, TRUE, TRUE, FALSE, TRUE, TRUE,
"_delete_event_", nav_dialog_close_callback, "_delete_event_",
nav_dialog_close_callback,
nav_dialog, NULL, NULL, TRUE, TRUE, nav_dialog, NULL, NULL, TRUE, TRUE,
NULL); NULL);
g_free (title); g_free (title);
gtk_widget_hide (GTK_WIDGET (g_list_nth_data (gtk_container_children (GTK_CONTAINER (GTK_BIN (nav_dialog->shell)->child)), 0))); gtk_dialog_set_has_separator (GTK_DIALOG (nav_dialog->shell), FALSE);
gtk_widget_hide (GTK_DIALOG (nav_dialog->shell)->action_area); gtk_widget_hide (GTK_DIALOG (nav_dialog->shell)->action_area);
gtk_signal_connect_object (GTK_OBJECT (nav_dialog->shell), "destroy", g_object_weak_ref (G_OBJECT (nav_dialog->shell),
GTK_SIGNAL_FUNC (g_free), g_free,
(GtkObject *) nav_dialog); nav_dialog);
abox = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); abox = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (nav_dialog->shell)->vbox), abox, gtk_box_pack_start (GTK_BOX (GTK_DIALOG (nav_dialog->shell)->vbox), abox,
@ -246,8 +243,8 @@ nav_dialog_create (GDisplay *gdisp)
gtk_container_add (GTK_CONTAINER (frame), preview); gtk_container_add (GTK_CONTAINER (frame), preview);
gtk_widget_show (preview); gtk_widget_show (preview);
gtk_signal_connect (GTK_OBJECT (preview), "marker_changed", g_signal_connect (G_OBJECT (preview), "marker_changed",
GTK_SIGNAL_FUNC (nav_dialog_marker_changed), G_CALLBACK (nav_dialog_marker_changed),
nav_dialog); nav_dialog);
nav_dialog->new_preview = preview; nav_dialog->new_preview = preview;
@ -260,15 +257,14 @@ nav_dialog_create (GDisplay *gdisp)
if (! g_object_get_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed")) if (! g_object_get_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed"))
{ {
gtk_signal_connect_after (GTK_OBJECT (gdisp->gimage), "dirty", g_signal_connect (G_OBJECT (gdisp->gimage), "dirty",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (gdisp->gimage), "clean", g_signal_connect (G_OBJECT (gdisp->gimage), "clean",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
g_object_set_data (G_OBJECT (gdisp->gimage), g_object_set_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed",
"nav_handlers_installed",
nav_dialog); nav_dialog);
} }
@ -367,8 +363,8 @@ nav_dialog_follow_auto (void)
{ {
nav_window_auto = nav_dialog_create (gdisp); nav_window_auto = nav_dialog_create (gdisp);
gtk_signal_connect (GTK_OBJECT (context), "display_changed", g_signal_connect (G_OBJECT (context), "display_changed",
GTK_SIGNAL_FUNC (nav_dialog_display_changed), G_CALLBACK (nav_dialog_display_changed),
nav_window_auto); nav_window_auto);
} }
@ -472,9 +468,9 @@ nav_popup_click_handler (GtkWidget *widget,
nav_dialog->shell = gtk_window_new (GTK_WINDOW_POPUP); nav_dialog->shell = gtk_window_new (GTK_WINDOW_POPUP);
gtk_widget_set_events (nav_dialog->shell, PREVIEW_MASK); gtk_widget_set_events (nav_dialog->shell, PREVIEW_MASK);
gtk_signal_connect_object (GTK_OBJECT (nav_dialog->shell), "destroy", g_object_weak_ref (G_OBJECT (nav_dialog->shell),
GTK_SIGNAL_FUNC (g_free), g_free,
(GtkObject *) nav_dialog); nav_dialog);
frame = gtk_frame_new (NULL); frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
@ -823,16 +819,11 @@ create_preview_widget (NavigationDialog *nav_dialog)
set_size_data (nav_dialog); set_size_data (nav_dialog);
gtk_preview_size (GTK_PREVIEW (nav_dialog->preview), gtk_preview_size (GTK_PREVIEW (preview),
nav_dialog->pwidth, nav_dialog->pwidth, nav_dialog->pheight);
nav_dialog->pheight);
gtk_signal_connect (GTK_OBJECT (preview), "event", g_signal_connect (G_OBJECT (preview), "event",
GTK_SIGNAL_FUNC (nav_dialog_preview_events), G_CALLBACK (nav_dialog_preview_events),
nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (preview), "expose_event",
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
nav_dialog); nav_dialog);
} }
@ -1208,13 +1199,10 @@ nav_dialog_inside_preview_square (NavigationDialog *nav_dialog,
gint x, gint x,
gint y) gint y)
{ {
if (x > nav_dialog->dispx && return (x > nav_dialog->dispx &&
x < (nav_dialog->dispx + nav_dialog->dispwidth) && x < nav_dialog->dispx + nav_dialog->dispwidth &&
y > nav_dialog->dispy && y > nav_dialog->dispy &&
y < nav_dialog->dispy + nav_dialog->dispheight) y < nav_dialog->dispy + nav_dialog->dispheight);
return TRUE;
return FALSE;
} }
static gboolean static gboolean
@ -1244,7 +1232,13 @@ nav_dialog_preview_events (GtkWidget *widget,
switch (event->type) switch (event->type)
{ {
case GDK_EXPOSE: case GDK_EXPOSE:
break; /* call default handler explicitly, then draw the square */
GTK_WIDGET_GET_CLASS (widget)->expose_event (widget,
(GdkEventExpose *) event);
nav_dialog_draw_sqr (nav_dialog, FALSE,
nav_dialog->dispx, nav_dialog->dispy,
nav_dialog->dispwidth, nav_dialog->dispheight);
return TRUE;
case GDK_MAP: case GDK_MAP:
if (nav_dialog->ptype == NAV_POPUP) if (nav_dialog->ptype == NAV_POPUP)
@ -1423,52 +1417,6 @@ nav_dialog_preview_events (GtkWidget *widget,
return FALSE; return FALSE;
} }
static gboolean
nav_dialog_expose_event (GtkWidget *widget,
GdkEvent *event,
gpointer data)
{
NavigationDialog *nav_dialog;
GDisplay *gdisp;
nav_dialog = (NavigationDialog *) data;
if (! nav_dialog || nav_dialog->frozen)
return FALSE;
gdisp = nav_dialog->gdisp;
switch (event->type)
{
case GDK_EXPOSE:
/* we must have the grab if in nav_popup */
gtk_signal_handler_block_by_func
(GTK_OBJECT (widget),
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
data);
gtk_widget_draw (nav_dialog->preview, NULL);
gtk_signal_handler_unblock_by_func
(GTK_OBJECT (widget),
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
data);
nav_dialog_draw_sqr (nav_dialog, FALSE,
nav_dialog->dispx, nav_dialog->dispy,
nav_dialog->dispwidth, nav_dialog->dispheight);
if (! gtk_grab_get_current () && nav_dialog->ptype == NAV_POPUP)
nav_dialog_grab_pointer (nav_dialog, nav_dialog->preview);
break;
default:
break;
}
return FALSE;
}
static void static void
nav_image_need_update (GimpImage *gimage, nav_image_need_update (GimpImage *gimage,
@ -1563,8 +1511,8 @@ nav_create_button_area (NavigationDialog *nav_dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button); gtk_widget_show (button);
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (navwindow_zoomout), G_CALLBACK (navwindow_zoomout),
nav_dialog); nav_dialog);
/* user zoom ratio */ /* user zoom ratio */
@ -1581,15 +1529,15 @@ nav_create_button_area (NavigationDialog *nav_dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button); gtk_widget_show (button);
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (navwindow_zoomin), G_CALLBACK (navwindow_zoomin),
nav_dialog); nav_dialog);
nav_dialog->zoom_adjustment = nav_dialog->zoom_adjustment =
gtk_adjustment_new (0.0, -15.0, 16.0, 1.0, 1.0, 1.0); gtk_adjustment_new (0.0, -15.0, 16.0, 1.0, 1.0, 1.0);
gtk_signal_connect (GTK_OBJECT (nav_dialog->zoom_adjustment), "value_changed", g_signal_connect (G_OBJECT (nav_dialog->zoom_adjustment), "value_changed",
GTK_SIGNAL_FUNC (zoom_adj_changed), G_CALLBACK (zoom_adj_changed),
nav_dialog); nav_dialog);
hscale = gtk_hscale_new (GTK_ADJUSTMENT (nav_dialog->zoom_adjustment)); hscale = gtk_hscale_new (GTK_ADJUSTMENT (nav_dialog->zoom_adjustment));
@ -1647,11 +1595,11 @@ nav_dialog_display_changed (GimpContext *context,
*/ */
if (! g_object_get_data (G_OBJECT (gimage), "nav_handlers_installed")) if (! g_object_get_data (G_OBJECT (gimage), "nav_handlers_installed"))
{ {
gtk_signal_connect_after (GTK_OBJECT (gimage), "dirty", g_signal_connect (G_OBJECT (gimage), "dirty",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (gimage), "clean", g_signal_connect (G_OBJECT (gimage), "clean",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
g_object_set_data (G_OBJECT (gimage), g_object_set_data (G_OBJECT (gimage),

View File

@ -128,9 +128,6 @@ static void nav_dialog_draw_sqr (NavigationDialog *nav_dialog,
static gboolean nav_dialog_preview_events (GtkWidget *widget, static gboolean nav_dialog_preview_events (GtkWidget *widget,
GdkEvent *event, GdkEvent *event,
gpointer data); gpointer data);
static gboolean nav_dialog_expose_event (GtkWidget *widget,
GdkEvent *event,
gpointer data);
static void nav_dialog_idle_update_preview (NavigationDialog *nav_dialog); static void nav_dialog_idle_update_preview (NavigationDialog *nav_dialog);
static void nav_dialog_update_preview (NavigationDialog *nav_dialog); static void nav_dialog_update_preview (NavigationDialog *nav_dialog);
@ -199,20 +196,20 @@ nav_dialog_create (GDisplay *gdisp)
GTK_WIN_POS_MOUSE, GTK_WIN_POS_MOUSE,
FALSE, TRUE, TRUE, FALSE, TRUE, TRUE,
"_delete_event_", nav_dialog_close_callback, "_delete_event_",
nav_dialog_close_callback,
nav_dialog, NULL, NULL, TRUE, TRUE, nav_dialog, NULL, NULL, TRUE, TRUE,
NULL); NULL);
g_free (title); g_free (title);
gtk_widget_hide (GTK_WIDGET (g_list_nth_data (gtk_container_children (GTK_CONTAINER (GTK_BIN (nav_dialog->shell)->child)), 0))); gtk_dialog_set_has_separator (GTK_DIALOG (nav_dialog->shell), FALSE);
gtk_widget_hide (GTK_DIALOG (nav_dialog->shell)->action_area); gtk_widget_hide (GTK_DIALOG (nav_dialog->shell)->action_area);
gtk_signal_connect_object (GTK_OBJECT (nav_dialog->shell), "destroy", g_object_weak_ref (G_OBJECT (nav_dialog->shell),
GTK_SIGNAL_FUNC (g_free), g_free,
(GtkObject *) nav_dialog); nav_dialog);
abox = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); abox = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (nav_dialog->shell)->vbox), abox, gtk_box_pack_start (GTK_BOX (GTK_DIALOG (nav_dialog->shell)->vbox), abox,
@ -246,8 +243,8 @@ nav_dialog_create (GDisplay *gdisp)
gtk_container_add (GTK_CONTAINER (frame), preview); gtk_container_add (GTK_CONTAINER (frame), preview);
gtk_widget_show (preview); gtk_widget_show (preview);
gtk_signal_connect (GTK_OBJECT (preview), "marker_changed", g_signal_connect (G_OBJECT (preview), "marker_changed",
GTK_SIGNAL_FUNC (nav_dialog_marker_changed), G_CALLBACK (nav_dialog_marker_changed),
nav_dialog); nav_dialog);
nav_dialog->new_preview = preview; nav_dialog->new_preview = preview;
@ -260,15 +257,14 @@ nav_dialog_create (GDisplay *gdisp)
if (! g_object_get_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed")) if (! g_object_get_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed"))
{ {
gtk_signal_connect_after (GTK_OBJECT (gdisp->gimage), "dirty", g_signal_connect (G_OBJECT (gdisp->gimage), "dirty",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (gdisp->gimage), "clean", g_signal_connect (G_OBJECT (gdisp->gimage), "clean",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
g_object_set_data (G_OBJECT (gdisp->gimage), g_object_set_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed",
"nav_handlers_installed",
nav_dialog); nav_dialog);
} }
@ -367,8 +363,8 @@ nav_dialog_follow_auto (void)
{ {
nav_window_auto = nav_dialog_create (gdisp); nav_window_auto = nav_dialog_create (gdisp);
gtk_signal_connect (GTK_OBJECT (context), "display_changed", g_signal_connect (G_OBJECT (context), "display_changed",
GTK_SIGNAL_FUNC (nav_dialog_display_changed), G_CALLBACK (nav_dialog_display_changed),
nav_window_auto); nav_window_auto);
} }
@ -472,9 +468,9 @@ nav_popup_click_handler (GtkWidget *widget,
nav_dialog->shell = gtk_window_new (GTK_WINDOW_POPUP); nav_dialog->shell = gtk_window_new (GTK_WINDOW_POPUP);
gtk_widget_set_events (nav_dialog->shell, PREVIEW_MASK); gtk_widget_set_events (nav_dialog->shell, PREVIEW_MASK);
gtk_signal_connect_object (GTK_OBJECT (nav_dialog->shell), "destroy", g_object_weak_ref (G_OBJECT (nav_dialog->shell),
GTK_SIGNAL_FUNC (g_free), g_free,
(GtkObject *) nav_dialog); nav_dialog);
frame = gtk_frame_new (NULL); frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
@ -823,16 +819,11 @@ create_preview_widget (NavigationDialog *nav_dialog)
set_size_data (nav_dialog); set_size_data (nav_dialog);
gtk_preview_size (GTK_PREVIEW (nav_dialog->preview), gtk_preview_size (GTK_PREVIEW (preview),
nav_dialog->pwidth, nav_dialog->pwidth, nav_dialog->pheight);
nav_dialog->pheight);
gtk_signal_connect (GTK_OBJECT (preview), "event", g_signal_connect (G_OBJECT (preview), "event",
GTK_SIGNAL_FUNC (nav_dialog_preview_events), G_CALLBACK (nav_dialog_preview_events),
nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (preview), "expose_event",
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
nav_dialog); nav_dialog);
} }
@ -1208,13 +1199,10 @@ nav_dialog_inside_preview_square (NavigationDialog *nav_dialog,
gint x, gint x,
gint y) gint y)
{ {
if (x > nav_dialog->dispx && return (x > nav_dialog->dispx &&
x < (nav_dialog->dispx + nav_dialog->dispwidth) && x < nav_dialog->dispx + nav_dialog->dispwidth &&
y > nav_dialog->dispy && y > nav_dialog->dispy &&
y < nav_dialog->dispy + nav_dialog->dispheight) y < nav_dialog->dispy + nav_dialog->dispheight);
return TRUE;
return FALSE;
} }
static gboolean static gboolean
@ -1244,7 +1232,13 @@ nav_dialog_preview_events (GtkWidget *widget,
switch (event->type) switch (event->type)
{ {
case GDK_EXPOSE: case GDK_EXPOSE:
break; /* call default handler explicitly, then draw the square */
GTK_WIDGET_GET_CLASS (widget)->expose_event (widget,
(GdkEventExpose *) event);
nav_dialog_draw_sqr (nav_dialog, FALSE,
nav_dialog->dispx, nav_dialog->dispy,
nav_dialog->dispwidth, nav_dialog->dispheight);
return TRUE;
case GDK_MAP: case GDK_MAP:
if (nav_dialog->ptype == NAV_POPUP) if (nav_dialog->ptype == NAV_POPUP)
@ -1423,52 +1417,6 @@ nav_dialog_preview_events (GtkWidget *widget,
return FALSE; return FALSE;
} }
static gboolean
nav_dialog_expose_event (GtkWidget *widget,
GdkEvent *event,
gpointer data)
{
NavigationDialog *nav_dialog;
GDisplay *gdisp;
nav_dialog = (NavigationDialog *) data;
if (! nav_dialog || nav_dialog->frozen)
return FALSE;
gdisp = nav_dialog->gdisp;
switch (event->type)
{
case GDK_EXPOSE:
/* we must have the grab if in nav_popup */
gtk_signal_handler_block_by_func
(GTK_OBJECT (widget),
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
data);
gtk_widget_draw (nav_dialog->preview, NULL);
gtk_signal_handler_unblock_by_func
(GTK_OBJECT (widget),
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
data);
nav_dialog_draw_sqr (nav_dialog, FALSE,
nav_dialog->dispx, nav_dialog->dispy,
nav_dialog->dispwidth, nav_dialog->dispheight);
if (! gtk_grab_get_current () && nav_dialog->ptype == NAV_POPUP)
nav_dialog_grab_pointer (nav_dialog, nav_dialog->preview);
break;
default:
break;
}
return FALSE;
}
static void static void
nav_image_need_update (GimpImage *gimage, nav_image_need_update (GimpImage *gimage,
@ -1563,8 +1511,8 @@ nav_create_button_area (NavigationDialog *nav_dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button); gtk_widget_show (button);
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (navwindow_zoomout), G_CALLBACK (navwindow_zoomout),
nav_dialog); nav_dialog);
/* user zoom ratio */ /* user zoom ratio */
@ -1581,15 +1529,15 @@ nav_create_button_area (NavigationDialog *nav_dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button); gtk_widget_show (button);
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (navwindow_zoomin), G_CALLBACK (navwindow_zoomin),
nav_dialog); nav_dialog);
nav_dialog->zoom_adjustment = nav_dialog->zoom_adjustment =
gtk_adjustment_new (0.0, -15.0, 16.0, 1.0, 1.0, 1.0); gtk_adjustment_new (0.0, -15.0, 16.0, 1.0, 1.0, 1.0);
gtk_signal_connect (GTK_OBJECT (nav_dialog->zoom_adjustment), "value_changed", g_signal_connect (G_OBJECT (nav_dialog->zoom_adjustment), "value_changed",
GTK_SIGNAL_FUNC (zoom_adj_changed), G_CALLBACK (zoom_adj_changed),
nav_dialog); nav_dialog);
hscale = gtk_hscale_new (GTK_ADJUSTMENT (nav_dialog->zoom_adjustment)); hscale = gtk_hscale_new (GTK_ADJUSTMENT (nav_dialog->zoom_adjustment));
@ -1647,11 +1595,11 @@ nav_dialog_display_changed (GimpContext *context,
*/ */
if (! g_object_get_data (G_OBJECT (gimage), "nav_handlers_installed")) if (! g_object_get_data (G_OBJECT (gimage), "nav_handlers_installed"))
{ {
gtk_signal_connect_after (GTK_OBJECT (gimage), "dirty", g_signal_connect (G_OBJECT (gimage), "dirty",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (gimage), "clean", g_signal_connect (G_OBJECT (gimage), "clean",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
g_object_set_data (G_OBJECT (gimage), g_object_set_data (G_OBJECT (gimage),

View File

@ -311,22 +311,26 @@ progress_signal_setup (GimpProgress *p,
/* remove any existing signal handlers */ /* remove any existing signal handlers */
if (p->cancel_callback) if (p->cancel_callback)
{ {
gtk_signal_disconnect_by_func (GTK_OBJECT (button), g_signal_handlers_disconnect_by_func (G_OBJECT (button),
p->cancel_callback, p->cancel_data); p->cancel_callback,
p->cancel_data);
if (dialog) if (dialog)
gtk_signal_disconnect_by_func (GTK_OBJECT (dialog), g_signal_handlers_disconnect_by_func (G_OBJECT (dialog),
p->cancel_callback, p->cancel_data); p->cancel_callback,
p->cancel_data);
} }
/* add the new handlers */ /* add the new handlers */
if (cancel_callback) if (cancel_callback)
{ {
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
cancel_callback, cancel_data); G_CALLBACK (cancel_callback),
cancel_data);
if (dialog) if (dialog)
gtk_signal_connect (GTK_OBJECT (dialog), "destroy", g_signal_connect (G_OBJECT (dialog), "destroy",
cancel_callback, cancel_data); G_CALLBACK (cancel_callback),
cancel_data);
} }
gtk_widget_set_sensitive (GTK_WIDGET (button), gtk_widget_set_sensitive (GTK_WIDGET (button),

View File

@ -844,8 +844,9 @@ open_idea_window (void)
/* Load and Show window */ /* Load and Show window */
load_idea_manager (ideas); load_idea_manager (ideas);
gtk_signal_connect_after (GTK_OBJECT (ideas->list), "selection_changed", g_signal_connect (G_OBJECT (ideas->list), "selection_changed",
GTK_SIGNAL_FUNC (ops_buttons_update), G_CALLBACK (ops_buttons_update),
NULL); NULL);
ops_buttons_update (NULL, NULL); ops_buttons_update (NULL, NULL);
} }

View File

@ -184,11 +184,11 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_clist_set_auto_sort (GTK_CLIST (cdd->src), TRUE); gtk_clist_set_auto_sort (GTK_CLIST (cdd->src), TRUE);
gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->src); gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->src);
gtk_signal_connect (GTK_OBJECT (cdd->src), "select_row", g_signal_connect (G_OBJECT (cdd->src), "select_row",
GTK_SIGNAL_FUNC (select_src), G_CALLBACK (select_src),
cdd); cdd);
gtk_signal_connect (GTK_OBJECT (cdd->src), "unselect_row", g_signal_connect (G_OBJECT (cdd->src), "unselect_row",
GTK_SIGNAL_FUNC (unselect_src), G_CALLBACK (unselect_src),
cdd); cdd);
vbbox = gtk_vbutton_box_new (); vbbox = gtk_vbutton_box_new ();
@ -209,11 +209,11 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_clist_column_titles_passive (GTK_CLIST (cdd->dest)); gtk_clist_column_titles_passive (GTK_CLIST (cdd->dest));
gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->dest); gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->dest);
gtk_signal_connect (GTK_OBJECT (cdd->dest), "select_row", g_signal_connect (G_OBJECT (cdd->dest), "select_row",
GTK_SIGNAL_FUNC (select_dest), G_CALLBACK (select_dest),
cdd); cdd);
gtk_signal_connect (GTK_OBJECT (cdd->dest), "unselect_row", g_signal_connect (G_OBJECT (cdd->dest), "unselect_row",
GTK_SIGNAL_FUNC (unselect_dest), G_CALLBACK (unselect_dest),
cdd); cdd);
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
@ -222,8 +222,8 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_button_new_with_label (gettext (buttons[i].label)); gtk_button_new_with_label (gettext (buttons[i].label));
gtk_box_pack_start (GTK_BOX (vbbox), cdd->buttons[i], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbbox), cdd->buttons[i], FALSE, FALSE, 0);
gtk_signal_connect (GTK_OBJECT (cdd->buttons[i]), "clicked", g_signal_connect (G_OBJECT (cdd->buttons[i]), "clicked",
GTK_SIGNAL_FUNC (buttons[i].callback), G_CALLBACK (buttons[i].callback),
cdd); cdd);
gtk_widget_set_sensitive (cdd->buttons[i], FALSE); gtk_widget_set_sensitive (cdd->buttons[i], FALSE);
} }

View File

@ -311,22 +311,26 @@ progress_signal_setup (GimpProgress *p,
/* remove any existing signal handlers */ /* remove any existing signal handlers */
if (p->cancel_callback) if (p->cancel_callback)
{ {
gtk_signal_disconnect_by_func (GTK_OBJECT (button), g_signal_handlers_disconnect_by_func (G_OBJECT (button),
p->cancel_callback, p->cancel_data); p->cancel_callback,
p->cancel_data);
if (dialog) if (dialog)
gtk_signal_disconnect_by_func (GTK_OBJECT (dialog), g_signal_handlers_disconnect_by_func (G_OBJECT (dialog),
p->cancel_callback, p->cancel_data); p->cancel_callback,
p->cancel_data);
} }
/* add the new handlers */ /* add the new handlers */
if (cancel_callback) if (cancel_callback)
{ {
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
cancel_callback, cancel_data); G_CALLBACK (cancel_callback),
cancel_data);
if (dialog) if (dialog)
gtk_signal_connect (GTK_OBJECT (dialog), "destroy", g_signal_connect (G_OBJECT (dialog), "destroy",
cancel_callback, cancel_data); G_CALLBACK (cancel_callback),
cancel_data);
} }
gtk_widget_set_sensitive (GTK_WIDGET (button), gtk_widget_set_sensitive (GTK_WIDGET (button),

View File

@ -86,7 +86,7 @@ void
resolution_calibrate_dialog (GtkWidget *resolution_entry, resolution_calibrate_dialog (GtkWidget *resolution_entry,
GtkRcStyle *dialog_style, GtkRcStyle *dialog_style,
GtkRcStyle *ruler_style, GtkRcStyle *ruler_style,
GtkSignalFunc expose_callback) GCallback expose_callback)
{ {
GtkWidget *dialog; GtkWidget *dialog;
GtkWidget *table; GtkWidget *table;
@ -117,16 +117,16 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
NULL); NULL);
gtk_signal_connect (GTK_OBJECT (dialog), "destroy", g_signal_connect (G_OBJECT (dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_main_quit), G_CALLBACK (gtk_main_quit),
NULL); NULL);
gtk_object_set_user_data (GTK_OBJECT (dialog), resolution_entry); gtk_object_set_user_data (GTK_OBJECT (dialog), resolution_entry);
gtk_signal_connect_object_while_alive (GTK_OBJECT (resolution_entry), "destroy", g_signal_connect_object (G_OBJECT (resolution_entry), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroy), G_CALLBACK (gtk_widget_destroy),
GTK_OBJECT (dialog)); G_OBJECT (dialog), G_CONNECT_SWAPPED);
gtk_signal_connect_object_while_alive (GTK_OBJECT (resolution_entry), "unmap", g_signal_connect_object (G_OBJECT (resolution_entry), "unmap",
GTK_SIGNAL_FUNC (gtk_widget_destroy), G_CALLBACK (gtk_widget_destroy),
GTK_OBJECT (dialog)); G_OBJECT (dialog), G_CONNECT_SWAPPED);
SET_STYLE (dialog, dialog_style); SET_STYLE (dialog, dialog_style);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 8); gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 8);
@ -172,9 +172,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_TOP_LEFT); GINT_TO_POINTER (GTK_CORNER_TOP_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -183,9 +183,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_BOTTOM_LEFT); GINT_TO_POINTER (GTK_CORNER_BOTTOM_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -194,9 +194,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_TOP_RIGHT); GINT_TO_POINTER (GTK_CORNER_TOP_RIGHT));
gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 0, 1, gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 0, 1,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -205,9 +205,9 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
SET_STYLE (darea, dialog_style); SET_STYLE (darea, dialog_style);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
if (expose_callback) if (expose_callback)
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), G_CALLBACK (expose_callback),
(gpointer) GTK_CORNER_BOTTOM_RIGHT); GINT_TO_POINTER (GTK_CORNER_BOTTOM_RIGHT));
gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 2, 3, gtk_table_attach (GTK_TABLE (table), darea, 2, 3, 2, 3,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -247,8 +247,8 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry,
1, GIMP_MAX_IMAGE_SIZE, 1, GIMP_MAX_IMAGE_SIZE,
0, 0); 0, 0);
gtk_widget_hide (GTK_WIDGET (GIMP_COORDINATES_CHAINBUTTON (calibrate_entry))); gtk_widget_hide (GTK_WIDGET (GIMP_COORDINATES_CHAINBUTTON (calibrate_entry)));
gtk_signal_connect (GTK_OBJECT (dialog), "destroy", g_signal_connect (G_OBJECT (dialog), "destroy",
GTK_SIGNAL_FUNC (gtk_widget_destroyed), G_CALLBACK (gtk_widget_destroyed),
&calibrate_entry); &calibrate_entry);
if (ruler_style) if (ruler_style)

View File

@ -23,7 +23,7 @@
void resolution_calibrate_dialog (GtkWidget *resolution_entry, void resolution_calibrate_dialog (GtkWidget *resolution_entry,
GtkRcStyle *dialog_style, GtkRcStyle *dialog_style,
GtkRcStyle *ruler_style, GtkRcStyle *ruler_style,
GtkSignalFunc expose_callback); GCallback expose_callback);
#endif /* __RESOLUTION_CALIBRATE_DIALOG_H__ */ #endif /* __RESOLUTION_CALIBRATE_DIALOG_H__ */

View File

@ -397,12 +397,20 @@ user_install_cancel_callback (GtkWidget *widget,
timeout = gtk_timeout_add (1024, (GtkFunction) gtk_exit, (gpointer) 0); timeout = gtk_timeout_add (1024, (GtkFunction) gtk_exit, (gpointer) 0);
} }
static gint static gboolean
user_install_corner_expose (GtkWidget *widget, user_install_corner_expose (GtkWidget *widget,
GdkEventExpose *eevent, GdkEventExpose *eevent,
gpointer data) gpointer data)
{ {
switch ((GtkCornerType) data) GtkCornerType corner;
/* call default handler explicitly, then draw the corners */
if (GTK_WIDGET_GET_CLASS (widget)->expose_event)
GTK_WIDGET_GET_CLASS (widget)->expose_event (widget, eevent);
corner = GPOINTER_TO_INT (data);
switch (corner)
{ {
case GTK_CORNER_TOP_LEFT: case GTK_CORNER_TOP_LEFT:
gdk_draw_arc (widget->window, gdk_draw_arc (widget->window,
@ -449,7 +457,7 @@ user_install_corner_expose (GtkWidget *widget,
break; break;
default: default:
return FALSE; break;
} }
return TRUE; return TRUE;
@ -620,9 +628,9 @@ user_install_dialog_create (Gimp *gimp)
darea = gtk_drawing_area_new (); darea = gtk_drawing_area_new ();
TITLE_STYLE (darea); TITLE_STYLE (darea);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (user_install_corner_expose), G_CALLBACK (user_install_corner_expose),
(gpointer) GTK_CORNER_TOP_LEFT); GINT_TO_POINTER (GTK_CORNER_TOP_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -630,9 +638,9 @@ user_install_dialog_create (Gimp *gimp)
darea = gtk_drawing_area_new (); darea = gtk_drawing_area_new ();
TITLE_STYLE (darea); TITLE_STYLE (darea);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (user_install_corner_expose), G_CALLBACK (user_install_corner_expose),
(gpointer) GTK_CORNER_BOTTOM_LEFT); GINT_TO_POINTER (GTK_CORNER_BOTTOM_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -1113,7 +1121,7 @@ user_install_resolution_calibrate (GtkWidget *button,
resolution_calibrate_dialog (resolution_entry, resolution_calibrate_dialog (resolution_entry,
title_style, title_style,
page_style, page_style,
GTK_SIGNAL_FUNC (user_install_corner_expose)); G_CALLBACK (user_install_corner_expose));
} }
static void static void

View File

@ -128,9 +128,6 @@ static void nav_dialog_draw_sqr (NavigationDialog *nav_dialog,
static gboolean nav_dialog_preview_events (GtkWidget *widget, static gboolean nav_dialog_preview_events (GtkWidget *widget,
GdkEvent *event, GdkEvent *event,
gpointer data); gpointer data);
static gboolean nav_dialog_expose_event (GtkWidget *widget,
GdkEvent *event,
gpointer data);
static void nav_dialog_idle_update_preview (NavigationDialog *nav_dialog); static void nav_dialog_idle_update_preview (NavigationDialog *nav_dialog);
static void nav_dialog_update_preview (NavigationDialog *nav_dialog); static void nav_dialog_update_preview (NavigationDialog *nav_dialog);
@ -199,20 +196,20 @@ nav_dialog_create (GDisplay *gdisp)
GTK_WIN_POS_MOUSE, GTK_WIN_POS_MOUSE,
FALSE, TRUE, TRUE, FALSE, TRUE, TRUE,
"_delete_event_", nav_dialog_close_callback, "_delete_event_",
nav_dialog_close_callback,
nav_dialog, NULL, NULL, TRUE, TRUE, nav_dialog, NULL, NULL, TRUE, TRUE,
NULL); NULL);
g_free (title); g_free (title);
gtk_widget_hide (GTK_WIDGET (g_list_nth_data (gtk_container_children (GTK_CONTAINER (GTK_BIN (nav_dialog->shell)->child)), 0))); gtk_dialog_set_has_separator (GTK_DIALOG (nav_dialog->shell), FALSE);
gtk_widget_hide (GTK_DIALOG (nav_dialog->shell)->action_area); gtk_widget_hide (GTK_DIALOG (nav_dialog->shell)->action_area);
gtk_signal_connect_object (GTK_OBJECT (nav_dialog->shell), "destroy", g_object_weak_ref (G_OBJECT (nav_dialog->shell),
GTK_SIGNAL_FUNC (g_free), g_free,
(GtkObject *) nav_dialog); nav_dialog);
abox = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); abox = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (nav_dialog->shell)->vbox), abox, gtk_box_pack_start (GTK_BOX (GTK_DIALOG (nav_dialog->shell)->vbox), abox,
@ -246,8 +243,8 @@ nav_dialog_create (GDisplay *gdisp)
gtk_container_add (GTK_CONTAINER (frame), preview); gtk_container_add (GTK_CONTAINER (frame), preview);
gtk_widget_show (preview); gtk_widget_show (preview);
gtk_signal_connect (GTK_OBJECT (preview), "marker_changed", g_signal_connect (G_OBJECT (preview), "marker_changed",
GTK_SIGNAL_FUNC (nav_dialog_marker_changed), G_CALLBACK (nav_dialog_marker_changed),
nav_dialog); nav_dialog);
nav_dialog->new_preview = preview; nav_dialog->new_preview = preview;
@ -260,15 +257,14 @@ nav_dialog_create (GDisplay *gdisp)
if (! g_object_get_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed")) if (! g_object_get_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed"))
{ {
gtk_signal_connect_after (GTK_OBJECT (gdisp->gimage), "dirty", g_signal_connect (G_OBJECT (gdisp->gimage), "dirty",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (gdisp->gimage), "clean", g_signal_connect (G_OBJECT (gdisp->gimage), "clean",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
g_object_set_data (G_OBJECT (gdisp->gimage), g_object_set_data (G_OBJECT (gdisp->gimage), "nav_handlers_installed",
"nav_handlers_installed",
nav_dialog); nav_dialog);
} }
@ -367,8 +363,8 @@ nav_dialog_follow_auto (void)
{ {
nav_window_auto = nav_dialog_create (gdisp); nav_window_auto = nav_dialog_create (gdisp);
gtk_signal_connect (GTK_OBJECT (context), "display_changed", g_signal_connect (G_OBJECT (context), "display_changed",
GTK_SIGNAL_FUNC (nav_dialog_display_changed), G_CALLBACK (nav_dialog_display_changed),
nav_window_auto); nav_window_auto);
} }
@ -472,9 +468,9 @@ nav_popup_click_handler (GtkWidget *widget,
nav_dialog->shell = gtk_window_new (GTK_WINDOW_POPUP); nav_dialog->shell = gtk_window_new (GTK_WINDOW_POPUP);
gtk_widget_set_events (nav_dialog->shell, PREVIEW_MASK); gtk_widget_set_events (nav_dialog->shell, PREVIEW_MASK);
gtk_signal_connect_object (GTK_OBJECT (nav_dialog->shell), "destroy", g_object_weak_ref (G_OBJECT (nav_dialog->shell),
GTK_SIGNAL_FUNC (g_free), g_free,
(GtkObject *) nav_dialog); nav_dialog);
frame = gtk_frame_new (NULL); frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
@ -823,16 +819,11 @@ create_preview_widget (NavigationDialog *nav_dialog)
set_size_data (nav_dialog); set_size_data (nav_dialog);
gtk_preview_size (GTK_PREVIEW (nav_dialog->preview), gtk_preview_size (GTK_PREVIEW (preview),
nav_dialog->pwidth, nav_dialog->pwidth, nav_dialog->pheight);
nav_dialog->pheight);
gtk_signal_connect (GTK_OBJECT (preview), "event", g_signal_connect (G_OBJECT (preview), "event",
GTK_SIGNAL_FUNC (nav_dialog_preview_events), G_CALLBACK (nav_dialog_preview_events),
nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (preview), "expose_event",
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
nav_dialog); nav_dialog);
} }
@ -1208,13 +1199,10 @@ nav_dialog_inside_preview_square (NavigationDialog *nav_dialog,
gint x, gint x,
gint y) gint y)
{ {
if (x > nav_dialog->dispx && return (x > nav_dialog->dispx &&
x < (nav_dialog->dispx + nav_dialog->dispwidth) && x < nav_dialog->dispx + nav_dialog->dispwidth &&
y > nav_dialog->dispy && y > nav_dialog->dispy &&
y < nav_dialog->dispy + nav_dialog->dispheight) y < nav_dialog->dispy + nav_dialog->dispheight);
return TRUE;
return FALSE;
} }
static gboolean static gboolean
@ -1244,7 +1232,13 @@ nav_dialog_preview_events (GtkWidget *widget,
switch (event->type) switch (event->type)
{ {
case GDK_EXPOSE: case GDK_EXPOSE:
break; /* call default handler explicitly, then draw the square */
GTK_WIDGET_GET_CLASS (widget)->expose_event (widget,
(GdkEventExpose *) event);
nav_dialog_draw_sqr (nav_dialog, FALSE,
nav_dialog->dispx, nav_dialog->dispy,
nav_dialog->dispwidth, nav_dialog->dispheight);
return TRUE;
case GDK_MAP: case GDK_MAP:
if (nav_dialog->ptype == NAV_POPUP) if (nav_dialog->ptype == NAV_POPUP)
@ -1423,52 +1417,6 @@ nav_dialog_preview_events (GtkWidget *widget,
return FALSE; return FALSE;
} }
static gboolean
nav_dialog_expose_event (GtkWidget *widget,
GdkEvent *event,
gpointer data)
{
NavigationDialog *nav_dialog;
GDisplay *gdisp;
nav_dialog = (NavigationDialog *) data;
if (! nav_dialog || nav_dialog->frozen)
return FALSE;
gdisp = nav_dialog->gdisp;
switch (event->type)
{
case GDK_EXPOSE:
/* we must have the grab if in nav_popup */
gtk_signal_handler_block_by_func
(GTK_OBJECT (widget),
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
data);
gtk_widget_draw (nav_dialog->preview, NULL);
gtk_signal_handler_unblock_by_func
(GTK_OBJECT (widget),
GTK_SIGNAL_FUNC (nav_dialog_expose_event),
data);
nav_dialog_draw_sqr (nav_dialog, FALSE,
nav_dialog->dispx, nav_dialog->dispy,
nav_dialog->dispwidth, nav_dialog->dispheight);
if (! gtk_grab_get_current () && nav_dialog->ptype == NAV_POPUP)
nav_dialog_grab_pointer (nav_dialog, nav_dialog->preview);
break;
default:
break;
}
return FALSE;
}
static void static void
nav_image_need_update (GimpImage *gimage, nav_image_need_update (GimpImage *gimage,
@ -1563,8 +1511,8 @@ nav_create_button_area (NavigationDialog *nav_dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button); gtk_widget_show (button);
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (navwindow_zoomout), G_CALLBACK (navwindow_zoomout),
nav_dialog); nav_dialog);
/* user zoom ratio */ /* user zoom ratio */
@ -1581,15 +1529,15 @@ nav_create_button_area (NavigationDialog *nav_dialog)
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show (button); gtk_widget_show (button);
gtk_signal_connect (GTK_OBJECT (button), "clicked", g_signal_connect (G_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (navwindow_zoomin), G_CALLBACK (navwindow_zoomin),
nav_dialog); nav_dialog);
nav_dialog->zoom_adjustment = nav_dialog->zoom_adjustment =
gtk_adjustment_new (0.0, -15.0, 16.0, 1.0, 1.0, 1.0); gtk_adjustment_new (0.0, -15.0, 16.0, 1.0, 1.0, 1.0);
gtk_signal_connect (GTK_OBJECT (nav_dialog->zoom_adjustment), "value_changed", g_signal_connect (G_OBJECT (nav_dialog->zoom_adjustment), "value_changed",
GTK_SIGNAL_FUNC (zoom_adj_changed), G_CALLBACK (zoom_adj_changed),
nav_dialog); nav_dialog);
hscale = gtk_hscale_new (GTK_ADJUSTMENT (nav_dialog->zoom_adjustment)); hscale = gtk_hscale_new (GTK_ADJUSTMENT (nav_dialog->zoom_adjustment));
@ -1647,11 +1595,11 @@ nav_dialog_display_changed (GimpContext *context,
*/ */
if (! g_object_get_data (G_OBJECT (gimage), "nav_handlers_installed")) if (! g_object_get_data (G_OBJECT (gimage), "nav_handlers_installed"))
{ {
gtk_signal_connect_after (GTK_OBJECT (gimage), "dirty", g_signal_connect (G_OBJECT (gimage), "dirty",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
gtk_signal_connect_after (GTK_OBJECT (gimage), "clean", g_signal_connect (G_OBJECT (gimage), "clean",
GTK_SIGNAL_FUNC (nav_image_need_update), G_CALLBACK (nav_image_need_update),
nav_dialog); nav_dialog);
g_object_set_data (G_OBJECT (gimage), g_object_set_data (G_OBJECT (gimage),

View File

@ -218,9 +218,8 @@ path_list_new (GimpImage *gimage,
pip->last_selected_row = last_selected_row; pip->last_selected_row = last_selected_row;
/* add connector to image delete/destroy */ /* add connector to image delete/destroy */
pip->sig_id = gtk_signal_connect (GTK_OBJECT (gimage), pip->sig_id = g_signal_connect (G_OBJECT (gimage), "destroy",
"destroy", G_CALLBACK (paths_dialog_destroy_cb),
GTK_SIGNAL_FUNC (paths_dialog_destroy_cb),
pip); pip);
pip->bz_paths = bz_paths; pip->bz_paths = bz_paths;

View File

@ -224,8 +224,8 @@ setup_scale (GDisplay *gdisp)
gdisp->vsbdata->page_increment = (gdisp->disp_height / 2); gdisp->vsbdata->page_increment = (gdisp->disp_height / 2);
gdisp->vsbdata->step_increment = stepy; gdisp->vsbdata->step_increment = stepy;
gtk_signal_emit_by_name (GTK_OBJECT (gdisp->hsbdata), "changed"); g_signal_emit_by_name (G_OBJECT (gdisp->hsbdata), "changed", 0);
gtk_signal_emit_by_name (GTK_OBJECT (gdisp->vsbdata), "changed"); g_signal_emit_by_name (G_OBJECT (gdisp->vsbdata), "changed", 0);
hruler = GTK_RULER (gdisp->hrule); hruler = GTK_RULER (gdisp->hrule);
vruler = GTK_RULER (gdisp->vrule); vruler = GTK_RULER (gdisp->vrule);

View File

@ -155,6 +155,12 @@ static void undo_history_undo_event (GtkWidget *widget,
static void undo_history_clean_callback (GtkWidget *widget, static void undo_history_clean_callback (GtkWidget *widget,
gpointer data); gpointer data);
static void undo_history_select_row_callback (GtkWidget *widget,
gint row,
gint column,
gpointer event,
gpointer data);
/**************************************************************/ /**************************************************************/
/* Local functions */ /* Local functions */
@ -566,7 +572,9 @@ undo_history_undo_event (GtkWidget *widget,
clist = GTK_CLIST (st->clist); clist = GTK_CLIST (st->clist);
/* block select events */ /* block select events */
gtk_signal_handler_block_by_data (GTK_OBJECT (st->clist), st); g_signal_handlers_block_by_func (G_OBJECT (st->clist),
undo_history_select_row_callback,
st);
switch (event) switch (event)
{ {
@ -635,7 +643,9 @@ undo_history_undo_event (GtkWidget *widget,
if (st->gimage->dirty == 0) if (st->gimage->dirty == 0)
gtk_clist_set_pixmap (clist, cur_selection, 1, clean_pixmap, clean_mask); gtk_clist_set_pixmap (clist, cur_selection, 1, clean_pixmap, clean_mask);
gtk_signal_handler_unblock_by_data (GTK_OBJECT (st->clist), st); g_signal_handlers_unblock_by_func (G_OBJECT (st->clist),
undo_history_select_row_callback,
st);
st->old_selection = cur_selection; st->old_selection = cur_selection;
undo_history_set_sensitive (st, clist->rows); undo_history_set_sensitive (st, clist->rows);

View File

@ -397,12 +397,20 @@ user_install_cancel_callback (GtkWidget *widget,
timeout = gtk_timeout_add (1024, (GtkFunction) gtk_exit, (gpointer) 0); timeout = gtk_timeout_add (1024, (GtkFunction) gtk_exit, (gpointer) 0);
} }
static gint static gboolean
user_install_corner_expose (GtkWidget *widget, user_install_corner_expose (GtkWidget *widget,
GdkEventExpose *eevent, GdkEventExpose *eevent,
gpointer data) gpointer data)
{ {
switch ((GtkCornerType) data) GtkCornerType corner;
/* call default handler explicitly, then draw the corners */
if (GTK_WIDGET_GET_CLASS (widget)->expose_event)
GTK_WIDGET_GET_CLASS (widget)->expose_event (widget, eevent);
corner = GPOINTER_TO_INT (data);
switch (corner)
{ {
case GTK_CORNER_TOP_LEFT: case GTK_CORNER_TOP_LEFT:
gdk_draw_arc (widget->window, gdk_draw_arc (widget->window,
@ -449,7 +457,7 @@ user_install_corner_expose (GtkWidget *widget,
break; break;
default: default:
return FALSE; break;
} }
return TRUE; return TRUE;
@ -620,9 +628,9 @@ user_install_dialog_create (Gimp *gimp)
darea = gtk_drawing_area_new (); darea = gtk_drawing_area_new ();
TITLE_STYLE (darea); TITLE_STYLE (darea);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (user_install_corner_expose), G_CALLBACK (user_install_corner_expose),
(gpointer) GTK_CORNER_TOP_LEFT); GINT_TO_POINTER (GTK_CORNER_TOP_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 0, 1,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -630,9 +638,9 @@ user_install_dialog_create (Gimp *gimp)
darea = gtk_drawing_area_new (); darea = gtk_drawing_area_new ();
TITLE_STYLE (darea); TITLE_STYLE (darea);
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16); gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 16, 16);
gtk_signal_connect_after (GTK_OBJECT (darea), "expose_event", g_signal_connect (G_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (user_install_corner_expose), G_CALLBACK (user_install_corner_expose),
(gpointer) GTK_CORNER_BOTTOM_LEFT); GINT_TO_POINTER (GTK_CORNER_BOTTOM_LEFT));
gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3, gtk_table_attach (GTK_TABLE (table), darea, 0, 1, 2, 3,
GTK_SHRINK, GTK_SHRINK, 0, 0); GTK_SHRINK, GTK_SHRINK, 0, 0);
gtk_widget_show (darea); gtk_widget_show (darea);
@ -1113,7 +1121,7 @@ user_install_resolution_calibrate (GtkWidget *button,
resolution_calibrate_dialog (resolution_entry, resolution_calibrate_dialog (resolution_entry,
title_style, title_style,
page_style, page_style,
GTK_SIGNAL_FUNC (user_install_corner_expose)); G_CALLBACK (user_install_corner_expose));
} }
static void static void

View File

@ -184,11 +184,11 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_clist_set_auto_sort (GTK_CLIST (cdd->src), TRUE); gtk_clist_set_auto_sort (GTK_CLIST (cdd->src), TRUE);
gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->src); gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->src);
gtk_signal_connect (GTK_OBJECT (cdd->src), "select_row", g_signal_connect (G_OBJECT (cdd->src), "select_row",
GTK_SIGNAL_FUNC (select_src), G_CALLBACK (select_src),
cdd); cdd);
gtk_signal_connect (GTK_OBJECT (cdd->src), "unselect_row", g_signal_connect (G_OBJECT (cdd->src), "unselect_row",
GTK_SIGNAL_FUNC (unselect_src), G_CALLBACK (unselect_src),
cdd); cdd);
vbbox = gtk_vbutton_box_new (); vbbox = gtk_vbutton_box_new ();
@ -209,11 +209,11 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_clist_column_titles_passive (GTK_CLIST (cdd->dest)); gtk_clist_column_titles_passive (GTK_CLIST (cdd->dest));
gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->dest); gtk_container_add (GTK_CONTAINER (scrolled_win), cdd->dest);
gtk_signal_connect (GTK_OBJECT (cdd->dest), "select_row", g_signal_connect (G_OBJECT (cdd->dest), "select_row",
GTK_SIGNAL_FUNC (select_dest), G_CALLBACK (select_dest),
cdd); cdd);
gtk_signal_connect (GTK_OBJECT (cdd->dest), "unselect_row", g_signal_connect (G_OBJECT (cdd->dest), "unselect_row",
GTK_SIGNAL_FUNC (unselect_dest), G_CALLBACK (unselect_dest),
cdd); cdd);
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
@ -222,8 +222,8 @@ make_dialog (ColorDisplayDialog *cdd)
gtk_button_new_with_label (gettext (buttons[i].label)); gtk_button_new_with_label (gettext (buttons[i].label));
gtk_box_pack_start (GTK_BOX (vbbox), cdd->buttons[i], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbbox), cdd->buttons[i], FALSE, FALSE, 0);
gtk_signal_connect (GTK_OBJECT (cdd->buttons[i]), "clicked", g_signal_connect (G_OBJECT (cdd->buttons[i]), "clicked",
GTK_SIGNAL_FUNC (buttons[i].callback), G_CALLBACK (buttons[i].callback),
cdd); cdd);
gtk_widget_set_sensitive (cdd->buttons[i], FALSE); gtk_widget_set_sensitive (cdd->buttons[i], FALSE);
} }