diff --git a/ChangeLog b/ChangeLog index ec72ea9044..23c2f29d50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2003-11-09 Michael Natterer + + * plug-ins/FractalExplorer/Dialogs.c + * plug-ins/common/CML_explorer.c + * plug-ins/common/curve_bend.c + * plug-ins/common/gqbist.c + * plug-ins/common/spheredesigner.c + * plug-ins/flame/flame.c + * plug-ins/gfig/gfig.c + * plug-ins/gimpressionist/brush.c + * plug-ins/ifscompose/ifscompose.c + * plug-ins/imagemap/imap_browse.c: more file selections on the + right screen. + 2003-11-09 Michael Natterer * app/gui/file-commands.[ch] diff --git a/plug-ins/FractalExplorer/Dialogs.c b/plug-ins/FractalExplorer/Dialogs.c index 3a03290157..4a7f0fd873 100644 --- a/plug-ins/FractalExplorer/Dialogs.c +++ b/plug-ins/FractalExplorer/Dialogs.c @@ -72,10 +72,13 @@ static explorer_vals_t standardvals = *********************************************************************/ static void load_file_selection_ok (GtkWidget *widget, - GtkFileSelection *fs, - gpointer data); -static void create_load_file_selection (void); -static void create_file_selection (void); + GtkFileSelection *fs); +static void file_selection_ok (GtkWidget *widget, + GtkFileSelection *fs); +static void create_load_file_selection (GtkWidget *widget, + GtkWidget *dialog); +static void create_file_selection (GtkWidget *widget, + GtkWidget *dialog); static void explorer_logo_dialog (GtkWidget *parent); @@ -302,7 +305,7 @@ preview_draw_crosshair (gint px, gint py) guchar *p_ul; p_ul = wint.wimage + 3 * (preview_width * py + 0); - + for (x = 0; x < preview_width; x++) { p_ul[0] ^= 254; @@ -310,9 +313,9 @@ preview_draw_crosshair (gint px, gint py) p_ul[2] ^= 254; p_ul += 3; } - + p_ul = wint.wimage + 3 * (preview_width * 0 + px); - + for (y = 0; y < preview_height; y++) { p_ul[0] ^= 254; @@ -336,7 +339,7 @@ preview_redraw (void) 0, y, preview_width); p += preview_width * 3; } - + gtk_widget_queue_draw (wint.preview); } @@ -1820,8 +1823,7 @@ save_callback (void) static void file_selection_ok (GtkWidget *w, - GtkFileSelection *fs, - gpointer data) + GtkFileSelection *fs) { const gchar *filenamebuf; @@ -1848,8 +1850,7 @@ file_selection_ok (GtkWidget *w, static void load_file_selection_ok (GtkWidget *w, - GtkFileSelection *fs, - gpointer data) + GtkFileSelection *fs) { filename = g_strdup (gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs))); @@ -1867,7 +1868,8 @@ load_file_selection_ok (GtkWidget *w, } static void -create_load_file_selection (void) +create_load_file_selection (GtkWidget *widget, + GtkWidget *dialog) { static GtkWidget *window = NULL; @@ -1876,12 +1878,13 @@ create_load_file_selection (void) window = gtk_file_selection_new (_("Load Fractal Parameters")); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_NONE); + gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (dialog)); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - g_signal_connect (GTK_FILE_SELECTION (window)->ok_button, - "clicked", + g_signal_connect (GTK_FILE_SELECTION (window)->ok_button, "clicked", G_CALLBACK (load_file_selection_ok), window); @@ -1895,7 +1898,8 @@ create_load_file_selection (void) } static void -create_file_selection (void) +create_file_selection (GtkWidget *widget, + GtkWidget *dialog) { static GtkWidget *window = NULL; @@ -1904,12 +1908,13 @@ create_file_selection (void) window = gtk_file_selection_new (_("Save Fractal Parameters")); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_NONE); + gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (dialog)); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - g_signal_connect (GTK_FILE_SELECTION (window)->ok_button, - "clicked", + g_signal_connect (GTK_FILE_SELECTION (window)->ok_button, "clicked", G_CALLBACK (file_selection_ok), window); diff --git a/plug-ins/common/CML_explorer.c b/plug-ins/common/CML_explorer.c index 01205231b2..696f83bdd7 100644 --- a/plug-ins/common/CML_explorer.c +++ b/plug-ins/common/CML_explorer.c @@ -372,7 +372,8 @@ static void CML_save_to_file_callback (GtkWidget *widget, gpointer data); static void CML_execute_save_to_file (GtkWidget *widget, gpointer data); -static gint force_overwrite (const gchar *filename); +static gint force_overwrite (const gchar *filename, + GtkWidget *parent); static void CML_preview_update_callback (GtkWidget *widget, gpointer data); @@ -1875,7 +1876,7 @@ function_graph_new (GtkWidget *widget, CML_PARAM *param = (CML_PARAM *) *((gpointer *) data + 1); dlg = gimp_dialog_new (_("Graph of the current settings"), "cml_explorer", - NULL, 0, + gtk_widget_get_toplevel (widget), 0, gimp_standard_help_func, "filters/cml_explorer.html", GTK_STOCK_OK, GTK_RESPONSE_OK, @@ -2049,7 +2050,9 @@ CML_save_to_file_callback (GtkWidget *widget, if (!filesel) { filesel = gtk_file_selection_new (_("Save Parameters to")); - gtk_window_set_position (GTK_WINDOW (filesel), GTK_WIN_POS_MOUSE); + + gtk_window_set_transient_for (GTK_WINDOW (filesel), + GTK_WINDOW (gtk_widget_get_toplevel (widget))); g_signal_connect (GTK_FILE_SELECTION (filesel)->ok_button, "clicked", @@ -2112,7 +2115,7 @@ CML_execute_save_to_file (GtkWidget *widget, { gtk_widget_set_sensitive (GTK_WIDGET (data), FALSE); - if (! force_overwrite (filename)) + if (! force_overwrite (filename, gtk_widget_get_toplevel (widget))) { gtk_widget_set_sensitive (GTK_WIDGET (data), TRUE); return; @@ -2189,7 +2192,8 @@ CML_execute_save_to_file (GtkWidget *widget, } static gint -force_overwrite (const gchar *filename) +force_overwrite (const gchar *filename, + GtkWidget *parent) { GtkWidget *dlg; GtkWidget *label; @@ -2198,7 +2202,7 @@ force_overwrite (const gchar *filename) gboolean overwrite; dlg = gimp_dialog_new (_("CML File Operation Warning"), "cml_explorer", - NULL, 0, + parent, 0, gimp_standard_help_func, "filters/cml_explorer.html", GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, @@ -2239,7 +2243,8 @@ CML_load_from_file_callback (GtkWidget *widget, { filesel = gtk_file_selection_new (""); - gtk_window_set_position (GTK_WINDOW (filesel), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for (GTK_WINDOW (filesel), + GTK_WINDOW (gtk_widget_get_toplevel (widget))); g_signal_connect (GTK_FILE_SELECTION (filesel)->ok_button, "clicked", diff --git a/plug-ins/common/curve_bend.c b/plug-ins/common/curve_bend.c index 904ed8a585..bb98459355 100644 --- a/plug-ins/common/curve_bend.c +++ b/plug-ins/common/curve_bend.c @@ -2022,7 +2022,9 @@ bender_load_callback (GtkWidget *w, filesel = gtk_file_selection_new ( _("Load Curve Points from file")); cd->filesel = filesel; - gtk_window_set_position (GTK_WINDOW (filesel), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for (GTK_WINDOW (filesel), + GTK_WINDOW (gtk_widget_get_toplevel (w))); + g_signal_connect (GTK_FILE_SELECTION (filesel)->ok_button, "clicked", G_CALLBACK (p_points_load_from_file), @@ -2054,7 +2056,9 @@ bender_save_callback (GtkWidget *w, filesel = gtk_file_selection_new ( _("Save Curve Points to file")); cd->filesel = filesel; - gtk_window_set_position (GTK_WINDOW (filesel), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for (GTK_WINDOW (filesel), + GTK_WINDOW (gtk_widget_get_toplevel (w))); + g_signal_connect (GTK_FILE_SELECTION (filesel)->ok_button, "clicked", G_CALLBACK (p_points_save_to_file), diff --git a/plug-ins/common/gqbist.c b/plug-ins/common/gqbist.c index 779c3a0fab..e0166a6902 100644 --- a/plug-ins/common/gqbist.c +++ b/plug-ins/common/gqbist.c @@ -733,6 +733,9 @@ dialog_load (GtkWidget *widget, file_select = gtk_file_selection_new (_("Load QBE file...")); + gtk_window_set_transient_for (GTK_WINDOW (file_select), + GTK_WINDOW (gtk_widget_get_toplevel (widget))); + gimp_help_connect (file_select, gimp_standard_help_func, "filters/gqbist.html", NULL); @@ -760,6 +763,9 @@ dialog_save (GtkWidget *widget, file_select = gtk_file_selection_new (_("Save (middle transform) as QBE file...")); + gtk_window_set_transient_for (GTK_WINDOW (file_select), + GTK_WINDOW (gtk_widget_get_toplevel (widget))); + gimp_help_connect (file_select, gimp_standard_help_func, "filters/gqbist.html", NULL); diff --git a/plug-ins/common/spheredesigner.c b/plug-ins/common/spheredesigner.c index acaca97a4e..82c18245e6 100644 --- a/plug-ins/common/spheredesigner.c +++ b/plug-ins/common/spheredesigner.c @@ -296,16 +296,24 @@ struct settings = { 1, 1, 1 }; -static inline void vset (GimpVector4 *v, gdouble a, gdouble b, gdouble c); +static inline void vset (GimpVector4 *v, + gdouble a, + gdouble b, + gdouble c); static void restartrender (void); -static void drawcolor1 (GtkWidget *widget); -static void drawcolor2 (GtkWidget *widget); +static void drawcolor1 (GtkWidget *widget); +static void drawcolor2 (GtkWidget *widget); static void render (void); static void realrender (GimpDrawable *drawable); -static void fileselect (gint); -static gint traceray (ray * r, GimpVector4 * col, gint level, - gdouble imp); -static gdouble turbulence (gdouble *point, gdouble lofreq, gdouble hifreq); +static void fileselect (gint action, + GtkWidget *parent); +static gint traceray (ray *r, + GimpVector4 *col, + gint level, + gdouble imp); +static gdouble turbulence (gdouble *point, + gdouble lofreq, + gdouble hifreq); #define COLORBUTTONWIDTH 30 @@ -2114,19 +2122,22 @@ savepreset_ok (GtkWidget *widget, } static void -loadpreset (void) +loadpreset (GtkWidget *widget, + GtkWidget *parent) { - fileselect (0); + fileselect (0, parent); } static void -savepreset (void) +savepreset (GtkWidget *widget, + GtkWidget *parent) { - fileselect (1); + fileselect (1, parent); } static void -fileselect (gint action) +fileselect (gint action, + GtkWidget *parent) { static GtkWidget *windows[2] = { NULL, NULL }; @@ -2136,8 +2147,9 @@ fileselect (gint action) if (!windows[action]) { windows[action] = gtk_file_selection_new (gettext (titles[action])); - gtk_window_set_position (GTK_WINDOW (windows[action]), - GTK_WIN_POS_MOUSE); + + gtk_window_set_transient_for (GTK_WINDOW (windows[action]), + GTK_WINDOW (parent)); g_signal_connect (windows[action], "destroy", G_CALLBACK (gtk_widget_destroy), &windows[action]); @@ -2564,16 +2576,20 @@ makewindow (void) button = gtk_button_new_from_stock (GTK_STOCK_OPEN); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); - g_signal_connect_swapped (button, "clicked", - G_CALLBACK (loadpreset), NULL); gtk_widget_show (button); + g_signal_connect (button, "clicked", + G_CALLBACK (loadpreset), + window); + button = gtk_button_new_from_stock (GTK_STOCK_SAVE); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); - g_signal_connect_swapped (button, "clicked", - G_CALLBACK (savepreset), NULL); gtk_widget_show (button); + g_signal_connect (button, "clicked", + G_CALLBACK (savepreset), + window); + frame = gtk_frame_new (_("Texture Properties")); gtk_table_attach (GTK_TABLE (table), frame, 2, 3, 0, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); diff --git a/plug-ins/flame/flame.c b/plug-ins/flame/flame.c index bf227c6ab2..40c6340e68 100644 --- a/plug-ins/flame/flame.c +++ b/plug-ins/flame/flame.c @@ -454,24 +454,24 @@ file_ok_callback (GtkWidget *widget, } static void -make_file_dlg (void) +make_file_dlg (GtkWidget *parent) { file_dlg = gtk_file_selection_new (NULL); - gtk_quit_add_destroy (1, GTK_OBJECT (file_dlg)); + + gtk_window_set_transient_for (GTK_WINDOW (file_dlg), GTK_WINDOW (parent)); + gtk_window_set_destroy_with_parent (GTK_WINDOW (file_dlg), TRUE); gtk_window_set_position (GTK_WINDOW (file_dlg), GTK_WIN_POS_MOUSE); g_signal_connect_swapped (file_dlg, "delete_event", G_CALLBACK (file_cancel_callback), file_dlg); - g_signal_connect (GTK_FILE_SELECTION (file_dlg)->ok_button, - "clicked", + g_signal_connect (GTK_FILE_SELECTION (file_dlg)->ok_button, "clicked", G_CALLBACK (file_ok_callback), - file_dlg); - g_signal_connect_swapped - (GTK_FILE_SELECTION (file_dlg)->cancel_button, - "clicked", - G_CALLBACK (file_cancel_callback), - file_dlg); + file_dlg); + g_signal_connect_swapped (GTK_FILE_SELECTION (file_dlg)->cancel_button, + "clicked", + G_CALLBACK (file_cancel_callback), + file_dlg); gimp_help_connect (file_dlg, gimp_standard_help_func, "filters/flame.html", NULL); @@ -744,7 +744,7 @@ load_callback (GtkWidget *widget, { if (! file_dlg) { - make_file_dlg (); + make_file_dlg (gtk_widget_get_toplevel (widget)); } else { @@ -766,7 +766,7 @@ save_callback (GtkWidget *widget, { if (!file_dlg) { - make_file_dlg (); + make_file_dlg (gtk_widget_get_toplevel (widget)); } else { diff --git a/plug-ins/gfig/gfig.c b/plug-ins/gfig/gfig.c index 0292e59adb..aca92abbe6 100644 --- a/plug-ins/gfig/gfig.c +++ b/plug-ins/gfig/gfig.c @@ -1148,14 +1148,17 @@ file_selection_ok (GtkWidget *w, } static void -create_file_selection (GFigObj *obj, - gchar *tpath) +create_file_selection (GFigObj *obj, + gchar *tpath, + GtkWidget *parent) { static GtkWidget *window = NULL; if (!window) { window = gtk_file_selection_new (_("Save Gfig Drawing")); + + gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (parent)); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_MOUSE); g_signal_connect (window, "destroy", @@ -1203,12 +1206,12 @@ create_file_selection (GFigObj *obj, } static void -gfig_save (void) +gfig_save (GtkWidget *parent) { /* Save the current object */ if (!current_obj->filename) { - create_file_selection (current_obj, NULL); + create_file_selection (current_obj, NULL, parent); return; } gfig_save_callbk (); @@ -3445,7 +3448,7 @@ gfig_response (GtkWidget *widget, break; case RESPONSE_SAVE: - gfig_save (); /* Save current object */ + gfig_save (widget); /* Save current object */ break; case GTK_RESPONSE_CLOSE: @@ -3965,6 +3968,9 @@ load_button_callback (GtkWidget *widget, /* Load a single object */ window = gtk_file_selection_new (_("Load Gfig object collection")); + + gtk_window_set_transient_for (GTK_WINDOW (window), + GTK_WINDOW (gtk_widget_get_toplevel (widget))); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_MOUSE); g_signal_connect (window, "destroy", @@ -4560,7 +4566,7 @@ gfig_save_menu_callback (GtkWidget *widget, current_obj = gfig_obj_for_menu; - gfig_save (); /* Save current object */ + gfig_save (GTK_WIDGET (data)); /* Save current object */ current_obj = real_current; } @@ -4576,7 +4582,8 @@ static void gfig_rename_menu_callback (GtkWidget *widget, gpointer data) { - create_file_selection (gfig_obj_for_menu, gfig_obj_for_menu->filename); + create_file_selection (gfig_obj_for_menu, gfig_obj_for_menu->filename, + gtk_widget_get_toplevel (widget)); } static void @@ -4623,7 +4630,7 @@ gfig_op_menu_create (GtkWidget *window) g_signal_connect (menu_item, "activate", G_CALLBACK (gfig_save_menu_callback), - NULL); + window); #if 0 gtk_widget_install_accelerator (menu_item, diff --git a/plug-ins/gimpressionist/brush.c b/plug-ins/gimpressionist/brush.c index 6df920594c..6693b874cb 100644 --- a/plug-ins/gimpressionist/brush.c +++ b/plug-ins/gimpressionist/brush.c @@ -78,7 +78,7 @@ static void brushdmenuselect(gint32 id, gpointer data) drawable = gimp_drawable_get(id); gimp_drawable_mask_bounds (drawable->drawable_id, &x1, &y1, &x2, &y2); - + bpp = gimp_drawable_bpp (drawable->drawable_id); has_alpha = gimp_drawable_has_alpha (drawable->drawable_id); alpha = (has_alpha) ? bpp - 1 : bpp; @@ -93,7 +93,7 @@ static void brushdmenuselect(gint32 id, gpointer data) src_row = g_new (guchar, (x2 - x1) * bpp); gimp_pixel_rgn_init (&src_rgn, drawable, 0, 0, x2-x1, y2-y1, FALSE, FALSE); - + if(bpp == 3) { /* RGB */ int bpr = (x2-x1) * 3; for(row = 0, y = y1; y < y2; row++, y++) { @@ -112,7 +112,7 @@ static void brushdmenuselect(gint32 id, gpointer data) tmprow[k+2] = src[2]; src += src_rgn.bpp; } - } + } } else if(bpp == 2) { /* GrayA */ for(row = 0, y = y1; y < y2; row++, y++) { guchar *tmprow = p->col + row * rowstride; @@ -125,7 +125,7 @@ static void brushdmenuselect(gint32 id, gpointer data) tmprow[k+2] = src[0]; src += src_rgn.bpp; } - } + } } else { /* Gray */ for(row = 0, y = y1; y < y2; row++, y++) { guchar *tmprow = p->col + row * rowstride; @@ -138,8 +138,8 @@ static void brushdmenuselect(gint32 id, gpointer data) tmprow[k+2] = src[0]; src += src_rgn.bpp; } - } - } + } + } g_free (src_row); if(bpp >= 3) pcvals.colorbrushes = 1; @@ -194,13 +194,16 @@ void savebrush(GtkWidget *wg, gpointer data) sprintf(path, "%s/Brushes/", (char *)thispath->data); window = gtk_file_selection_new( _("Save brush")); + + gtk_window_set_transient_for (GTK_WINDOW (window), + GTK_WINDOW (gtk_widget_get_toplevel (wg))); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_MOUSE); gtk_file_selection_set_filename (GTK_FILE_SELECTION (window), path); g_signal_connect (window, "destroy", G_CALLBACK (destroy_window), &window); - + g_signal_connect (GTK_FILE_SELECTION (window)->ok_button, "clicked", G_CALLBACK (savebrush_ok), window); @@ -271,7 +274,7 @@ void updatebrushprev(char *fn) sc = GTK_ADJUSTMENT(brushgammaadjust)->value; if(sc != 1.0) for(i = 0; i < 256; i++) - gammatable[i] = pow(i / 255.0, sc) * 255; + gammatable[i] = pow(i / 255.0, sc) * 255; else for(i = 0; i < 256; i++) gammatable[i] = i; @@ -322,7 +325,7 @@ static void selectbrush(GtkTreeSelection *selection, gpointer data) sprintf(fname, "Brushes/%s", brush); strcpy(pcvals.selectedbrush, fname); - + updatebrushprev(fname); g_free (brush); @@ -385,7 +388,7 @@ void create_brushpage(GtkNotebook *notebook) gtk_box_pack_start(GTK_BOX(box2), tmpw,FALSE,FALSE,0); gtk_widget_show (tmpw); - brushgammaadjust = gtk_adjustment_new(pcvals.brushgamma, 0.5, 3.0, 0.1, + brushgammaadjust = gtk_adjustment_new(pcvals.brushgamma, 0.5, 3.0, 0.1, 0.1, 1.0); tmpw = gtk_hscale_new(GTK_ADJUSTMENT(brushgammaadjust)); gtk_widget_set_size_request (GTK_WIDGET(tmpw), 100, 30); @@ -396,7 +399,7 @@ void create_brushpage(GtkNotebook *notebook) g_signal_connect_swapped (brushgammaadjust, "value_changed", G_CALLBACK(updatebrushprev), pcvals.selectedbrush); - gimp_help_set_help_data + gimp_help_set_help_data (tmpw, _("Changes the gamma (brightness) of the selected brush"), NULL); box1 = gtk_hbox_new (FALSE, 0); @@ -438,22 +441,22 @@ void create_brushpage(GtkNotebook *notebook) gtk_box_pack_start(GTK_BOX(box2), table, FALSE, FALSE, 0); gtk_widget_show (table); - brushaspectadjust = - gimp_scale_entry_new (GTK_TABLE(table), 0, 0, + brushaspectadjust = + gimp_scale_entry_new (GTK_TABLE(table), 0, 0, _("Aspect ratio:"), - 150, -1, pcvals.brushaspect, - -1.0, 1.0, 0.1, 0.1, 2, + 150, -1, pcvals.brushaspect, + -1.0, 1.0, 0.1, 0.1, 2, TRUE, 0, 0, _("Specifies the aspect ratio of the brush"), NULL); g_signal_connect (brushaspectadjust, "value_changed", G_CALLBACK (brushaspectadjust_cb), &pcvals.brushaspect); - brushreliefadjust = - gimp_scale_entry_new (GTK_TABLE(table), 0, 1, + brushreliefadjust = + gimp_scale_entry_new (GTK_TABLE(table), 0, 1, _("Relief:"), - 150, -1, pcvals.brushrelief, - 0.0, 100.0, 1.0, 10.0, 1, + 150, -1, pcvals.brushrelief, + 0.0, 100.0, 1.0, 10.0, 1, TRUE, 0, 0, _("Specifies the amount of embossing to apply to the image (in percent)"), NULL); diff --git a/plug-ins/ifscompose/ifscompose.c b/plug-ins/ifscompose/ifscompose.c index b8bab1a6be..30e07d5647 100644 --- a/plug-ins/ifscompose/ifscompose.c +++ b/plug-ins/ifscompose/ifscompose.c @@ -2708,6 +2708,9 @@ ifs_compose_save (GtkWidget *parent) { file_select = gtk_file_selection_new (_("Save as IFS file")); + gtk_window_set_transient_for (GTK_WINDOW (file_select), + GTK_WINDOW (parent)); + gimp_help_connect (file_select, gimp_standard_help_func, "filters/ifscompose.html", NULL); @@ -2732,6 +2735,9 @@ ifs_compose_load (GtkWidget *parent) { file_select = gtk_file_selection_new (_("Load IFS file")); + gtk_window_set_transient_for (GTK_WINDOW (file_select), + GTK_WINDOW (parent)); + gimp_help_connect (file_select, gimp_standard_help_func, "filters/ifscompose.html", NULL); diff --git a/plug-ins/imagemap/imap_browse.c b/plug-ins/imagemap/imap_browse.c index 4eee95a3ef..a2f12875cc 100644 --- a/plug-ins/imagemap/imap_browse.c +++ b/plug-ins/imagemap/imap_browse.c @@ -60,6 +60,10 @@ browse_cb(GtkWidget *widget, gpointer data) if (!browse->file_selection) { GtkWidget *dialog; dialog = browse->file_selection = gtk_file_selection_new(browse->name); + + gtk_window_set_transient_for (GTK_WINDOW (dialog), + GTK_WINDOW (gtk_widget_get_toplevel (widget))); + g_signal_connect_swapped(GTK_FILE_SELECTION(dialog)->cancel_button, "clicked", G_CALLBACK(gtk_widget_hide), dialog); g_signal_connect(GTK_FILE_SELECTION(dialog)->ok_button,