aboutsummaryrefslogtreecommitdiffstats
path: root/NSUserDefaults+Moxie.m
diff options
context:
space:
mode:
Diffstat (limited to 'NSUserDefaults+Moxie.m')
-rw-r--r--NSUserDefaults+Moxie.m269
1 files changed, 269 insertions, 0 deletions
diff --git a/NSUserDefaults+Moxie.m b/NSUserDefaults+Moxie.m
new file mode 100644
index 0000000..1d3f609
--- /dev/null
+++ b/NSUserDefaults+Moxie.m
@@ -0,0 +1,269 @@
+//
+// NSUserDefaults+Moxie.m
+// Moxie
+//
+// Created by Brian Cully on Thu Jan 15 2004.
+// Copyright (c) 2004 Brian Cully. All rights reserved.
+//
+
+@implementation NSUserDefaults (MoxieDefaults)
+- (BOOL)startupShowWorldSelector
+{
+ if ([self objectForKey: @"startup.showWorldSelector"])
+ return [self boolForKey: @"startup.showWorldSelector"];
+ else
+ return NO;
+}
+
+- (BOOL)selectorIsFloating
+{
+ if ([self objectForKey: @"selector.alwaysOnTop"])
+ return [self boolForKey: @"selector.alwaysOnTop"];
+ else
+ return NO;
+}
+
+- (BOOL)selectorIsAlwaysVisible
+{
+ if ([self objectForKey: @"selector.alwaysVisible"])
+ return [self boolForKey: @"selector.alwaysVisible"];
+ else
+ return NO;
+}
+
+- (NSArray *)startupWorlds
+{
+ return [self arrayForKey: @"startup.worlds"];
+}
+
+- (void)setStartupWorlds: (NSArray *)someWorlds
+{
+ [self setObject: someWorlds forKey: @"startup.worlds"];
+}
+
+- (NSString *)logDirectory
+{
+ return [@"~/Documents/Moxie Transcripts/" stringByExpandingTildeInPath];
+}
+
+- (NSData *)connectedColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"selector.colorConnected"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject: [NSColor blackColor]];
+ return tmpData;
+}
+
+- (void)setConnectedColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"selector.colorConnected"];
+ else
+ [self setObject: colorData forKey: @"selector.colorConnected"];
+}
+
+- (NSData *)disconnectedColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"selector.colorDisconnected"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject: [NSColor blackColor]];
+ return tmpData;
+}
+
+- (void)setDisconnectedColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"selector.colorDisconnected"];
+ else
+ [self setObject: colorData forKey: @"selector.colorDisconnected"];
+}
+
+- (NSData *)recentActivityColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"selector.colorNewActivity"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject: [NSColor blackColor]];
+ return tmpData;
+}
+
+- (void)setRecentActivityColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"selector.colorNewActivity"];
+ else
+ [self setObject: colorData forKey: @"selector.colorNewActivity"];
+}
+
+- (NSData *)REPLInputTextColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"REPL.inputTextColor"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject:
+ [NSColor blackColor]];
+ return tmpData;
+}
+
+- (void)setREPLInputTextColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"REPL.inputTextColor"];
+ else
+ [self setObject: colorData forKey: @"REPL.inputTextColor"];
+}
+
+- (NSData *)REPLOutputTextColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"REPL.outputTextColor"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject:
+ [NSColor blackColor]];
+ return tmpData;
+}
+
+- (void)setREPLOutputTextColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"REPL.outputTextColor"];
+ else
+ [self setObject: colorData forKey: @"REPL.outputTextColor"];
+}
+
+- (NSData *)REPLPromptColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"REPL.promptColor"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject:
+ [NSColor blackColor]];
+ return tmpData;
+}
+
+- (void)setREPLPromptColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"REPL.promptColor"];
+ else
+ [self setObject: colorData forKey: @"REPL.promptColor"];
+}
+
+- (NSData *)REPLReturnValueColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"REPL.resultColor"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject:
+ [NSColor whiteColor]];
+ return tmpData;
+}
+
+- (void)setREPLReturnValueColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"REPL.resultColor"];
+ else
+ [self setObject: colorData forKey: @"REPL.resultColor"];
+}
+
+- (NSData *)REPLBackgroundColorData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"REPL.backgroundColor"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject:
+ [NSColor whiteColor]];
+ return tmpData;
+}
+
+- (void)setREPLBackgroundColorData: (NSData *)colorData
+{
+ if (colorData == nil)
+ [self removeObjectForKey: @"REPL.backgroundColor"];
+ else
+ [self setObject: colorData forKey: @"REPL.backgroundColor"];
+}
+
+- (NSData *)REPLFontData
+{
+ NSData *tmpData;
+
+ tmpData = [self dataForKey: @"REPL.font"];
+ if (tmpData == nil)
+ tmpData = [NSArchiver archivedDataWithRootObject:
+ [NSFont userFixedPitchFontOfSize: 0]];
+ return tmpData;
+}
+
+- (void)setREPLFontData: (NSData *)fontData;
+{
+ if (fontData == nil)
+ [self removeObjectForKey: @"REPL.font"];
+ else
+ [self setObject: fontData forKey: @"REPL.font"];
+}
+@end
+
+@implementation NSUserDefaults (MoxieTranslators)
+- (NSColor *)recentActivityColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self recentActivityColorData]];
+}
+
+- (NSColor *)connectedColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self connectedColorData]];
+}
+
+- (NSColor *)disconnectedColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self disconnectedColorData]];
+}
+
+- (NSColor *)REPLInputTextColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self REPLInputTextColorData]];
+}
+
+- (NSColor *)REPLOutputTextColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self REPLOutputTextColorData]];
+}
+
+- (NSColor *)REPLPromptColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self REPLPromptColorData]];
+}
+
+- (NSColor *)REPLReturnValueColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self REPLReturnValueColorData]];
+}
+
+- (NSColor *)REPLBackgroundColor
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self REPLBackgroundColorData]];
+}
+
+- (NSFont *)REPLFont
+{
+ return [NSUnarchiver unarchiveObjectWithData: [self REPLFontData]];
+}
+
+- (NSString *)REPLFontName
+{
+ return [NSString stringWithFormat: @"%@ %0.1f", [[self REPLFont] fontName],
+ [[self REPLFont] pointSize]];
+}
+@end \ No newline at end of file