cocoaTouch/SettingsViewController.m
changeset 3312 6d8f1c76756d
parent 3311 18436bb84bfe
child 3313 fbf59d08a395
--- a/cocoaTouch/SettingsViewController.m	Tue Apr 06 14:32:26 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +0,0 @@
-//
-//  SettingsViewController.m
-//  hwengine
-//
-//  Created by Vittorio on 08/01/10.
-//  Copyright 2010 __MyCompanyName__. All rights reserved.
-//
-
-#import "SettingsViewController.h"
-#import "SDL_uikitappdelegate.h"
-
-@implementation SettingsViewController
-
-@synthesize username, password, musicSwitch, soundsSwitch, altDamageSwitch, 
-	    settingsTable, buttonContainer, parentView;
-
-
--(void) loadView {
-	self.musicSwitch = [[UISwitch alloc] init];
-	self.soundsSwitch = [[UISwitch alloc] init];
-	self.altDamageSwitch = [[UISwitch alloc] init];
-	[self.soundsSwitch addTarget:self action:@selector(sameValueSwitch) forControlEvents:UIControlEventValueChanged];
-	[self.musicSwitch addTarget:self action:@selector(checkValueSwitch) forControlEvents:UIControlEventValueChanged];
-
-	[super loadView];
-}
-
--(void) viewDidLoad {
-	NSString *filePath = [[SDLUIKitDelegate sharedAppDelegate] dataFilePath:@"settings.plist"];
-	
-	if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {	
-		NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
-		username.text = [data objectForKey:@"username"];
-		password.text = [data objectForKey:@"password"];
-		if (1 == [[data objectForKey:@"music"] intValue]) {
-			musicSwitch.on = YES;
-		} else {
-			musicSwitch.on = NO;
-		}
-		if (1 == [[data objectForKey:@"sounds"] intValue]) {
-			soundsSwitch.on = YES;
-		} else {
-			soundsSwitch.on = NO;
-		}
-		if (1 == [[data objectForKey:@"alternate"] intValue]) {
-			altDamageSwitch.on = YES;
-		} else {
-			altDamageSwitch.on = NO;
-		}		
-		[data release];
-	} else {
-		[NSException raise:@"File NOT found" format:@"The file settings.plist was not found at %@", filePath];
-	}
-	
-	
-	username.textColor = [UIColor grayColor];
-	password.textColor = [UIColor grayColor];
-	settingsTable.backgroundColor = [UIColor clearColor];
-	settingsTable.allowsSelection = NO;
-	buttonContainer.backgroundColor = [UIColor clearColor];
-	settingsTable.tableFooterView = buttonContainer;
-	
-	[super viewDidLoad];
-}
-
--(void) viewDidUnload {
-	self.username = nil;
-	self.password = nil;
-	self.musicSwitch = nil;
-	self.soundsSwitch = nil;
-	self.altDamageSwitch = nil;
-	self.settingsTable = nil;
-	self.buttonContainer = nil;
-	[super viewDidUnload];
-}
-
--(void) dealloc {
-	[username release];
-	[password release];
-	[musicSwitch release];
-	[soundsSwitch release];
-	[altDamageSwitch release];
-	[settingsTable release];
-	[buttonContainer release];
-	[super dealloc];
-}
-
-// Override to allow orientations other than the default portrait orientation.
-- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
-    // Return YES for supported orientations
-    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
-}
-
-// makes the keyboard go away when background is tapped
--(IBAction) backgroundTap: (id)sender {
-	[username resignFirstResponder];
-	[password resignFirstResponder];
-}
-
-// makes the keyboard go away when "Done" is tapped
--(IBAction) textFieldDoneEditing: (id)sender {
-	[sender resignFirstResponder];
-}
-
-// set music off when sound is turned off
--(void) sameValueSwitch {
-	if (YES == self.musicSwitch.on) {
-		[musicSwitch setOn:NO animated:YES];
-	}
-}
-
-// don't enable music when sound is off
--(void) checkValueSwitch {
-	if (NO == self.soundsSwitch.on) {
-		[musicSwitch setOn:!musicSwitch.on animated:YES];
-	}
-}
-
-#pragma mark -
-#pragma mark Return to mainView
--(void) flushData {
-	NSLog(@"writing preferences to file");
-
-	NSMutableDictionary *saveDict = [[NSMutableDictionary alloc] init];
-	NSString *tmpMus = (musicSwitch.on) ? @"1" : @"0";
-	NSString *tmpEff = (soundsSwitch.on) ? @"1" : @"0";
-	NSString *tmpAlt = (altDamageSwitch.on) ? @"1" : @"0";
-	
-	[saveDict setObject:username.text forKey:@"username"];
-	[saveDict setObject:password.text forKey:@"password"];
-	[saveDict setObject:tmpMus forKey:@"music"];
-	[saveDict setObject:tmpEff forKey:@"sounds"];
-	[saveDict setObject:tmpAlt forKey:@"alternate"];
-	
-	[saveDict writeToFile:[[SDLUIKitDelegate sharedAppDelegate] dataFilePath:@"settings.plist"] atomically:YES];
-	[saveDict release];
-}
-
--(void) returnMainView {
-	[self flushData];
-    //[self dismissModalViewControllerAnimated:YES]
-
-	[UIView beginAnimations:@"Get Back" context:NULL];
-	[UIView setAnimationDuration:1];
-	
-	self.view.frame = CGRectMake(0, -257, 480, 278);
-	self.parentView.frame = CGRectMake(0, 21, 480, 278);
-	[UIView commitAnimations];
-	
-	[self.view performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:1];
-	self.parentView = nil;
-}
-
-#pragma mark -
-#pragma mark UIActionSheet Methods
--(IBAction) deleteData: (id)sender {
-	/* temporary commented out
-	UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:NSLocalizedString(@"Are you reeeeeally sure?", @"")
-								 delegate:self
-							cancelButtonTitle:NSLocalizedString(@"Well, maybe not...", @"")
-						   destructiveButtonTitle:NSLocalizedString(@"As sure as I can be!", @"")
-							otherButtonTitles:nil];
-	[actionSheet showInView:self.view];
-	[actionSheet release];
-	 */
-	[self returnMainView];
-}
-
--(void) actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger) buttonIndex {
-	if ([actionSheet cancelButtonIndex] != buttonIndex) {
-		// get the documents dirctory
-		NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
-		NSString *documentsDirectory = [paths objectAtIndex:0];
-		
-		// get the content of the directory
-		NSFileManager *fm = [NSFileManager defaultManager];
-		NSArray *dirContent = [fm directoryContentsAtPath:documentsDirectory];
-		NSError *error;
-		
-		// delete data
-		for (NSString *fileName in dirContent) {
-			[fm removeItemAtPath:[documentsDirectory stringByAppendingPathComponent:fileName] error:&error];
-		}
-		
-		// force resetting
-		UIAlertView *anAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Hit Home Button to Exit", @"")
-								  message:NSLocalizedString(@"\nEverything is gone!\nNow you need to restart the game...", @"")
-								 delegate:self
-							cancelButtonTitle:nil
-							otherButtonTitles:nil];
-		[anAlert show];
-		[anAlert release];
-	}
-}
-
-#pragma mark -
-#pragma mark TableView Methods
-#define kNetworkFields 0
-#define kAudioFields 1
-#define kOtherFields 2
-
--(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
-	return 3;
-}
-
--(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
-	switch (section) {
-		case kNetworkFields:
-			return 2;
-			break;
-		case kAudioFields:
-			return 2;
-			break;
-		case kOtherFields:
-			return 1;
-			break;
-		default:
-			NSLog(@"Warning: unset case value for numberOfRowsInSection!");
-			break;
-	}
-	return 0;
-}
-
--(UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
-	static NSString *cellIdentifier = @"systemSettingsCell";
-	
-	UITableViewCell *cell;
-	if ( !(kAudioFields == [indexPath section] && 2 == [indexPath row]) ){
-		cell = [aTableView dequeueReusableCellWithIdentifier:cellIdentifier];
-		if (nil == cell) {
-			cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
-						       reuseIdentifier:cellIdentifier] autorelease];
-		}
-	}
-	
-	switch ([indexPath section]) {
-		case kNetworkFields:
-			switch ([indexPath row]) {
-				case 0:
-					cell.textLabel.text = NSLocalizedString(@"Nickname", @"");
-					cell.accessoryView = username;
-					break;
-				case 1:
-					cell.textLabel.text = NSLocalizedString(@"Password", @"");
-					cell.accessoryView = password;
-					break;
-				default:
-					NSLog(@"Warning: unset case value in kNetworkFields section!");
-					break;
-			}
-			break;
-		case kAudioFields:
-			switch ([indexPath row]) {
-				case 0:
-					cell.accessoryView = soundsSwitch;
-					cell.textLabel.text = NSLocalizedString(@"Sound", @"");
-					break;
-				case 1:
-					cell.accessoryView = musicSwitch;
-					cell.textLabel.text = NSLocalizedString(@"Music", @"");
-					break;
-				default:
-					NSLog(@"Warning: unset case value in kAudioFields section!");
-					break;
-			}
-			break;
-		case kOtherFields:
-			cell.accessoryView = altDamageSwitch;
-			cell.textLabel.text = NSLocalizedString(@"Alternate Damage", @"");
-			break;
-		default:
-			break;
-	}
-	
-	return cell;
-}
-
--(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
-	UIView *containerView =	[[[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 50)] autorelease];
-	UILabel *headerLabel = [[[UILabel alloc] initWithFrame:CGRectMake(10, 20, 300, 40)] autorelease];
-	headerLabel.textColor = [UIColor lightGrayColor];
-	headerLabel.shadowColor = [UIColor blackColor];
-	headerLabel.shadowOffset = CGSizeMake(0, 1);
-	headerLabel.font = [UIFont boldSystemFontOfSize:20];
-	headerLabel.backgroundColor = [UIColor clearColor];
-
-	switch (section) {
-		case kNetworkFields:
-			headerLabel.text = NSLocalizedString(@"Network Configuration", @"");
-			break;
-		case kAudioFields:
-			headerLabel.text = NSLocalizedString(@"Audio Preferences", @"");
-			break;
-		case kOtherFields:
-			headerLabel.text = NSLocalizedString(@"Other Settings", @"");
-			break;
-		default:
-			NSLog(@"Warning: unset case value in titleForHeaderInSection!");
-			headerLabel.text = @"!";
-			break;
-	}
-	
-	[containerView addSubview:headerLabel];
-	return containerView;
-}
-
-/*
--(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
-	if (kAudioFields == [indexPath section] && 2 == [indexPath row])
-		return volumeCell.frame.size.height;
-	else
-		return table.rowHeight;
-}
-*/
-
--(CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
-	return 57.0;
-}
-
-@end