+static void
+filesave_choose_cb (GtkWidget *button,
+ GtkPrinterOptionWidget *widget)
+{
+ GtkPrinterOptionWidgetPrivate *priv = widget->priv;
+ gchar *last_location = NULL;
+ GtkWidget *dialog;
+ GtkWindow *toplevel;
+
+ /* this will be unblocked in the dialog_response_callback function */
+ g_signal_handler_block (priv->source, priv->source_changed_handler);
+
+ toplevel = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (widget)));
+ dialog = gtk_file_chooser_dialog_new (_("Select a filename"),
+ toplevel,
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ _("_Select"), GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ /* The confirmation dialog will appear, when the user clicks print */
+ gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), FALSE);
+
+ /* select the current filename in the dialog */
+ if (priv->source != NULL)