From: <ho...@us...> - 2010-12-21 18:20:54
|
Revision: 17636 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=17636&view=rev Author: hofman Date: 2010-12-21 18:20:48 +0000 (Tue, 21 Dec 2010) Log Message: ----------- fix printing from previewer, always print through the current view Modified Paths: -------------- trunk/bibdesk/BDSKPreviewer.m trunk/bibdesk/BDSKZoomablePDFView.m trunk/bibdesk/BDSKZoomableTextView.m Modified: trunk/bibdesk/BDSKPreviewer.m =================================================================== --- trunk/bibdesk/BDSKPreviewer.m 2010-12-21 18:13:32 UTC (rev 17635) +++ trunk/bibdesk/BDSKPreviewer.m 2010-12-21 18:20:48 UTC (rev 17636) @@ -329,16 +329,12 @@ // first responder gets this - (void)printDocument:(id)sender{ NSInteger tabIndex = [tabView indexOfTabViewItem:[tabView selectedTabViewItem]]; - if (tabIndex == BDSKPreviewerTabIndexPDF) { - [pdfView printWithInfo:[NSPrintInfo sharedPrintInfo] autoRotate:NO]; - } else { - NSTextView *textView = tabIndex == BDSKPreviewerTabIndexRTF ? rtfPreviewView : logView; - NSPrintOperation *printOp = [NSPrintOperation printOperationWithAttributedString:[textView textStorage] printInfo:nil settings:nil]; - [printOp setShowsPrintPanel:YES]; - [printOp setShowsProgressPanel:YES]; - [printOp setCanSpawnSeparateThread:YES]; - [printOp runOperationModalForWindow:[self window] delegate:nil didRunSelector:NULL contextInfo:NULL]; - } + if (tabIndex == BDSKPreviewerTabIndexPDF) + [pdfView printSelection:sender]; + else if (tabIndex == BDSKPreviewerTabIndexRTF) + [(BDSKZoomableTextView *)rtfPreviewView printSelection:sender]; + else if (tabIndex == BDSKPreviewerTabIndexLog) + [(BDSKZoomableTextView *)logView printSelection:sender]; } #pragma mark Drawing methods Modified: trunk/bibdesk/BDSKZoomablePDFView.m =================================================================== --- trunk/bibdesk/BDSKZoomablePDFView.m 2010-12-21 18:13:32 UTC (rev 17635) +++ trunk/bibdesk/BDSKZoomablePDFView.m 2010-12-21 18:20:48 UTC (rev 17636) @@ -86,11 +86,20 @@ - (IBAction)printSelection:(id)sender { NSPrintInfo *printInfo = [[[[self window] windowController] document] printInfo]; + if (printInfo == nil) + printInfo = [NSPrintInfo sharedPrintInfo]; [self printWithInfo:printInfo autoRotate:YES]; } - (IBAction)printDocument:(id)sender { - [[[[self window] windowController] document] printDocument:sender]; + id wc = [[self window] windowController]; + NSDocument *doc = [wc document]; + if (doc) + [doc printDocument:sender]; + else if ([wc respondsToSelector:_cmd]) + [wc printDocument:sender]; + else + NSBeep(); } #pragma mark Copying Modified: trunk/bibdesk/BDSKZoomableTextView.m =================================================================== --- trunk/bibdesk/BDSKZoomableTextView.m 2010-12-21 18:13:32 UTC (rev 17635) +++ trunk/bibdesk/BDSKZoomableTextView.m 2010-12-21 18:20:48 UTC (rev 17636) @@ -90,6 +90,8 @@ - (IBAction)printSelection:(id)sender { NSPrintInfo *printInfo = [[[[self window] windowController] document] printInfo]; + if (printInfo == nil) + printInfo = [NSPrintInfo sharedPrintInfo]; NSPrintOperation *printOp = [NSPrintOperation printOperationWithAttributedString:[self textStorage] printInfo:printInfo settings:nil]; [printOp runOperationModalForWindow:[self window] delegate:nil didRunSelector:NULL contextInfo:NULL]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |