Commit f429270ffcc1b76e5024dd2ea57d5c53be85534d
1 parent
b3926a49
Exists in
master
and in
5 other branches
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. |