Gui/SettingsController.m

00001 //
00002 //  SettingsController.m
00003 //  MacTrek
00004 //
00005 //  Created by Aqua on 26/05/2006.
00006 //  Copyright 2006 Luky Soft. All rights reserved.
00007 //
00008 
00009 #import "SettingsController.h"
00010 
00011 
00012 @implementation SettingsController
00013 
00014 - (void) awakeFromNib {
00015     [notificationCenter addObserver:self selector:@selector(saveSettings) name:@"MC_LEAVING_SETTINGS"];
00016     [self setPreviousValues];
00017 }
00018 
00019 - (void) setPreviousValues {
00020     LLPersistantSettings *settings = [LLPersistantSettings defaultSettings];
00021     
00022     NSNumber *val;
00023     
00024     val = [settings valueForKey:@"MUSIC_LEVEL"];
00025     if (val != nil) {
00026         [musicLevel setFloatValue:[val floatValue]];
00027     }
00028     val = [settings valueForKey:@"FX_LEVEL"];
00029     if (val != nil) {
00030         [fxLevel setFloatValue:[val floatValue]];
00031     }
00032     val = [settings valueForKey:@"VOICE_OVER"];
00033     if (val != nil) {
00034         if ([val boolValue]) {
00035            [voiceOver setState:NSOnState];   
00036         } else {
00037             [voiceOver setState:NSOffState];
00038         }        
00039     }
00040     val = [settings valueForKey:@"THEME"];
00041     if (val != nil) {
00042         [graphicsModel setSelectedSegment:[val intValue]];
00043     }
00044 }
00045 
00046 - (void) saveSettings {
00047     
00048     LLPersistantSettings *settings = [LLPersistantSettings defaultSettings];
00049     
00050     [settings setLazyValue:[NSNumber numberWithFloat:[self musicLevel]] forKey:@"MUSIC_LEVEL"];
00051     [settings setLazyValue:[NSNumber numberWithFloat:[self fxLevel]] forKey:@"FX_LEVEL"];
00052     [settings setLazyValue:[NSNumber numberWithBool:[self voiceEnabled]] forKey:@"VOICE_OVER"];
00053     [settings setLazyValue:[NSNumber numberWithInt:[self graphicsModel]] forKey:@"THEME"];    
00054     [settings update];
00055 }
00056 
00057 - (float)  musicLevel {
00058     return [musicLevel floatValue];
00059 }
00060 
00061 - (float)  fxLevel {
00062     return [fxLevel floatValue];
00063 }
00064 
00065 - (bool) soundEnabled {
00066     if (([musicLevel intValue] > 0) ||  ([fxLevel intValue] > 0)) {
00067         return YES;
00068     } else {
00069         return NO;
00070     }
00071 }
00072 
00073 - (bool) voiceEnabled {
00074     return ([voiceOver state] == NSOnState);
00075 }
00076 
00077 - (int)  graphicsModel {
00078     return [graphicsModel selectedSegment];
00079 }
00080 
00081 @end

Generated on Sat Aug 26 21:14:15 2006 for MacTrek by  doxygen 1.4.7