+ dialog = gtk_dialog_new_with_buttons (_("Export as PDF"),
+ GTK_WINDOW (parent),
+ 0,
+ _("_Cancel"), GTK_RESPONSE_CANCEL,
+ _("Export as _PDF"), GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ gtk_dialog_set_alternative_button_order (GTK_DIALOG(dialog),
+ GTK_RESPONSE_ACCEPT,
+ GTK_RESPONSE_CANCEL,
+ -1);
+
+
+ gtk_window_set_default_size (GTK_WINDOW(dialog), HB_MINWIDTH_LIST, -1);
+
+ content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog));
+
+ content_grid = gtk_grid_new();
+ gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE);
+ gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL);
+ gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM);
+ gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0);
+
+ crow = 0;
+ // group :: file title
+ group_grid = gtk_grid_new ();
+ gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL);
+ gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM);
+ gtk_grid_attach (GTK_GRID (content_grid), group_grid, 0, crow++, 1, 1);
+
+ row = 0;
+ widget = gtk_image_new_from_icon_name (ICONNAME_WARNING, GTK_ICON_SIZE_DIALOG);
+ gtk_grid_attach (GTK_GRID (group_grid), widget, 0, row, 1, 1);
+ label = gtk_label_new("This feature is still in development state,\n(maybe not stable) so use it at your own risk!");
+ gtk_grid_attach (GTK_GRID (group_grid), label, 1, row, 1, 1);
+
+ row++;
+ label = make_label_widget(_("Folder:"));
+ gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1);
+ BT_folder = gtk_file_chooser_button_new (_("Pick a Folder"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
+ gtk_grid_attach (GTK_GRID (group_grid), BT_folder, 1, row, 1, 1);
+
+ row++;
+ label = make_label_widget(_("Filename:"));
+ gtk_grid_attach (GTK_GRID (group_grid), label, 0, row, 1, 1);
+ ST_name = make_string (label);
+ gtk_grid_attach (GTK_GRID (group_grid), ST_name, 1, row, 1, 1);
+
+
+ //setup
+ tmpstr = g_path_get_dirname(*storage_ptr);
+ gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(BT_folder), tmpstr);
+ g_free(tmpstr);
+
+ tmpstr = g_path_get_basename(*storage_ptr);
+ gtk_entry_set_text(GTK_ENTRY(ST_name), tmpstr);
+ g_free(tmpstr);
+
+
+ gtk_widget_show_all(content_grid);
+
+ //wait for the user
+ gint result = gtk_dialog_run (GTK_DIALOG (dialog));
+
+ if(result == GTK_RESPONSE_ACCEPT)
+ {
+ gchar *hostname;
+ //#300380 fixed export path problem (was always the export of preference)
+ //not to be used -- gchar *nufolder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(BT_folder));
+ gchar *urifolder = gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(BT_folder));
+ gchar *nufolder = g_filename_from_uri(urifolder, &hostname, NULL);
+ gchar *nufilename = hb_filename_new_with_extension((gchar *)gtk_entry_get_text (GTK_ENTRY(ST_name)), "pdf");
+
+ g_free(*storage_ptr);
+ *storage_ptr = g_build_filename(nufolder, nufilename, NULL);
+
+ g_free(nufilename);
+ g_free(nufolder);
+ g_free(urifolder);