Revision: 27295
          http://sourceforge.net/p/bibdesk/svn/27295
Author:   hofman
Date:     2022-03-11 15:51:00 +0000 (Fri, 11 Mar 2022)
Log Message:
-----------
get generatedType from dragCopyType inline

Modified Paths:
--------------
    trunk/bibdesk/BDSKItemPasteboardHelper.m

Modified: trunk/bibdesk/BDSKItemPasteboardHelper.m
===================================================================
--- trunk/bibdesk/BDSKItemPasteboardHelper.m    2022-03-11 10:09:19 UTC (rev 
27294)
+++ trunk/bibdesk/BDSKItemPasteboardHelper.m    2022-03-11 15:51:00 UTC (rev 
27295)
@@ -146,6 +146,14 @@
 
 #pragma mark NSPasteboardItemDataProvider protocol methods
 
+static inline BDSKGeneratedType generatedTypeForDragCopyType(BDSKDragCopyType 
dragCopyType) {
+    switch (dragCopyType) {
+        case BDSKDragCopyLaTeX : return BDSKGenerateLaTeX;
+        case BDSKDragCopyLTB : return BDSKGenerateAMSRefsLaTeX;
+        default : return BDSKDragCopyPDF;
+    }
+}
+
 // we generate PDF, RTF, LaTeX, LTB, and archived items data only when they 
are dropped or pasted
 - (void)pasteboard:(NSPasteboard *)pboard item:(NSPasteboardItem *)item 
provideDataForType:(NSString *)type {
 
@@ -180,26 +188,14 @@
         }
         if (bibString != nil) {
             BDSKDragCopyType dragCopyType = [[dict 
objectForKey:DRAGCOPYTYPE_KEY] integerValue];
-            BDSKGeneratedType generatedType;
             BDSKTeXTask *texTask = [[BDSKTeXTask alloc] 
initWithFileName:@"bibcopy" synchronous:YES];
             
-            if (dragCopyType == BDSKDragCopyLaTeX) {
-                BDSKASSERT([type isEqualToString:NSPasteboardTypeString]);
-                generatedType = BDSKGenerateLaTeX;
-            } else if (dragCopyType == BDSKDragCopyLTB) {
-                BDSKASSERT([type isEqualToString:NSPasteboardTypeString]);
-                generatedType = BDSKGenerateAMSRefsLaTeX;
-            } else {
-                BDSKASSERT((dragCopyType == BDSKDragCopyPDF && [type 
isEqualToString:NSPasteboardTypePDF]) ||
-                           (dragCopyType == BDSKDragCopyRTF && [type 
isEqualToString:NSPasteboardTypeRTF]));
-                generatedType = BDSKGeneratePDF;
-            }
-            
             if ([delegate 
respondsToSelector:@selector(pasteboardHelperWillBeginGenerating:)])
                 [delegate pasteboardHelperWillBeginGenerating:self];
             
-            if ([texTask runWithBibTeXString:bibString citeKeys:citeKeys 
generatedType:generatedType]) {
+            if ([texTask runWithBibTeXString:bibString citeKeys:citeKeys 
generatedType:generatedTypeForDragCopyType(dragCopyType)]) {
                 if (dragCopyType == BDSKDragCopyLaTeX || dragCopyType == 
BDSKDragCopyLTB) {
+                    BDSKASSERT([type isEqualToString:NSPasteboardTypeString]);
                     string = [texTask laTeXString];
                 } else {
                     data = [texTask PDFData];
@@ -220,6 +216,8 @@
                         data = [attrString RTFFromRange:NSMakeRange(0, 
[attrString length]) documentAttributes:[NSDictionary 
dictionaryWithObjectsAndKeys:NSRTFTextDocumentType, 
NSDocumentTypeDocumentAttribute, nil]];
                         [attrString release];
                         [pdfDoc release];
+                    } else {
+                        BDSKASSERT([type isEqualToString:NSPasteboardTypePDF]);
                     }
                 }
             }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to