| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "printing/printing_context_win.h" | 5 #include "printing/printing_context_win.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 break; | 133 break; |
| 134 } | 134 } |
| 135 } | 135 } |
| 136 return gfx::Size( | 136 return gfx::Size( |
| 137 paper_size.width() * settings_.device_units_per_inch(), | 137 paper_size.width() * settings_.device_units_per_inch(), |
| 138 paper_size.height() * settings_.device_units_per_inch()); | 138 paper_size.height() * settings_.device_units_per_inch()); |
| 139 } | 139 } |
| 140 | 140 |
| 141 PrintingContext::Result PrintingContextWin::UpdatePrinterSettings( | 141 PrintingContext::Result PrintingContextWin::UpdatePrinterSettings( |
| 142 bool external_preview, | 142 bool external_preview, |
| 143 bool show_system_dialog) { | 143 bool show_system_dialog, |
| 144 int page_count) { |
| 144 DCHECK(!in_print_job_); | 145 DCHECK(!in_print_job_); |
| 145 DCHECK(!external_preview) << "Not implemented"; | 146 DCHECK(!external_preview) << "Not implemented"; |
| 146 | 147 |
| 147 ScopedPrinterHandle printer; | 148 ScopedPrinterHandle printer; |
| 148 if (!printer.OpenPrinter(settings_.device_name().c_str())) | 149 if (!printer.OpenPrinter(settings_.device_name().c_str())) |
| 149 return OnError(); | 150 return OnError(); |
| 150 | 151 |
| 151 // Make printer changes local to Chrome. | 152 // Make printer changes local to Chrome. |
| 152 // See MSDN documentation regarding DocumentProperties. | 153 // See MSDN documentation regarding DocumentProperties. |
| 153 scoped_ptr<DEVMODE, base::FreeDeleter> scoped_dev_mode = | 154 scoped_ptr<DEVMODE, base::FreeDeleter> scoped_dev_mode = |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 dev_mode->dmFields |= DM_PAPERWIDTH; | 200 dev_mode->dmFields |= DM_PAPERWIDTH; |
| 200 dev_mode->dmPaperWidth = width; | 201 dev_mode->dmPaperWidth = width; |
| 201 dev_mode->dmFields |= DM_PAPERLENGTH; | 202 dev_mode->dmFields |= DM_PAPERLENGTH; |
| 202 dev_mode->dmPaperLength = height; | 203 dev_mode->dmPaperLength = height; |
| 203 } | 204 } |
| 204 } | 205 } |
| 205 | 206 |
| 206 // Update data using DocumentProperties. | 207 // Update data using DocumentProperties. |
| 207 if (show_system_dialog) { | 208 if (show_system_dialog) { |
| 208 PrintingContext::Result result = PrintingContext::FAILED; | 209 PrintingContext::Result result = PrintingContext::FAILED; |
| 209 AskUserForSettings(0, false, false, base::Bind(&AssingResult, &result)); | 210 AskUserForSettings(page_count, false, false, |
| 211 base::Bind(&AssingResult, &result)); |
| 210 return result; | 212 return result; |
| 211 } else { | 213 } else { |
| 212 scoped_dev_mode = CreateDevMode(printer.Get(), scoped_dev_mode.get()); | 214 scoped_dev_mode = CreateDevMode(printer.Get(), scoped_dev_mode.get()); |
| 213 } | 215 } |
| 214 // Set printer then refresh printer settings. | 216 // Set printer then refresh printer settings. |
| 215 return InitializeSettings(settings_.device_name(), scoped_dev_mode.get()); | 217 return InitializeSettings(settings_.device_name(), scoped_dev_mode.get()); |
| 216 } | 218 } |
| 217 | 219 |
| 218 PrintingContext::Result PrintingContextWin::InitWithSettings( | 220 PrintingContext::Result PrintingContextWin::InitWithSettings( |
| 219 const PrintSettings& settings) { | 221 const PrintSettings& settings) { |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 | 393 |
| 392 if (canceled) { | 394 if (canceled) { |
| 393 result.reset(); | 395 result.reset(); |
| 394 abort_printing_ = true; | 396 abort_printing_ = true; |
| 395 } | 397 } |
| 396 | 398 |
| 397 return result.Pass(); | 399 return result.Pass(); |
| 398 } | 400 } |
| 399 | 401 |
| 400 } // namespace printing | 402 } // namespace printing |
| OLD | NEW |