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; |