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,6 +30,7 @@
30 #include "private.h" 30 #include "private.h"
31 #include <v3270.h> 31 #include <v3270.h>
32 #include <v3270/print.h> 32 #include <v3270/print.h>
  33 + #include <v3270/dialogs.h>
33 #include <lib3270/selection.h> 34 #include <lib3270/selection.h>
34 #include <lib3270/trace.h> 35 #include <lib3270/trace.h>
35 36
@@ -38,22 +39,24 @@ @@ -38,22 +39,24 @@
38 39
39 /*--[ Implement ]------------------------------------------------------------------------------------*/ 40 /*--[ Implement ]------------------------------------------------------------------------------------*/
40 41
  42 +/*
41 static void show_print_error(GtkWidget *widget, GError *err) 43 static void show_print_error(GtkWidget *widget, GError *err)
42 { 44 {
  45 + g_warning("Print operation has failed: %s",err->message);
  46 +
43 GtkWidget *dialog = gtk_message_dialog_new_with_markup( GTK_WINDOW(gtk_widget_get_toplevel(widget)), 47 GtkWidget *dialog = gtk_message_dialog_new_with_markup( GTK_WINDOW(gtk_widget_get_toplevel(widget)),
44 GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, 48 GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
45 GTK_MESSAGE_ERROR,GTK_BUTTONS_CLOSE, 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 gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",err->message); 54 gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",err->message);
53 55
54 gtk_dialog_run(GTK_DIALOG(dialog)); 56 gtk_dialog_run(GTK_DIALOG(dialog));
55 gtk_widget_destroy(dialog); 57 gtk_widget_destroy(dialog);
56 } 58 }
  59 +*/
57 60
58 /* 61 /*
59 static void done(GtkPrintOperation *prt, GtkPrintOperationResult result, PRINT_INFO *info) 62 static void done(GtkPrintOperation *prt, GtkPrintOperationResult result, PRINT_INFO *info)
@@ -197,22 +200,14 @@ @@ -197,22 +200,14 @@
197 200
198 if(err) 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 g_error_free(err); 210 g_error_free(err);
215 -  
216 rc = -1; 211 rc = -1;
217 } 212 }
218 else 213 else
@@ -220,7 +215,23 @@ @@ -220,7 +215,23 @@
220 switch(result) 215 switch(result)
221 { 216 {
222 case GTK_PRINT_OPERATION_RESULT_ERROR: // An error has occurred. 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 break; 235 break;
225 236
226 case GTK_PRINT_OPERATION_RESULT_APPLY: // The print settings should be stored. 237 case GTK_PRINT_OPERATION_RESULT_APPLY: // The print settings should be stored.