void vectors_export_cmd_callback (GtkAction *action, gpointer data) { VectorsExportDialog *dialog; GimpImage *image; GimpVectors *vectors; GtkWidget *widget; return_if_no_vectors (image, vectors, data); return_if_no_widget (widget, data); dialog = vectors_export_dialog_new (image, widget, vectors_export_active_only); g_signal_connect (dialog->dialog, "response", G_CALLBACK (vectors_export_response), dialog); gtk_widget_show (dialog->dialog); }
void vectors_export_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpVectors *vectors; GtkWidget *widget; GtkWidget *dialog; return_if_no_vectors (image, vectors, data); return_if_no_widget (widget, data); #define EXPORT_DIALOG_KEY "gimp-vectors-export-dialog" dialog = dialogs_get_dialog (G_OBJECT (image), EXPORT_DIALOG_KEY); if (! dialog) { GimpDialogConfig *config = GIMP_DIALOG_CONFIG (image->gimp->config); GFile *folder = NULL; if (config->vectors_export_path) folder = gimp_file_new_for_config_path (config->vectors_export_path, NULL); dialog = vectors_export_dialog_new (image, widget, folder, config->vectors_export_active_only, vectors_export_callback, NULL); if (folder) g_object_unref (folder); dialogs_attach_dialog (G_OBJECT (image), EXPORT_DIALOG_KEY, dialog); } gtk_window_present (GTK_WINDOW (dialog)); }