3 * The Cheat - The legendary universal game trainer for Mac OS X.
4 * http://www.brokenzipper.com/trac/wiki/TheCheat
6 * Copyright (c) 2003-2011, Charles McGarvey et al.
8 * Distributable under the terms and conditions of the 2-clause BSD
9 * license; see the file COPYING for the legal text of the license.
12 #import "GeneralPrefs.h"
15 @implementation GeneralPrefs
21 [ibWindowOrderButton setState
:[[NSUserDefaults standardUserDefaults
] boolForKey
:TCWindowsOnTopPref
]];
22 [ibAskForSaveButton setState
:[[NSUserDefaults standardUserDefaults
] boolForKey
:TCAskForSavePref
]];
23 if ( [[NSUserDefaults standardUserDefaults
] floatForKey
:TCFadeAnimationPref
] > 0.0 ) {
24 [ibFadeSmoothlyButton setState
:NSOnState
];
27 [ibFadeSmoothlyButton setState
:NSOffState
];
29 [ibDisplayValuesButton setState
:[[NSUserDefaults standardUserDefaults
] boolForKey
:TCDisplayValuesPref
]];
30 [ibValueUpdateField setFloatValue
:[[NSUserDefaults standardUserDefaults
] floatForKey
:TCValueUpdatePref
]];
31 [ibValueUpdateField setEnabled
:[ibDisplayValuesButton state
]];
32 [ibResultsDisplayedField setIntValue
:[[NSUserDefaults standardUserDefaults
] integerForKey
:TCHitsDisplayedPref
]];
34 [ibSwitchVariablesButton setState
:[[NSUserDefaults standardUserDefaults
] boolForKey
:TCSwitchVariablesPref
]];
35 [ibStartEditingVarsButton setState
:[[NSUserDefaults standardUserDefaults
] boolForKey
:TCAutoStartEditingVarsPref
]];
36 [ibStartEditingVarsButton setEnabled
:[ibSwitchVariablesButton state
]];
40 - (IBAction
)ibWindowOrderButton
:(id)sender
42 BOOL pref
= [sender state
];
43 [[NSUserDefaults standardUserDefaults
] setBool
:pref forKey
:TCWindowsOnTopPref
];
44 // notify currently opened windows of the change
45 [[NSNotificationCenter defaultCenter
] postNotificationName
:TCWindowsOnTopChangedNote object
:[NSNumber numberWithBool
:pref
]];
48 - (IBAction
)ibSetAskForSave
:(id)sender
50 BOOL pref
= [sender state
];
51 [[NSUserDefaults standardUserDefaults
] setBool
:pref forKey
:TCAskForSavePref
];
54 - (IBAction
)ibSetFadeSmoothly
:(id)sender
58 if ( [sender state
] == NSOnState
) {
59 fade
= TCDefaultFadeAnimation
;
64 [[NSUserDefaults standardUserDefaults
] setFloat
:fade forKey
:TCFadeAnimationPref
];
65 gFadeAnimationDuration
= fade
;
68 - (IBAction
)ibDisplayValuesButton
:(id)sender
70 BOOL flag
= [ibDisplayValuesButton state
];
71 [[NSUserDefaults standardUserDefaults
] setBool
:flag forKey
:TCDisplayValuesPref
];
73 [ibValueUpdateField setEnabled
:flag
];
75 // notify currently opened windows of the change
76 [[NSNotificationCenter defaultCenter
] postNotificationName
:TCDisplayValuesChangedNote object
:nil];
79 - (IBAction
)ibSetValueUpdate
:(id)sender
81 float value
= [sender floatValue
];
85 [sender setFloatValue
:value
];
88 [[NSUserDefaults standardUserDefaults
] setFloat
:value forKey
:TCValueUpdatePref
];
90 // notify currently opened windows of the change
91 [[NSNotificationCenter defaultCenter
] postNotificationName
:TCDisplayValuesChangedNote object
:nil];
94 - (IBAction
)ibSetResultsDisplayed
:(id)sender
96 int value
= [ibResultsDisplayedField intValue
];
100 [ibResultsDisplayedField setIntValue
:value
];
103 [[NSUserDefaults standardUserDefaults
] setInteger
:value forKey
:TCHitsDisplayedPref
];
105 // notify currently opened windows of the change
106 [[NSNotificationCenter defaultCenter
] postNotificationName
:TCHitsDisplayedChangedNote object
:nil];
110 - (IBAction
)ibSwitchVariablesButton
:(id)sender
112 BOOL flag
= [ibSwitchVariablesButton state
];
113 [[NSUserDefaults standardUserDefaults
] setBool
:flag forKey
:TCSwitchVariablesPref
];
115 [ibStartEditingVarsButton setEnabled
:[ibSwitchVariablesButton state
]];
117 [ibStartEditingVarsButton setState
:NO
];
118 [[NSUserDefaults standardUserDefaults
] setBool
:NO forKey
:TCAutoStartEditingVarsPref
];
122 - (IBAction
)ibStartEditingVarsButton
:(id)sender
124 BOOL flag
= [ibStartEditingVarsButton state
];
125 [[NSUserDefaults standardUserDefaults
] setBool
:flag forKey
:TCAutoStartEditingVarsPref
];