/* Copyright (c) 2004, Noah Sorscher
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * 	• 	Redistributions of source code must retain the above copyright
 * 	notice, this list of conditions and the following disclaimer.
 * 	• 	Redistributions in binary form must reproduce the above copyright
 * 	notice, this list of conditions and the following disclaimer in the
 * 	documentation and/or other materials provided with the distribution.
 * 	• 	Neither the name of the Noah Sorscher nor the names of its
 * 	contributors may be used to endorse or promote products derived from
 * 	this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 * THE POSSIBILITY OF SUCH DAMAGE.
 */
//
//  cPrefs.m
//  Hootenanny
//
//  Created by Noah Sorscher on Sun Dec 07 2003.
//  Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//

#import "cPrefs.h"


@implementation cPrefs

- (IBAction)savePrefs:(id)sender
{
    int i, n = [boolKeys count];
    for (i=0;i<n;i++)
        [defs setBool:[[boolButtons objectAtIndex:i] state] forKey:[boolKeys objectAtIndex:i]];
    [defs synchronize];
}

- (void) awakeFromNib
{
    //NSLog(@"cPrefs");
    boolKeys = [NSArray arrayWithObjects:@"allowEditTimes", @"scaleDownload", @"scaleDVD", @"scaleFile", nil];
    boolButtons = [NSArray arrayWithObjects:allowEditTimes, scaleDownload, scaleDVD, scaleFile, nil];
    defs = [NSUserDefaults standardUserDefaults];
    int i, n = [boolKeys count];
    for (i=0;i<n;i++)
        [[boolButtons objectAtIndex:i] setState:[defs boolForKey:[boolKeys objectAtIndex:i]]];
}

- (BOOL)boolForKey:(NSString *)key
{
    int i = [boolKeys indexOfObject:key];
    if (NSNotFound == i) return NO;
    return [[boolButtons objectAtIndex:i] state];
}

- (BOOL)settingForKey:(NSString *)key
{
    return [self boolForKey:key];
}

- (void)setBool:(BOOL)flag ForKey:(NSString *)key
{
    int i = [boolKeys indexOfObject:key];
    if (NSNotFound == i) return;
    [[boolButtons objectAtIndex:i] setState:flag];
}

@end
