mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Make sure to ask for an export-to-PDF output folder every time.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21723 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
c5b86dd183
commit
7b08c8f345
@ -1113,48 +1113,46 @@ impl_webkit_print( GncHtml* self, const gchar* jobname, gboolean export_pdf )
|
||||
// normal print dialog
|
||||
if (export_pdf)
|
||||
{
|
||||
gboolean have_outputdir = gtk_print_settings_has_key(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR);
|
||||
if (have_outputdir)
|
||||
GtkWidget *dialog;
|
||||
gint result;
|
||||
dialog = gtk_file_chooser_dialog_new (_("Save PDF File"),
|
||||
NULL,
|
||||
GTK_FILE_CHOOSER_ACTION_SAVE,
|
||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
|
||||
NULL);
|
||||
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
|
||||
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(dialog), export_filename);
|
||||
|
||||
if (gtk_print_settings_has_key(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR))
|
||||
{
|
||||
gchar *tmp = g_build_filename(gtk_print_settings_get(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR),
|
||||
export_filename, NULL);
|
||||
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),
|
||||
gtk_print_settings_get(print_settings,
|
||||
GNC_GTK_PRINT_SETTINGS_EXPORT_DIR));
|
||||
}
|
||||
|
||||
result = gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
|
||||
if (result == GTK_RESPONSE_ACCEPT)
|
||||
{
|
||||
gchar *dirname;
|
||||
char *tmp = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
||||
g_free(export_filename);
|
||||
export_filename = tmp;
|
||||
|
||||
// Store the directory for later
|
||||
dirname = g_path_get_dirname(export_filename);
|
||||
gtk_print_settings_set(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR, dirname);
|
||||
g_free(dirname);
|
||||
}
|
||||
else
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
if (result != GTK_RESPONSE_ACCEPT)
|
||||
{
|
||||
GtkWidget *dialog;
|
||||
gint result;
|
||||
dialog = gtk_file_chooser_dialog_new (_("Save PDF File"),
|
||||
NULL,
|
||||
GTK_FILE_CHOOSER_ACTION_SAVE,
|
||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
|
||||
NULL);
|
||||
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
|
||||
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(dialog), export_filename);
|
||||
result = gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
if (result == GTK_RESPONSE_ACCEPT)
|
||||
{
|
||||
gchar *dirname;
|
||||
char *tmp = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
||||
g_free(export_filename);
|
||||
export_filename = tmp;
|
||||
|
||||
// Store the directory for later
|
||||
dirname = g_path_get_dirname(export_filename);
|
||||
gtk_print_settings_set(print_settings, GNC_GTK_PRINT_SETTINGS_EXPORT_DIR, dirname);
|
||||
g_free(dirname);
|
||||
}
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
if (result != GTK_RESPONSE_ACCEPT)
|
||||
{
|
||||
// User pressed cancel - no saving here.
|
||||
g_free(export_filename);
|
||||
g_object_unref( op );
|
||||
return;
|
||||
}
|
||||
// User pressed cancel - no saving here.
|
||||
g_free(export_filename);
|
||||
g_object_unref( op );
|
||||
return;
|
||||
}
|
||||
|
||||
// This function expects the full filename including (absolute?) path
|
||||
@ -1172,8 +1170,8 @@ impl_webkit_print( GncHtml* self, const gchar* jobname, gboolean export_pdf )
|
||||
const gchar *olduri = gtk_print_settings_get(print_settings, GTK_PRINT_SETTINGS_OUTPUT_URI);
|
||||
gchar *dirname = g_path_get_dirname(olduri);
|
||||
gchar *newuri = (g_strcmp0(dirname, ".") == 0)
|
||||
? g_strdup(export_filename)
|
||||
: g_build_filename(dirname, export_filename, NULL);
|
||||
? g_strdup(export_filename)
|
||||
: g_build_filename(dirname, export_filename, NULL);
|
||||
//g_warning("olduri=%s newuri=%s", olduri, newuri);
|
||||
|
||||
// This function expects the full filename including protocol, path, and name
|
||||
|
Loading…
Reference in New Issue
Block a user