Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <winspool.h> | 7 #include <winspool.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 387 DM_IN_BUFFER | DM_OUT_BUFFER) != IDOK) { | 387 DM_IN_BUFFER | DM_OUT_BUFFER) != IDOK) { |
| 388 ClosePrinter(printer); | 388 ClosePrinter(printer); |
| 389 return OnError(); | 389 return OnError(); |
| 390 } | 390 } |
| 391 | 391 |
| 392 // Set printer then refresh printer settings. | 392 // Set printer then refresh printer settings. |
| 393 if (!AllocateContext(device_name, dev_mode, &context_)) { | 393 if (!AllocateContext(device_name, dev_mode, &context_)) { |
| 394 ClosePrinter(printer); | 394 ClosePrinter(printer); |
| 395 return OnError(); | 395 return OnError(); |
| 396 } | 396 } |
| 397 | |
| 398 bool display_header_footer; | |
|
kmadhusu
2011/08/12 17:07:00
Move this common code to a helper function in prin
Aayush Kumar
2011/08/12 18:53:42
Done.
| |
| 399 // Getting Header and Footer settings. | |
| 400 if (!job_settings.GetBoolean(printing::kSettingHeaderFooterEnabled, | |
| 401 &display_header_footer)) { | |
| 402 NOTREACHED(); | |
| 403 } | |
| 404 DictionaryValue header_footer_info; | |
| 405 header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled, | |
| 406 display_header_footer); | |
| 407 if (display_header_footer) { | |
| 408 string16 title; | |
| 409 std::string url; | |
| 410 if (!job_settings.GetString(printing::kSettingHeaderFooterTitle, &title) || | |
| 411 !job_settings.GetString(printing::kSettingHeaderFooterURL, &url)) { | |
| 412 NOTREACHED(); | |
| 413 } | |
| 414 header_footer_info.SetString(printing::kSettingHeaderFooterURL, url); | |
| 415 header_footer_info.SetString(printing::kSettingHeaderFooterTitle, title); | |
| 416 } | |
| 417 | |
| 397 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode, | 418 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode, |
| 398 ranges, device_name, | 419 ranges, device_name, |
| 399 false, &settings_); | 420 false, header_footer_info, |
| 421 &settings_); | |
| 400 ClosePrinter(printer); | 422 ClosePrinter(printer); |
| 401 return OK; | 423 return OK; |
| 402 } | 424 } |
| 403 | 425 |
| 404 PrintingContext::Result PrintingContextWin::InitWithSettings( | 426 PrintingContext::Result PrintingContextWin::InitWithSettings( |
| 405 const PrintSettings& settings) { | 427 const PrintSettings& settings) { |
| 406 DCHECK(!in_print_job_); | 428 DCHECK(!in_print_job_); |
| 407 | 429 |
| 408 settings_ = settings; | 430 settings_ = settings; |
| 409 | 431 |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 576 ranges_vector.reserve(number_ranges); | 598 ranges_vector.reserve(number_ranges); |
| 577 for (int i = 0; i < number_ranges; ++i) { | 599 for (int i = 0; i < number_ranges; ++i) { |
| 578 PageRange range; | 600 PageRange range; |
| 579 // Transfer from 1-based to 0-based. | 601 // Transfer from 1-based to 0-based. |
| 580 range.from = ranges[i].nFromPage - 1; | 602 range.from = ranges[i].nFromPage - 1; |
| 581 range.to = ranges[i].nToPage - 1; | 603 range.to = ranges[i].nToPage - 1; |
| 582 ranges_vector.push_back(range); | 604 ranges_vector.push_back(range); |
| 583 } | 605 } |
| 584 } | 606 } |
| 585 | 607 |
| 608 DictionaryValue header_footer_info; | |
| 609 header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled, | |
| 610 false); | |
| 586 PrintSettingsInitializerWin::InitPrintSettings(context_, | 611 PrintSettingsInitializerWin::InitPrintSettings(context_, |
| 587 dev_mode, | 612 dev_mode, |
| 588 ranges_vector, | 613 ranges_vector, |
| 589 new_device_name, | 614 new_device_name, |
| 590 selection_only, | 615 selection_only, |
| 616 header_footer_info, | |
| 591 &settings_); | 617 &settings_); |
| 592 | 618 |
| 593 return true; | 619 return true; |
| 594 } | 620 } |
| 595 | 621 |
| 596 bool PrintingContextWin::GetPrinterSettings(HANDLE printer, | 622 bool PrintingContextWin::GetPrinterSettings(HANDLE printer, |
| 597 const std::wstring& device_name) { | 623 const std::wstring& device_name) { |
| 598 DCHECK(!in_print_job_); | 624 DCHECK(!in_print_job_); |
| 599 scoped_array<uint8> buffer; | 625 scoped_array<uint8> buffer; |
| 600 int level = 0; | 626 int level = 0; |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 756 if (buf_size) { | 782 if (buf_size) { |
| 757 buffer->reset(new uint8[buf_size]); | 783 buffer->reset(new uint8[buf_size]); |
| 758 memset(buffer->get(), 0, buf_size); | 784 memset(buffer->get(), 0, buf_size); |
| 759 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) { | 785 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) { |
| 760 buffer->reset(); | 786 buffer->reset(); |
| 761 } | 787 } |
| 762 } | 788 } |
| 763 } | 789 } |
| 764 | 790 |
| 765 } // namespace printing | 791 } // namespace printing |
| OLD | NEW |