Revision: 29062
http://sourceforge.net/p/bibdesk/svn/29062
Author: hofman
Date: 2025-02-24 17:41:50 +0000 (Mon, 24 Feb 2025)
Log Message:
-----------
Improve nullability for error management objects
Modified Paths:
--------------
trunk/bibdesk/BDSKErrorManager.h
trunk/bibdesk/BDSKErrorManager.m
trunk/bibdesk/BDSKErrorObject.h
Modified: trunk/bibdesk/BDSKErrorManager.h
===================================================================
--- trunk/bibdesk/BDSKErrorManager.h 2025-02-24 16:42:10 UTC (rev 29061)
+++ trunk/bibdesk/BDSKErrorManager.h 2025-02-24 17:41:50 UTC (rev 29062)
@@ -52,21 +52,17 @@
NSInteger uniqueNumber;
}
-@property (class, nonatomic, nullable, readonly) BDSKErrorManager
*allItemsErrorManager;
+@property (class, nonatomic, readonly) BDSKErrorManager *allItemsErrorManager;
-- (instancetype)initWithDocument:(nullable BibDocument *)aDocument;
+- (instancetype)initWithDocument:(BibDocument *)aDocument;
@property (nonatomic, nullable, weak) BDSKErrorObjectController
*errorController;
@property (nonatomic, nullable, strong) BibDocument *sourceDocument;
-@property (nonatomic, readonly) NSInteger uniqueNumber;
-@property (nonatomic, nullable, strong) NSString *documentDisplayName;
-@property (nonatomic, nullable, readonly) NSString *displayName;
+@property (nonatomic, readonly) NSString *displayName;
@property (nonatomic, readonly) NSStringEncoding documentStringEncoding;
-- (void)updateDisplayName;
-
@property (nonatomic, nullable, readonly) BDSKErrorEditor *mainEditor;
@property (nonatomic, readonly) NSArray *editors;
Modified: trunk/bibdesk/BDSKErrorManager.m
===================================================================
--- trunk/bibdesk/BDSKErrorManager.m 2025-02-24 16:42:10 UTC (rev 29061)
+++ trunk/bibdesk/BDSKErrorManager.m 2025-02-24 17:41:50 UTC (rev 29062)
@@ -46,6 +46,16 @@
static char BDSKErrorManagerObservationContext;
+
+@interface BDSKErrorManager ()
+
+@property (nonatomic, strong) NSString *documentDisplayName;
+@property (nonatomic, readonly) NSInteger uniqueNumber;
+
+- (void)updateDisplayName;
+
+@end
+
@implementation BDSKErrorManager
@synthesize errorController, sourceDocument=document, uniqueNumber,
documentDisplayName, mainEditor, editors;
@@ -67,14 +77,21 @@
errorController = nil;
editors = [[NSMutableArray alloc] initWithCapacity:3];
[self setSourceDocument:aDocument];
- documentStringEncoding = aDocument ? [aDocument
documentStringEncoding] : [NSString defaultCStringEncoding];
+ documentStringEncoding = [aDocument documentStringEncoding];
}
return self;
}
+// should be used only for allItemsErrorManager
- (instancetype)init;
{
- return [self initWithDocument:nil];
+ if(self = [super init]){
+ errorController = nil;
+ editors = [[NSMutableArray alloc] init];
+ documentDisplayName = NSLocalizedString(@"All", @"Popup menu item for
error window");
+ documentStringEncoding = [NSString defaultCStringEncoding];
+ }
+ return self;
}
- (void)dealloc;
@@ -110,13 +127,6 @@
}
}
-- (void)setDocumentDisplayName:(NSString *)newName;
-{
- if(newName != documentDisplayName){
- documentDisplayName = newName;
- }
-}
-
- (NSString *)displayName;
{
return (uniqueNumber == 0) ? documentDisplayName : [NSString
stringWithFormat:@"%@ (%ld)", documentDisplayName, (long)uniqueNumber];
Modified: trunk/bibdesk/BDSKErrorObject.h
===================================================================
--- trunk/bibdesk/BDSKErrorObject.h 2025-02-24 16:42:10 UTC (rev 29061)
+++ trunk/bibdesk/BDSKErrorObject.h 2025-02-24 17:41:50 UTC (rev 29062)
@@ -43,7 +43,7 @@
@class BDSKErrorEditor, BibItem;
@interface BDSKErrorObject : NSObject <NSCopying> {
- BDSKErrorEditor *editor;
+ __weak BDSKErrorEditor *editor;
BibItem *publication;
NSString *fileName;
@@ -64,7 +64,7 @@
@property (nonatomic, readonly) NSString *errorClassName;
@property (nonatomic, readonly) NSString *errorMessage;
@property (nonatomic, readonly, getter=isIgnorableWarning) BOOL
ignorableWarning;
-@property (nonatomic, strong) BDSKErrorEditor *editor;
+@property (nonatomic, nullable, weak) BDSKErrorEditor *editor;
@property (nonatomic, nullable, strong) BibItem *publication;
@end
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