From 20508609fcdd482ea3e061c3412df01d235af6f2 Mon Sep 17 00:00:00 2001 From: buliabyak Date: Mon, 17 Apr 2006 21:37:27 +0000 Subject: [PATCH] patch by Osei Poku to use the new file dialog on Browse in Export --- src/dialogs/export.cpp | 56 ++++++++++++++---------------------------- 1 file changed, 19 insertions(+), 37 deletions(-) diff --git a/src/dialogs/export.cpp b/src/dialogs/export.cpp index 5438dfdc5..96406659e 100644 --- a/src/dialogs/export.cpp +++ b/src/dialogs/export.cpp @@ -55,8 +55,6 @@ static void sp_export_area_toggled ( GtkToggleButton *tb, GtkObject *base ); static void sp_export_export_clicked ( GtkButton *button, GtkObject *base ); static void sp_export_browse_clicked ( GtkButton *button, gpointer userdata ); -static void sp_export_browse_store ( GtkButton *button, gpointer userdata ); - static void sp_export_area_x_value_changed ( GtkAdjustment *adj, GtkObject *base); @@ -1136,7 +1134,13 @@ sp_export_browse_clicked (GtkButton *button, gpointer userdata) GtkWidget *fs, *fe; const gchar *filename; - fs = gtk_file_selection_new (_("Select a filename for exporting")); + fs = gtk_file_chooser_dialog_new (_("Select a filename for exporting"), + NULL, + GTK_FILE_CHOOSER_ACTION_SAVE, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, + NULL ); + fe = (GtkWidget *)g_object_get_data (G_OBJECT (dlg), "filename"); sp_transientize (fs); @@ -1149,48 +1153,26 @@ sp_export_browse_clicked (GtkButton *button, gpointer userdata) filename = homedir_path(NULL); } - gtk_file_selection_set_filename (GTK_FILE_SELECTION (fs), filename); + gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (fs), filename); - g_signal_connect ( GTK_OBJECT (GTK_FILE_SELECTION (fs)->ok_button), - "clicked", - G_CALLBACK (sp_export_browse_store), - (gpointer) fs ); + if (gtk_dialog_run (GTK_DIALOG (fs)) == GTK_RESPONSE_ACCEPT) + { + gchar *file; - g_signal_connect_swapped ( GTK_OBJECT (GTK_FILE_SELECTION (fs)->ok_button), - "clicked", - G_CALLBACK (gtk_widget_destroy), - (gpointer) fs ); + file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (fs)); + gchar * utf8file = g_filename_to_utf8( file, -1, NULL, NULL, NULL ); + gtk_entry_set_text (GTK_ENTRY (fe), utf8file); + g_free(utf8file); - g_signal_connect_swapped ( GTK_OBJECT - (GTK_FILE_SELECTION (fs)->cancel_button), - "clicked", - G_CALLBACK (gtk_widget_destroy), - (gpointer) fs ); + g_object_set_data (G_OBJECT (dlg), "filename", fe); + g_free(file); + } - gtk_widget_show (fs); + gtk_widget_destroy (fs); return; } // end of sp_export_browse_clicked() -/// Called when OK clicked in file dialog -static void -sp_export_browse_store (GtkButton *button, gpointer userdata) -{ - GtkWidget *fs = (GtkWidget *)userdata, *fe; - const gchar *file; - - fe = (GtkWidget *)g_object_get_data (G_OBJECT (dlg), "filename"); - - file = gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)); - gchar * utf8file = g_filename_to_utf8( file, -1, NULL, NULL, NULL ); - gtk_entry_set_text (GTK_ENTRY (fe), utf8file); - g_free(utf8file); - - g_object_set_data (G_OBJECT (dlg), "filename", fe); - - return; -} // end of sp_export_browse_store() - // TODO: Move this to nr-rect-fns.h. static bool sp_export_bbox_equal(NR::Rect const &one, NR::Rect const &two) -- 2.30.2