set a print job name.

2007-07-24  Sven Neumann  <sven@gimp.org>

	* plug-ins/print/print.c: set a print job name.


svn path=/trunk/; revision=22981
This commit is contained in:
Sven Neumann 2007-07-24 07:22:35 +00:00 committed by Sven Neumann
parent fefd674d40
commit 39e4997706
2 changed files with 47 additions and 19 deletions

View File

@ -1,3 +1,7 @@
2007-07-24 Sven Neumann <sven@gimp.org>
* plug-ins/print/print.c: set a print job name.
2007-07-24 Sven Neumann <sven@gimp.org> 2007-07-24 Sven Neumann <sven@gimp.org>
* plug-ins/print/print.c: if we created an export image, delete * plug-ins/print/print.c: if we created an export image, delete

View File

@ -42,27 +42,28 @@ static void run (const gchar *name,
gint *nreturn_vals, gint *nreturn_vals,
GimpParam **return_vals); GimpParam **return_vals);
static gboolean print_image (gint32 image_ID, static gboolean print_image (gint32 image_ID,
gint32 drawable_ID, gint32 drawable_ID,
gboolean interactive); gboolean interactive);
static void begin_print (GtkPrintOperation *operation, static void print_operation_set_name (GtkPrintOperation *operation,
GtkPrintContext *context, gint image_ID);
PrintData *data);
static void end_print (GtkPrintOperation *operation, static void begin_print (GtkPrintOperation *operation,
GtkPrintContext *context, GtkPrintContext *context,
PrintData *data); PrintData *data);
static void end_print (GtkPrintOperation *operation,
GtkPrintContext *context,
PrintData *data);
static void draw_page (GtkPrintOperation *print,
GtkPrintContext *context,
gint page_nr,
PrintData *data);
static void status_changed (GtkPrintOperation *operation,
gint32 *image_ID);
static void draw_page (GtkPrintOperation *print, static GtkWidget * create_custom_widget (GtkPrintOperation *operation,
GtkPrintContext *context, PrintData *data);
gint page_nr,
PrintData *data);
static void status_changed (GtkPrintOperation *operation,
gint32 *image_ID);
static GtkWidget * create_custom_widget (GtkPrintOperation *operation,
PrintData *data);
@ -154,7 +155,7 @@ print_image (gint32 image_ID,
gint32 drawable_ID, gint32 drawable_ID,
gboolean interactive) gboolean interactive)
{ {
GtkPrintOperation *operation = gtk_print_operation_new (); GtkPrintOperation *operation;
GError *error = NULL; GError *error = NULL;
gint32 orig_image_ID = image_ID; gint32 orig_image_ID = image_ID;
PrintData data; PrintData data;
@ -168,6 +169,10 @@ print_image (gint32 image_ID,
if (export == GIMP_EXPORT_CANCEL) if (export == GIMP_EXPORT_CANCEL)
return FALSE; return FALSE;
operation = gtk_print_operation_new ();
print_operation_set_name (operation, orig_image_ID);
/* fill in the PrintData struct */ /* fill in the PrintData struct */
data.num_pages = 1; data.num_pages = 1;
data.drawable_id = drawable_ID; data.drawable_id = drawable_ID;
@ -263,6 +268,25 @@ print_image (gint32 image_ID,
return TRUE; return TRUE;
} }
static void
print_operation_set_name (GtkPrintOperation *operation,
gint image_ID)
{
gchar *filename;
gchar *basename;
gchar *jobname;
filename = gimp_image_get_filename (image_ID);
basename = filename ? g_filename_display_basename (filename) : _("Untitled");
jobname = g_strdup_printf ("%s - %s", g_get_application_name (), basename);
gtk_print_operation_set_job_name (operation, jobname);
g_free (jobname);
g_free (basename);
g_free (filename);
}
static void static void
begin_print (GtkPrintOperation *operation, begin_print (GtkPrintOperation *operation,
GtkPrintContext *context, GtkPrintContext *context,