diff options
author | Alexander Larsson <alexl@redhat.com> | 2006-05-24 10:50:57 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2006-05-24 10:50:57 +0000 |
commit | 70376f280a6735551404ad583eb9efd8afcc7cc3 (patch) | |
tree | de5dd5dc1df73c718f4dd5c4db22e55392901386 /modules | |
parent | 27f2b1d95a164b5a48d5bb402fb13c99423f5305 (diff) | |
download | gtk+-70376f280a6735551404ad583eb9efd8afcc7cc3.tar.gz |
Add gtk_print_unix_dialog_set_manual_capabilities that controls what
2006-05-24 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintunixdialog.[ch]:
Add gtk_print_unix_dialog_set_manual_capabilities that controls
what widgets to enable in the dialog depending on the apps
capabilities.
* gtk/gtkprintbackend.[ch]:
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.c:
* gtk/gtkprintjob.h:
Add printer_get_capabilities to backend.
Move some fallback calls to the printbackend base class.
* gtk/gtkprintoperation-unix.c:
Set manual capabilities
* modules/printbackends/cups/gtkprintbackendcups.c:
Implement get_capabilities
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Move some methods to baseclass.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/printbackends/cups/gtkprintbackendcups.c | 11 | ||||
-rw-r--r-- | modules/printbackends/lpr/gtkprintbackendlpr.c | 45 | ||||
-rw-r--r-- | modules/printbackends/pdf/gtkprintbackendpdf.c | 45 |
3 files changed, 11 insertions, 90 deletions
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index c1b018029b..54434c23ce 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -137,6 +137,7 @@ static void cups_printer_get_hard_margins (GtkPrinter double *bottom, double *left, double *right); +static GtkPrintCapabilities cups_printer_get_capabilities (GtkPrinter *printer); static void set_option_from_settings (GtkPrinterOption *option, GtkPrintSettings *setting); static void cups_begin_polling_info (GtkPrintBackendCups *print_backend, @@ -241,6 +242,7 @@ gtk_print_backend_cups_class_init (GtkPrintBackendCupsClass *class) backend_class->printer_prepare_for_print = cups_printer_prepare_for_print; backend_class->printer_list_papers = cups_printer_list_papers; backend_class->printer_get_hard_margins = cups_printer_get_hard_margins; + backend_class->printer_get_capabilities = cups_printer_get_capabilities; } static cairo_status_t @@ -2593,3 +2595,12 @@ cups_printer_get_hard_margins (GtkPrinter *printer, *right = ppd_file->custom_margins[2]; *top = ppd_file->custom_margins[3]; } + +static GtkPrintCapabilities +cups_printer_get_capabilities (GtkPrinter *printer) +{ + return + GTK_PRINT_CAPABILITY_COPIES | + GTK_PRINT_CAPABILITY_COLLATE | + GTK_PRINT_CAPABILITY_REVERSE; +} diff --git a/modules/printbackends/lpr/gtkprintbackendlpr.c b/modules/printbackends/lpr/gtkprintbackendlpr.c index d1391340dc..19c19ab122 100644 --- a/modules/printbackends/lpr/gtkprintbackendlpr.c +++ b/modules/printbackends/lpr/gtkprintbackendlpr.c @@ -66,8 +66,6 @@ static void gtk_print_backend_lpr_init (GtkPrintBacke static void lpr_printer_get_settings_from_options (GtkPrinter *printer, GtkPrinterOptionSet *options, GtkPrintSettings *settings); -static gboolean lpr_printer_mark_conflicts (GtkPrinter *printer, - GtkPrinterOptionSet *options); static GtkPrinterOptionSet *lpr_printer_get_options (GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup); @@ -75,13 +73,6 @@ static void lpr_printer_prepare_for_print (GtkPrinter GtkPrintJob *print_job, GtkPrintSettings *settings, GtkPageSetup *page_setup); -static void lpr_printer_get_hard_margins (GtkPrinter *printer, - double *top, - double *bottom, - double *left, - double *right); -static void lpr_printer_request_details (GtkPrinter *printer); -static GList * lpr_printer_list_papers (GtkPrinter *printer); static cairo_surface_t * lpr_printer_create_cairo_surface (GtkPrinter *printer, gdouble width, gdouble height, @@ -165,14 +156,10 @@ gtk_print_backend_lpr_class_init (GtkPrintBackendLprClass *class) backend_parent_class = g_type_class_peek_parent (class); backend_class->print_stream = gtk_print_backend_lpr_print_stream; - backend_class->printer_request_details = lpr_printer_request_details; backend_class->printer_create_cairo_surface = lpr_printer_create_cairo_surface; backend_class->printer_get_options = lpr_printer_get_options; - backend_class->printer_mark_conflicts = lpr_printer_mark_conflicts; backend_class->printer_get_settings_from_options = lpr_printer_get_settings_from_options; backend_class->printer_prepare_for_print = lpr_printer_prepare_for_print; - backend_class->printer_list_papers = lpr_printer_list_papers; - backend_class->printer_get_hard_margins = lpr_printer_get_hard_margins; } static cairo_status_t @@ -394,11 +381,6 @@ gtk_print_backend_lpr_init (GtkPrintBackendLpr *backend) g_object_unref (printer); } -static void -lpr_printer_request_details (GtkPrinter *printer) -{ -} - static GtkPrinterOptionSet * lpr_printer_get_options (GtkPrinter *printer, GtkPrintSettings *settings, @@ -430,14 +412,6 @@ lpr_printer_get_options (GtkPrinter *printer, return set; } - -static gboolean -lpr_printer_mark_conflicts (GtkPrinter *printer, - GtkPrinterOptionSet *options) -{ - return FALSE; -} - static void lpr_printer_get_settings_from_options (GtkPrinter *printer, GtkPrinterOptionSet *options, @@ -477,22 +451,3 @@ lpr_printer_prepare_for_print (GtkPrinter *printer, print_job->page_set = gtk_print_settings_get_page_set (settings); print_job->rotate_to_orientation = TRUE; } - -static void -lpr_printer_get_hard_margins (GtkPrinter *printer, - double *top, - double *bottom, - double *left, - double *right) -{ - *top = 0; - *bottom = 0; - *left = 0; - *right = 0; -} - -static GList * -lpr_printer_list_papers (GtkPrinter *printer) -{ - return NULL; -} diff --git a/modules/printbackends/pdf/gtkprintbackendpdf.c b/modules/printbackends/pdf/gtkprintbackendpdf.c index cfc7932fe3..4a0781d250 100644 --- a/modules/printbackends/pdf/gtkprintbackendpdf.c +++ b/modules/printbackends/pdf/gtkprintbackendpdf.c @@ -67,8 +67,6 @@ static void gtk_print_backend_pdf_init (GtkPrintBacke static void pdf_printer_get_settings_from_options (GtkPrinter *printer, GtkPrinterOptionSet *options, GtkPrintSettings *settings); -static gboolean pdf_printer_mark_conflicts (GtkPrinter *printer, - GtkPrinterOptionSet *options); static GtkPrinterOptionSet *pdf_printer_get_options (GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup); @@ -76,13 +74,6 @@ static void pdf_printer_prepare_for_print (GtkPrinter GtkPrintJob *print_job, GtkPrintSettings *settings, GtkPageSetup *page_setup); -static void pdf_printer_get_hard_margins (GtkPrinter *printer, - double *top, - double *bottom, - double *left, - double *right); -static void pdf_printer_request_details (GtkPrinter *printer); -static GList * pdf_printer_list_papers (GtkPrinter *printer); static void gtk_print_backend_pdf_print_stream (GtkPrintBackend *print_backend, GtkPrintJob *job, gint data_fd, @@ -166,14 +157,10 @@ gtk_print_backend_pdf_class_init (GtkPrintBackendPdfClass *class) backend_parent_class = g_type_class_peek_parent (class); backend_class->print_stream = gtk_print_backend_pdf_print_stream; - backend_class->printer_request_details = pdf_printer_request_details; backend_class->printer_create_cairo_surface = pdf_printer_create_cairo_surface; backend_class->printer_get_options = pdf_printer_get_options; - backend_class->printer_mark_conflicts = pdf_printer_mark_conflicts; backend_class->printer_get_settings_from_options = pdf_printer_get_settings_from_options; backend_class->printer_prepare_for_print = pdf_printer_prepare_for_print; - backend_class->printer_list_papers = pdf_printer_list_papers; - backend_class->printer_get_hard_margins = pdf_printer_get_hard_margins; } static cairo_status_t @@ -364,11 +351,6 @@ gtk_print_backend_pdf_init (GtkPrintBackendPdf *backend) gtk_print_backend_set_list_done (GTK_PRINT_BACKEND (backend)); } -static void -pdf_printer_request_details (GtkPrinter *printer) -{ -} - static GtkPrinterOptionSet * pdf_printer_get_options (GtkPrinter *printer, GtkPrintSettings *settings, @@ -400,14 +382,6 @@ pdf_printer_get_options (GtkPrinter *printer, return set; } - -static gboolean -pdf_printer_mark_conflicts (GtkPrinter *printer, - GtkPrinterOptionSet *options) -{ - return FALSE; -} - static void pdf_printer_get_settings_from_options (GtkPrinter *printer, GtkPrinterOptionSet *options, @@ -447,22 +421,3 @@ pdf_printer_prepare_for_print (GtkPrinter *printer, print_job->page_set = gtk_print_settings_get_page_set (settings); print_job->rotate_to_orientation = TRUE; } - -static void -pdf_printer_get_hard_margins (GtkPrinter *printer, - double *top, - double *bottom, - double *left, - double *right) -{ - *top = 0; - *bottom = 0; - *left = 0; - *right = 0; -} - -static GList * -pdf_printer_list_papers (GtkPrinter *printer) -{ - return NULL; -} |