Revision: 18351
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=18351&view=rev
Author:   hofman
Date:     2012-01-02 18:29:45 +0000 (Mon, 02 Jan 2012)
Log Message:
-----------
combine methods to get/make error editors

Modified Paths:
--------------
    trunk/bibdesk/BDSKErrorObjectController.h
    trunk/bibdesk/BDSKErrorObjectController.m

Modified: trunk/bibdesk/BDSKErrorObjectController.h
===================================================================
--- trunk/bibdesk/BDSKErrorObjectController.h   2012-01-02 18:09:43 UTC (rev 
18350)
+++ trunk/bibdesk/BDSKErrorObjectController.h   2012-01-02 18:29:45 UTC (rev 
18351)
@@ -69,9 +69,6 @@
 - (void)addManager:(BDSKErrorManager *)manager;
 - (void)removeManager:(BDSKErrorManager *)manager;
 
-- (BDSKErrorEditor *)editorForDocument:(BibDocument *)document;
-- (BDSKErrorEditor *)editorForPasteDragData:(NSData *)data 
document:(BibDocument *)document;
-
 // called from the tableView doubleclick
 - (void)showEditorForErrorObject:(BDSKErrorObject *)errObj;
 // called to edit a failed paste/drag

Modified: trunk/bibdesk/BDSKErrorObjectController.m
===================================================================
--- trunk/bibdesk/BDSKErrorObjectController.m   2012-01-02 18:09:43 UTC (rev 
18350)
+++ trunk/bibdesk/BDSKErrorObjectController.m   2012-01-02 18:29:45 UTC (rev 
18351)
@@ -177,10 +177,14 @@
     [self removeObjectFromManagersAtIndex:[managers indexOfObject:manager]];
 }
 
-#pragma mark Getting managers and editors
+#pragma mark Getting editors
 
-- (BDSKErrorManager *)managerForDocument:(BibDocument *)document{
+- (BDSKErrorEditor *)editorForDocument:(BibDocument *)document 
pasteDragData:(NSData *)data{
+    BDSKASSERT(document != nil);
+    
+    BDSKErrorEditor *editor = nil;
     BDSKErrorManager *manager = nil;
+    
     for (manager in managers) {
         if(document == [manager sourceDocument])
             break;
@@ -192,34 +196,22 @@
         [manager release];
     }
     
-    return manager;
-}
-
-- (BDSKErrorEditor *)editorForDocument:(BibDocument *)document{
-    BDSKErrorManager *manager = [self managerForDocument:document];
-    BDSKErrorEditor *editor = [manager mainEditor];
-    
-    if (editor == nil) {
-        editor = [(BDSKErrorEditor *)[BDSKErrorEditor alloc] 
initWithFileName:[[document fileURL] path]];
+    if (data) {
+        editor = [[BDSKErrorEditor alloc] initWithPasteDragData:data];
         [manager addEditor:editor];
         [editor release];
+    } else {
+        editor = [manager mainEditor];
+        if (editor == nil) {
+            editor = [(BDSKErrorEditor *)[BDSKErrorEditor alloc] 
initWithFileName:[[document fileURL] path]];
+            [manager addEditor:editor];
+            [editor release];
+        }
     }
     
     return editor;
 }
 
-- (BDSKErrorEditor *)editorForPasteDragData:(NSData *)data 
document:(BibDocument *)document{
-    BDSKASSERT(document != nil);
-    
-    BDSKErrorManager *manager = [self managerForDocument:document];
-    
-    BDSKErrorEditor *editor = [[BDSKErrorEditor alloc] 
initWithPasteDragData:data];
-    [manager addEditor:editor];
-    [editor release];
-    
-    return editor;
-}
-
 // double click in the error tableview
 - (void)showEditorForErrorObject:(BDSKErrorObject *)errObj{
     NSString *fileName = [errObj fileName];
@@ -367,8 +359,7 @@
 - (void)endObservingErrorsForDocument:(BibDocument *)document 
pasteDragData:(NSData *)data {
     if([currentErrors count]){
         if(document != nil){ // this should happen only for temporary author 
objects, which we ignore as they don't belong to any document
-            id editor = data ? [self editorForPasteDragData:data 
document:document] : [self editorForDocument:document];
-            [currentErrors setValue:editor forKey:@"editor"];
+            [currentErrors setValue:[self editorForDocument:document 
pasteDragData:data] forKey:@"editor"];
             [[self mutableArrayValueForKey:@"errors"] 
addObjectsFromArray:currentErrors];
             if([self isWindowVisible] == NO && (handledNonIgnorableError || 
[[NSUserDefaults standardUserDefaults] boolForKey:BDSKShowWarningsKey]))
                 [self showWindow:self];

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


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to