PrintPreview: Fixed RICOH MP C3501 color print job issues.
BUG=92358
TEST=Please refer to bug description.
Review URL: http://codereview.chromium.org/7826040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99615 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/printing/printing_context_win.cc b/printing/printing_context_win.cc
index ef45060a..c2ace8e 100644
--- a/printing/printing_context_win.cc
+++ b/printing/printing_context_win.cc
@@ -308,7 +308,7 @@
DCHECK(!in_print_job_);
bool collate;
- bool color;
+ int color;
bool landscape;
bool print_to_pdf;
int copies;
@@ -317,7 +317,7 @@
if (!job_settings.GetBoolean(kSettingLandscape, &landscape) ||
!job_settings.GetBoolean(kSettingCollate, &collate) ||
- !job_settings.GetBoolean(kSettingColor, &color) ||
+ !job_settings.GetInteger(kSettingColor, &color) ||
!job_settings.GetBoolean(kSettingPrintToPDF, &print_to_pdf) ||
!job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
!job_settings.GetInteger(kSettingCopies, &copies) ||
@@ -365,7 +365,11 @@
return OnError();
}
- dev_mode->dmColor = color ? DMCOLOR_COLOR : DMCOLOR_MONOCHROME;
+ if (color == printing::GRAY)
+ dev_mode->dmColor = DMCOLOR_MONOCHROME;
+ else
+ dev_mode->dmColor = DMCOLOR_COLOR;
+
dev_mode->dmCopies = std::max(copies, 1);
if (dev_mode->dmCopies > 1) // do not change collate unless multiple copies
dev_mode->dmCollate = collate ? DMCOLLATE_TRUE : DMCOLLATE_FALSE;