diff options
-rw-r--r-- | shell/ev-print-operation.c | 9 | ||||
-rw-r--r-- | shell/ev-print-operation.h | 1 | ||||
-rw-r--r-- | shell/ev-window.c | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/shell/ev-print-operation.c b/shell/ev-print-operation.c index e737d29..e583dfb 100644 --- a/shell/ev-print-operation.c +++ b/shell/ev-print-operation.c @@ -1643,6 +1643,15 @@ ev_print_operation_print_class_init (EvPrintOperationPrintClass *klass) } #endif /* GTK_CHECK_VERSION (2, 17, 1) */ +gboolean ev_print_operation_exists_for_document (EvDocument *document) +{ +#if GTK_CHECK_VERSION (2, 17, 1) + return (EV_IS_FILE_EXPORTER(document) || EV_IS_DOCUMENT_PRINT(document)); +#else + return EV_IS_FILE_EXPORTER(document); +#endif +} + /* Factory method */ EvPrintOperation * ev_print_operation_new (EvDocument *document) diff --git a/shell/ev-print-operation.h b/shell/ev-print-operation.h index 6930f80..20120d6 100644 --- a/shell/ev-print-operation.h +++ b/shell/ev-print-operation.h @@ -38,6 +38,7 @@ typedef struct _EvPrintOperationClass EvPrintOperationClass; GType ev_print_operation_get_type (void) G_GNUC_CONST; +gboolean ev_print_operation_exists_for_document (EvDocument *document); EvPrintOperation *ev_print_operation_new (EvDocument *document); void ev_print_operation_set_current_page (EvPrintOperation *op, gint current_page); diff --git a/shell/ev-window.c b/shell/ev-window.c index d646b9a..a1dadb7 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -368,7 +368,7 @@ ev_window_setup_action_sensitivity (EvWindow *ev_window) ok_to_copy = (info->permissions & EV_DOCUMENT_PERMISSIONS_OK_TO_COPY); } - if (has_document && !EV_IS_FILE_EXPORTER(document)) + if (has_document && !ev_print_operation_exists_for_document(document)) ok_to_print = FALSE; #ifdef WITH_GCONF |