- /* Some printers take into account some print settings,
- * and others don't. However we have exported the document
- * to a ps or pdf file according to such print settings. So,
- * we want to send the exported file to printer with those
- * settings set to default values.
- */
- settings = gtk_print_settings_copy (window->priv->print_settings);
- capabilities = ev_file_exporter_get_capabilities (EV_FILE_EXPORTER (window->priv->document));
-
- gtk_print_settings_set_page_ranges (settings, NULL, 0);
- gtk_print_settings_set_print_pages (settings, GTK_PRINT_PAGES_ALL);
- if (capabilities & EV_FILE_EXPORTER_CAN_COPIES)
- gtk_print_settings_set_n_copies (settings, 1);
- if (capabilities & EV_FILE_EXPORTER_CAN_PAGE_SET)
- gtk_print_settings_set_page_set (settings, GTK_PAGE_SET_ALL);
- if (capabilities & EV_FILE_EXPORTER_CAN_SCALE)
- gtk_print_settings_set_scale (settings, 1.0);
- if (capabilities & EV_FILE_EXPORTER_CAN_COLLATE)
- gtk_print_settings_set_collate (settings, FALSE);
- if (capabilities & EV_FILE_EXPORTER_CAN_REVERSE)
- gtk_print_settings_set_reverse (settings, FALSE);
- if (capabilities & EV_FILE_EXPORTER_CAN_NUMBER_UP) {
- gtk_print_settings_set_number_up (settings, 1);
- gtk_print_settings_set_int (settings, "cups-"GTK_PRINT_SETTINGS_NUMBER_UP, 1);
- }
-
- if (window->priv->print_preview) {
- gchar *uri;
- gchar *print_settings_file = NULL;
-
- ev_application_set_print_settings (EV_APP,
- window->priv->print_settings);
-
- print_settings_file = ev_tmp_filename ("print-settings");
- gtk_print_settings_to_file (settings, print_settings_file, NULL);
-
- uri = g_filename_to_uri (filename, NULL, NULL);
- ev_application_open_uri_at_dest (EV_APP,
- uri,
- gtk_window_get_screen (GTK_WINDOW (window)),
- NULL,
- EV_WINDOW_MODE_PREVIEW,
- NULL,
- TRUE,
- print_settings_file,
- GDK_CURRENT_TIME);
- g_free (print_settings_file);
- g_free (uri);