Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Unified Diff: chrome/browser/printing/print_dialog_gtk.cc

Issue 8138020: PrintPreview: Fix printer color settings issues based on printer ppd/schema information. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/printing/print_dialog_gtk.cc
diff --git a/chrome/browser/printing/print_dialog_gtk.cc b/chrome/browser/printing/print_dialog_gtk.cc
index 557fbb4a01765f196e5b433dacfb18d0576bfb0d..ab02885da5274f094fd80000f7d355cc10d47339 100644
--- a/chrome/browser/printing/print_dialog_gtk.cc
+++ b/chrome/browser/printing/print_dialog_gtk.cc
@@ -28,11 +28,11 @@ using printing::PrintSettings;
namespace {
-// CUPS ColorModel attribute and values.
-const char kCMYK[] = "CMYK";
+// CUPS ColorModel attributes.
+const char kCUPSColorMode[] = "cups-ColorMode";
const char kCUPSColorModel[] = "cups-ColorModel";
-const char kColor[] = "Color";
-const char kGrayscale[] = "Grayscale";
+const char kCUPSPrintoutMode[] = "cups-PrintoutMode";
+const char kCUPSProcessColorModel[] = "cups-ProcessColorModel";
// CUPS Duplex attribute and values.
const char kCUPSDuplex[] = "cups-Duplex";
@@ -194,18 +194,62 @@ bool PrintDialogGtk::UpdateSettings(const DictionaryValue& settings,
gtk_print_settings_set_collate(gtk_settings_, collate);
const char* color_mode;
vandebo (ex-Chrome) 2011/10/07 18:23:30 maybe call these two color_setting_name and color_
kmadhusu 2011/10/10 23:34:26 Done.
+ const char* color_settings = kCUPSColorModel;
switch (color) {
case printing::COLOR:
- color_mode = kColor;
+ color_mode = printing::kColor;
break;
case printing::CMYK:
- color_mode = kCMYK;
+ color_mode = printing::kCMYK;
+ break;
+ case printing::PRINTOUTMODE_NORMAL:
+ color_mode = printing::kNormal;
+ color_settings = kCUPSPrintoutMode;
+ break;
+ case printing::PRINTOUTMODE_NORMAL_GRAY:
+ color_mode = printing::kNormalGray;
+ color_settings = kCUPSPrintoutMode;
+ break;
+ case printing::RGB16:
+ color_mode = printing::kRGB16;
+ break;
+ case printing::CMY:
+ color_mode = printing::kCMY;
+ break;
+ case printing::CMY_K:
+ color_mode = printing::kCMY_K;
+ break;
+ case printing::BLACK:
+ color_mode = printing::kBlack;
+ break;
+ case printing::GRAY:
+ color_mode = printing::kGray;
+ break;
+ case printing::COLORMODE_COLOR:
+ color_settings = kCUPSColorMode;
+ color_mode = printing::kColor;
+ break;
+ case printing::COLORMODE_MONOCHROME:
+ color_settings = kCUPSColorMode;
+ color_mode = printing::kMonochrome;
+ break;
+ case printing::PROCESSCOLORMODEL_CMYK:
+ color_settings = kCUPSProcessColorModel;
+ color_mode = printing::kCMYK;
+ break;
+ case printing::PROCESSCOLORMODEL_GREYSCALE:
+ color_settings = kCUPSProcessColorModel;
+ color_mode = printing::kGreyscale;
+ break;
+ case printing::PROCESSCOLORMODEL_RGB:
+ color_settings = kCUPSProcessColorModel;
+ color_mode = printing::kRGB;
break;
default:
- color_mode = kGrayscale;
+ color_mode = printing::kGrayscale;
break;
}
- gtk_print_settings_set(gtk_settings_, kCUPSColorModel, color_mode);
+ gtk_print_settings_set(gtk_settings_, color_settings, color_mode);
if (duplex_mode != printing::UNKNOWN_DUPLEX_MODE) {
const char* cups_duplex_mode = NULL;

Powered by Google App Engine
This is Rietveld 408576698