+
+ page_cache = ev_page_cache_get (job->document);
+
+ /* get the printing ranges */
+ switch (gnome_print_dialog_get_range (dialog)) {
+ case GNOME_PRINT_RANGE_ALL:
+ job->first_page = 0;
+ job->last_page = ev_page_cache_get_n_pages (page_cache) - 1;
+ break;
+ case GNOME_PRINT_RANGE_RANGE:
+ gnome_print_dialog_get_range_page (dialog, &job->first_page, &job->last_page);
+ /* convert 1-based user interface to 0-based internal numbers */
+ job->first_page--;
+ job->last_page--;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+