0

Allow page range selection in system dialog called from preview

Two location for this option could case small confusion.
Still some users may prefer to select pages in system dialog.

BUG=461843

Review URL: https://codereview.chromium.org/1124433006

Cr-Commit-Position: refs/heads/master@{#328260}
This commit is contained in:
vitalybuka
2015-05-04 20:03:32 -07:00
committed by Commit bot
parent 32587b7745
commit 95fa3c9594
12 changed files with 30 additions and 15 deletions

@ -118,10 +118,13 @@ PrintingContext::Result PrintingContext::UpdatePrintSettings(
}
bool show_system_dialog = false;
job_settings.GetBoolean(printing::kSettingShowSystemDialog,
&show_system_dialog);
job_settings.GetBoolean(kSettingShowSystemDialog, &show_system_dialog);
return UpdatePrinterSettings(open_in_external_preview, show_system_dialog);
int page_count = 0;
job_settings.GetInteger(kSettingPreviewPageCount, &page_count);
return UpdatePrinterSettings(open_in_external_preview, show_system_dialog,
page_count);
}
} // namespace printing

@ -77,7 +77,8 @@ class PRINTING_EXPORT PrintingContext {
// |external_preview| is true if pdf is going to be opened in external
// preview. Used by MacOS only now to open Preview.app.
virtual Result UpdatePrinterSettings(bool external_preview,
bool show_system_dialog) = 0;
bool show_system_dialog,
int page_count) = 0;
// Updates Print Settings. |job_settings| contains all print job
// settings information. |ranges| has the new page range settings.

@ -182,7 +182,8 @@ gfx::Size PrintingContextAndroid::GetPdfPaperSizeDeviceUnits() {
PrintingContext::Result PrintingContextAndroid::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog) {
bool show_system_dialog,
int page_count) {
DCHECK(!show_system_dialog);
DCHECK(!in_print_job_);

@ -40,7 +40,8 @@ class PRINTING_EXPORT PrintingContextAndroid : public PrintingContext {
Result UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
Result UpdatePrinterSettings(bool external_preview,
bool show_system_dialog) override;
bool show_system_dialog,
int page_count) override;
Result InitWithSettings(const PrintSettings& settings) override;
Result NewDocument(const base::string16& document_name) override;
Result NewPage() override;

@ -107,7 +107,8 @@ gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() {
PrintingContext::Result PrintingContextLinux::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog) {
bool show_system_dialog,
int page_count) {
DCHECK(!show_system_dialog);
DCHECK(!in_print_job_);
DCHECK(!external_preview) << "Not implemented";

@ -44,7 +44,8 @@ class PRINTING_EXPORT PrintingContextLinux : public PrintingContext {
gfx::Size GetPdfPaperSizeDeviceUnits() override;
Result UseDefaultSettings() override;
Result UpdatePrinterSettings(bool external_preview,
bool show_system_dialog) override;
bool show_system_dialog,
int page_count) override;
Result InitWithSettings(const PrintSettings& settings) override;
Result NewDocument(const base::string16& document_name) override;
Result NewPage() override;

@ -29,7 +29,8 @@ class PRINTING_EXPORT PrintingContextMac : public PrintingContext {
Result UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
Result UpdatePrinterSettings(bool external_preview,
bool show_system_dialog) override;
bool show_system_dialog,
int page_count) override;
Result InitWithSettings(const PrintSettings& settings) override;
Result NewDocument(const base::string16& document_name) override;
Result NewPage() override;

@ -169,7 +169,8 @@ PrintingContext::Result PrintingContextMac::UseDefaultSettings() {
PrintingContext::Result PrintingContextMac::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog) {
bool show_system_dialog,
int page_count) {
DCHECK(!show_system_dialog);
DCHECK(!in_print_job_);

@ -77,7 +77,8 @@ gfx::Size PrintingContextNoSystemDialog::GetPdfPaperSizeDeviceUnits() {
PrintingContext::Result PrintingContextNoSystemDialog::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog) {
bool show_system_dialog,
int page_count) {
DCHECK(!show_system_dialog);
if (settings_.dpi() == 0)

@ -28,7 +28,8 @@ class PRINTING_EXPORT PrintingContextNoSystemDialog : public PrintingContext {
Result UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
Result UpdatePrinterSettings(bool external_preview,
bool show_system_dialog) override;
bool show_system_dialog,
int page_count) override;
Result InitWithSettings(const PrintSettings& settings) override;
Result NewDocument(const base::string16& document_name) override;
Result NewPage() override;

@ -140,7 +140,8 @@ gfx::Size PrintingContextWin::GetPdfPaperSizeDeviceUnits() {
PrintingContext::Result PrintingContextWin::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog) {
bool show_system_dialog,
int page_count) {
DCHECK(!in_print_job_);
DCHECK(!external_preview) << "Not implemented";
@ -206,7 +207,8 @@ PrintingContext::Result PrintingContextWin::UpdatePrinterSettings(
// Update data using DocumentProperties.
if (show_system_dialog) {
PrintingContext::Result result = PrintingContext::FAILED;
AskUserForSettings(0, false, false, base::Bind(&AssingResult, &result));
AskUserForSettings(page_count, false, false,
base::Bind(&AssingResult, &result));
return result;
} else {
scoped_dev_mode = CreateDevMode(printer.Get(), scoped_dev_mode.get());

@ -29,7 +29,8 @@ class PRINTING_EXPORT PrintingContextWin : public PrintingContext {
Result UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
Result UpdatePrinterSettings(bool external_preview,
bool show_system_dialog) override;
bool show_system_dialog,
int page_count) override;
Result InitWithSettings(const PrintSettings& settings) override;
Result NewDocument(const base::string16& document_name) override;
Result NewPage() override;