Commit f429270ffcc1b76e5024dd2ea57d5c53be85534d

Authored by Perry Werneck
1 parent b3926a49

Using the new standard error popup for print errors.

Showing 1 changed file with 29 additions and 18 deletions   Show diff stats
src/pw3270/print.c
... ... @@ -30,6 +30,7 @@
30 30 #include "private.h"
31 31 #include <v3270.h>
32 32 #include <v3270/print.h>
  33 + #include <v3270/dialogs.h>
33 34 #include <lib3270/selection.h>
34 35 #include <lib3270/trace.h>
35 36  
... ... @@ -38,22 +39,24 @@
38 39  
39 40 /*--[ Implement ]------------------------------------------------------------------------------------*/
40 41  
  42 +/*
41 43 static void show_print_error(GtkWidget *widget, GError *err)
42 44 {
  45 + g_warning("Print operation has failed: %s",err->message);
  46 +
43 47 GtkWidget *dialog = gtk_message_dialog_new_with_markup( GTK_WINDOW(gtk_widget_get_toplevel(widget)),
44 48 GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
45 49 GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,
46   - "%s",_( "Print operation failed" ));
  50 + "%s",_( "Unable to complete print job" ));
47 51  
48   - g_warning("%s",err->message);
49   -
50   - gtk_window_set_title(GTK_WINDOW(dialog),_("Error"));
  52 + gtk_window_set_title(GTK_WINDOW(dialog),_("Operation has failed"));
51 53  
52 54 gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",err->message);
53 55  
54 56 gtk_dialog_run(GTK_DIALOG(dialog));
55 57 gtk_widget_destroy(dialog);
56 58 }
  59 +*/
57 60  
58 61 /*
59 62 static void done(GtkPrintOperation *prt, GtkPrintOperationResult result, PRINT_INFO *info)
... ... @@ -197,22 +200,14 @@
197 200  
198 201 if(err)
199 202 {
200   - GtkWidget *popup = gtk_message_dialog_new_with_markup(
201   - GTK_WINDOW(gtk_widget_get_toplevel(widget)),
202   - GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
203   - GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE,
204   - _("Can't print")
  203 + v3270_error_popup(
  204 + widget,
  205 + _("Operation has failed"),
  206 + _( "Unable to complete print job" ),
  207 + err->message
205 208 );
206 209  
207   - gtk_window_set_title(GTK_WINDOW(popup),_("Operation has failed"));
208   -
209   - gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(popup),"%s",err->message);
210   -
211   - gtk_dialog_run(GTK_DIALOG(popup));
212   - gtk_widget_destroy(popup);
213   -
214 210 g_error_free(err);
215   -
216 211 rc = -1;
217 212 }
218 213 else
... ... @@ -220,7 +215,23 @@
220 215 switch(result)
221 216 {
222 217 case GTK_PRINT_OPERATION_RESULT_ERROR: // An error has occurred.
223   - g_message("Print operation has failed");
  218 + {
  219 + // Get error code
  220 + GError * err = NULL;
  221 +
  222 + gtk_print_operation_get_error(operation,&err);
  223 +
  224 + v3270_error_popup(
  225 + widget,
  226 + _("Operation has failed"),
  227 + _( "Unable to complete print job" ),
  228 + err->message
  229 + );
  230 +
  231 + g_error_free(err);
  232 + rc = -1;
  233 +
  234 + }
224 235 break;
225 236  
226 237 case GTK_PRINT_OPERATION_RESULT_APPLY: // The print settings should be stored.
... ...