X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fthecheat;a=blobdiff_plain;f=PreferenceController.m;fp=PreferenceController.m;h=fe178fb4b62a3f89a5ddac19585e9a9814d9bb7a;hp=0000000000000000000000000000000000000000;hb=42cf7bbe564d70233a0d73baee613f209eb00eb6;hpb=2d60a59a8ad195dd0af8f90c8d5b74a69ce7f4fa diff --git a/PreferenceController.m b/PreferenceController.m new file mode 100644 index 0000000..fe178fb --- /dev/null +++ b/PreferenceController.m @@ -0,0 +1,127 @@ + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Project: The Cheat +// +// File: PreferenceController.m +// Created: Wed Sep 24 2003 +// +// Copyright: 2003 Chaz McGarvey. All rights reserved. +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#import "PreferenceController.h" + + +@implementation PreferenceController + + +- (id)initWithDelegate:(id)del +{ + if ( self = [super initWithWindowNibName:@"Preferences"] ) + { + [self setWindowFrameAutosaveName:@"TCPreferencWindowPosition"]; + + delegate = del; + } + + return self; +} + +- (void)windowDidLoad +{ + [self initialInterfaceSetup]; + [self interfaceUpdate]; +} + + +- (void)initialInterfaceSetup +{ + [playSoundsButton setState:(TCGlobalPlaySounds)? NSOnState:NSOffState]; + [windowsOnTopButton setState:(TCGlobalWindowsOnTop)? NSOnState:NSOffState]; + [allowRemoteButton setState:(TCGlobalAllowRemote)? NSOnState:NSOffState]; + [listenPortTextField setIntValue:TCGlobalListenPort]; + [broadcastNameTextField setStringValue:[[NSUserDefaults standardUserDefaults] objectForKey:TCBroadcastNamePref]]; +} + +- (void)interfaceUpdate +{ + if ( TCGlobalAllowRemote ) + { + [listenPortTextField setEnabled:YES]; + [broadcastNameTextField setEnabled:YES]; + } + else + { + [listenPortTextField setEnabled:NO]; + [broadcastNameTextField setEnabled:NO]; + } +} + + +- (IBAction)playSoundsButton:(id)sender +{ + if ( [playSoundsButton state] == NSOnState ) + { + TCGlobalPlaySounds = YES; + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:TCPlaySoundsPref]; + } + else + { + TCGlobalPlaySounds = NO; + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:TCPlaySoundsPref]; + } +} + +- (IBAction)windowsOnTopButton:(id)sender +{ + if ( [windowsOnTopButton state] == NSOnState ) + { + TCGlobalWindowsOnTop = YES; + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:TCWindowsOnTopPref]; + } + else + { + TCGlobalWindowsOnTop = NO; + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:TCWindowsOnTopPref]; + } + + [[NSNotificationCenter defaultCenter] postNotificationName:@"TCWindowsOnTopChanged" object:nil]; +} + +- (IBAction)allowRemoteButton:(id)sender +{ + if ( [allowRemoteButton state] == NSOnState ) + { + TCGlobalAllowRemote = YES; + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:TCAllowRemotePref]; + } + else + { + TCGlobalAllowRemote = NO; + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:TCAllowRemotePref]; + } + + [self interfaceUpdate]; + + [delegate preferenceAllowRemoteChanged:TCGlobalAllowRemote]; +} + +- (IBAction)listenPortTextField:(id)sender +{ + TCGlobalListenPort = [listenPortTextField intValue]; + + [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:TCGlobalListenPort] forKey:TCListenPortPref]; + + [delegate preferenceListenPortChanged:TCGlobalListenPort]; +} + +- (IBAction)broadcastNameTextField:(id)sender +{ + NSString *name = [broadcastNameTextField stringValue]; + + [[NSUserDefaults standardUserDefaults] setObject:name forKey:TCBroadcastNamePref]; + + [delegate preferenceBroadcastNameChanged:name]; +} + + +@end \ No newline at end of file