| Index: printing/printing_context_mac.mm
|
| diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
|
| index 65e707f1696f4642f9060c1edaeba63a9c1f9027..fc534e07d397ecf0a3b05af914dfcbbb751e7294 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();
|
| +
|
| + 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);
|
| + 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) {
|
| + 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]);
|
|
|