Set "accepts-pdf" property to true only if supported by the print backend

This commit is contained in:
Adrian Johnson 2010-12-29 01:18:02 +10:30 committed by Matthias Clasen
parent 3fff4bd091
commit 856cc65f63
3 changed files with 12 additions and 3 deletions

View File

@ -145,7 +145,7 @@ gtk_printer_class_init (GtkPrinterClass *class)
g_param_spec_boolean ("accepts-pdf",
P_("Accepts PDF"),
P_("TRUE if this printer can accept PDF"),
TRUE,
FALSE,
GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (G_OBJECT_CLASS (class),
PROP_ACCEPTS_PS,
@ -256,7 +256,7 @@ gtk_printer_init (GtkPrinter *printer)
priv->is_accepting_jobs = TRUE;
priv->is_new = TRUE;
priv->has_details = FALSE;
priv->accepts_pdf = TRUE;
priv->accepts_pdf = FALSE;
priv->accepts_ps = TRUE;
priv->state_message = NULL;

View File

@ -127,11 +127,19 @@ gtk_printer_cups_new (const char *name,
GtkPrintBackend *backend)
{
GObject *result;
gboolean accepts_pdf;
#if (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2) || CUPS_VERSION_MAJOR > 1
accepts_pdf = TRUE;
#else
accepts_pdf = FALSE;
#endif
result = g_object_new (GTK_TYPE_PRINTER_CUPS,
"name", name,
"backend", backend,
"is-virtual", FALSE,
"accepts-pdf", accepts_pdf,
NULL);
return (GtkPrinterCups *) result;

View File

@ -501,6 +501,7 @@ gtk_print_backend_file_init (GtkPrintBackendFile *backend)
"name", _("Print to File"),
"backend", backend,
"is-virtual", TRUE,
"accepts-pdf", TRUE,
NULL);
gtk_printer_set_has_details (printer, TRUE);