Revision: 4124
http://skim-app.svn.sourceforge.net/skim-app/?rev=4124&view=rev
Author: hofman
Date: 2008-07-03 10:21:23 -0700 (Thu, 03 Jul 2008)
Log Message:
-----------
Implement singletons along the lines of the docs.
Modified Paths:
--------------
trunk/SKReleaseNotesController.h
trunk/SKReleaseNotesController.m
Modified: trunk/SKReleaseNotesController.h
===================================================================
--- trunk/SKReleaseNotesController.h 2008-07-03 17:14:41 UTC (rev 4123)
+++ trunk/SKReleaseNotesController.h 2008-07-03 17:21:23 UTC (rev 4124)
@@ -46,7 +46,6 @@
+ (id)sharedReleaseNotesController;
-- (void)displayAttributedString:(NSAttributedString *)attrString;
- (IBAction)download:(id)sender;
@end
Modified: trunk/SKReleaseNotesController.m
===================================================================
--- trunk/SKReleaseNotesController.m 2008-07-03 17:14:41 UTC (rev 4123)
+++ trunk/SKReleaseNotesController.m 2008-07-03 17:21:23 UTC (rev 4124)
@@ -37,11 +37,8 @@
*/
#import "SKReleaseNotesController.h"
-#include <sys/utsname.h>
-#define DOWNLOAD_URL @"http://skim-app.sourceforge.net/"
-
@implementation SKReleaseNotesController
static SKReleaseNotesController *sharedReleaseNotesController = nil;
@@ -52,32 +49,39 @@
return sharedReleaseNotesController;
}
-- (NSString *)windowNibName {
- return @"ReleaseNotes";
++ (id)sharedReleaseNotesController {
+ return sharedReleaseNotesController ? sharedReleaseNotesController :
[[self alloc] init];
}
-- (void)windowDidLoad {
- if(self == sharedReleaseNotesController){
- [[self window] setTitle:NSLocalizedString(@"Release Notes", "Window
title")];
- [textView setString:@""];
- [textView replaceCharactersInRange:[textView selectedRange]
- withRTF:[NSData
dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ReleaseNotes"
ofType:@"rtf"]]];
- } else {
- [[self window] setTitle:NSLocalizedString(@"Latest Release Notes",
@"Window title")];
- NSRect ignored, rect = [[textView enclosingScrollView] frame];
- NSDivideRect(rect, &ignored, &rect, 61.0, NSMinYEdge);
- [[textView enclosingScrollView] setFrame:rect];
- [downloadButton setHidden:NO];
++ (id)allocWithZone:(NSZone *)zone {
+ return sharedReleaseNotesController ? sharedReleaseNotesController :
[super allocWithZone:zone];
+}
+
+- (id)init {
+ if (sharedReleaseNotesController == nil) {
+ sharedReleaseNotesController = [super init];
}
+ return sharedReleaseNotesController;
}
-- (void)displayAttributedString:(NSAttributedString *)attrString {
- [self window];
- [[textView textStorage] setAttributedString:attrString];
+- (id)retain { return self; }
+
+- (id)autorelease { return self; }
+
+- (void)release {}
+
+- (unsigned)retainCount { return UINT_MAX; }
+
+- (NSString *)windowNibName {
+ return @"ReleaseNotes";
}
-- (IBAction)download:(id)sender {
- [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:DOWNLOAD_URL]];
+- (void)windowDidLoad {
+ [textView setString:@""];
+ [textView replaceCharactersInRange:[textView selectedRange]
+ withRTF:[NSData
dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ReleaseNotes"
ofType:@"rtf"]]];
}
+- (IBAction)download:(id)sender {}
+
@end
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit