Fix lack of preview when GCP printer is selected.
Add handling for the cloud print dialog to update settings code on Mac and Windows. BUG=98929 TEST= Review URL: http://codereview.chromium.org/8122006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103937 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
@ -111,6 +111,7 @@ PrintingContext::Result PrintingContextMac::UpdatePrinterSettings(
|
|||||||
int color;
|
int color;
|
||||||
bool landscape;
|
bool landscape;
|
||||||
bool print_to_pdf;
|
bool print_to_pdf;
|
||||||
|
bool is_cloud_dialog;
|
||||||
int copies;
|
int copies;
|
||||||
int duplex_mode;
|
int duplex_mode;
|
||||||
std::string device_name;
|
std::string device_name;
|
||||||
@ -121,13 +122,14 @@ PrintingContext::Result PrintingContextMac::UpdatePrinterSettings(
|
|||||||
!job_settings.GetBoolean(kSettingPrintToPDF, &print_to_pdf) ||
|
!job_settings.GetBoolean(kSettingPrintToPDF, &print_to_pdf) ||
|
||||||
!job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
|
!job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
|
||||||
!job_settings.GetInteger(kSettingCopies, &copies) ||
|
!job_settings.GetInteger(kSettingCopies, &copies) ||
|
||||||
!job_settings.GetString(kSettingDeviceName, &device_name)) {
|
!job_settings.GetString(kSettingDeviceName, &device_name) ||
|
||||||
|
!job_settings.GetBoolean(kSettingCloudPrintDialog, &is_cloud_dialog)) {
|
||||||
return OnError();
|
return OnError();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool print_to_cloud = job_settings.HasKey(printing::kSettingCloudPrintId);
|
bool print_to_cloud = job_settings.HasKey(printing::kSettingCloudPrintId);
|
||||||
|
|
||||||
if (!print_to_pdf && !print_to_cloud) {
|
if (!print_to_pdf && !print_to_cloud && !is_cloud_dialog) {
|
||||||
if (!SetPrinter(device_name))
|
if (!SetPrinter(device_name))
|
||||||
return OnError();
|
return OnError();
|
||||||
|
|
||||||
|
@ -330,6 +330,7 @@ PrintingContext::Result PrintingContextWin::UpdatePrinterSettings(
|
|||||||
int color;
|
int color;
|
||||||
bool landscape;
|
bool landscape;
|
||||||
bool print_to_pdf;
|
bool print_to_pdf;
|
||||||
|
bool is_cloud_dialog;
|
||||||
int copies;
|
int copies;
|
||||||
int duplex_mode;
|
int duplex_mode;
|
||||||
string16 device_name;
|
string16 device_name;
|
||||||
@ -340,13 +341,14 @@ PrintingContext::Result PrintingContextWin::UpdatePrinterSettings(
|
|||||||
!job_settings.GetBoolean(kSettingPrintToPDF, &print_to_pdf) ||
|
!job_settings.GetBoolean(kSettingPrintToPDF, &print_to_pdf) ||
|
||||||
!job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
|
!job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
|
||||||
!job_settings.GetInteger(kSettingCopies, &copies) ||
|
!job_settings.GetInteger(kSettingCopies, &copies) ||
|
||||||
!job_settings.GetString(kSettingDeviceName, &device_name)) {
|
!job_settings.GetString(kSettingDeviceName, &device_name) ||
|
||||||
|
!job_settings.GetBoolean(kSettingCloudPrintDialog, &is_cloud_dialog)) {
|
||||||
return OnError();
|
return OnError();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool print_to_cloud = job_settings.HasKey(printing::kSettingCloudPrintId);
|
bool print_to_cloud = job_settings.HasKey(printing::kSettingCloudPrintId);
|
||||||
|
|
||||||
if (print_to_pdf || print_to_cloud) {
|
if (print_to_pdf || print_to_cloud || is_cloud_dialog) {
|
||||||
// Default fallback to Letter size.
|
// Default fallback to Letter size.
|
||||||
gfx::Size paper_size;
|
gfx::Size paper_size;
|
||||||
gfx::Rect paper_rect;
|
gfx::Rect paper_rect;
|
||||||
|
Reference in New Issue
Block a user