Chromium Code Reviews| Index: printing/printing_context_mac.mm |
| diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm |
| index cf6ea9f9498ed8fe18d04a2fe565fd0d8824037b..275e210fc79d9e7a2899b6854b475e2e4178e2f3 100644 |
| --- a/printing/printing_context_mac.mm |
| +++ b/printing/printing_context_mac.mm |
| @@ -53,15 +53,8 @@ void PrintingContextMac::AskUserForSettings(gfx::NativeView parent_view, |
| [panel setOptions:options]; |
| // Set the print job title text. |
| - if (parent_view) { |
| - NSString* job_title = [[parent_view window] title]; |
| - if (job_title) { |
| - PMPrintSettings printSettings = |
| - (PMPrintSettings)[printInfo PMPrintSettings]; |
| - PMPrintSettingsSetJobName(printSettings, (CFStringRef)job_title); |
| - [printInfo updateFromPMPrintSettings]; |
| - } |
| - } |
| + if (parent_view) |
| + UpdatePrintInfoWithJobName(printInfo, [[parent_view window] title]); |
| // TODO(stuartmorgan): We really want a tab sheet here, not a modal window. |
| // Will require restructuring the PrintingContext API to use a callback. |
| @@ -104,6 +97,13 @@ PrintingContext::Result PrintingContextMac::UpdatePrintSettings( |
| if (!SetPrinter(printer_name)) |
| return OnError(); |
| + string16 job_name; |
| + if (!job_settings.GetString(kSettingPrintJobTitle, &job_name)) |
| + return OnError(); |
|
stuartmorgan
2011/03/30 22:59:17
It's not clear to me that not having/setting a job
|
| + |
| + if (!SetPrintJobName(job_name)) |
| + return OnError(); |
| + |
| InitPrintSettingsFromPrintInfo(ranges); |
| return OK; |
| } |
| @@ -135,6 +135,23 @@ bool PrintingContextMac::SetPrinter(const std::string& printer_name) { |
| return true; |
| } |
| +bool PrintingContextMac::SetPrintJobName(const string16& job_name) { |
| + NSString* print_job_name = base::SysUTF16ToNSString(job_name); |
|
stuartmorgan
2011/03/30 22:59:17
Indentation is wrong here.
|
| + if (!print_job_name) |
| + return false; |
| + UpdatePrintInfoWithJobName(print_info_.get(), print_job_name); |
| + return true; |
| +} |
| + |
| +void PrintingContextMac::UpdatePrintInfoWithJobName( |
| + NSPrintInfo* printInfo, NSString* job_name) { |
| + if (job_name) { |
|
stuartmorgan
2011/03/30 22:59:17
Change to
if (!job_name)
return;
so the core
|
| + PMPrintSettings settings = (PMPrintSettings)[printInfo PMPrintSettings]; |
| + PMPrintSettingsSetJobName(settings, (CFStringRef)job_name); |
| + [printInfo updateFromPMPrintSettings]; |
| + } |
| +} |
| + |
| void PrintingContextMac::ParsePrintInfo(NSPrintInfo* print_info) { |
| ResetSettings(); |
| print_info_.reset([print_info retain]); |