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