aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPServerVariablesController.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/SPServerVariablesController.m')
-rw-r--r--Source/SPServerVariablesController.m30
1 files changed, 25 insertions, 5 deletions
diff --git a/Source/SPServerVariablesController.m b/Source/SPServerVariablesController.m
index d99f8671..86bce928 100644
--- a/Source/SPServerVariablesController.m
+++ b/Source/SPServerVariablesController.m
@@ -53,6 +53,8 @@
{
if ((self = [super initWithWindowNibName:@"DatabaseServerVariables"])) {
variables = [[NSMutableArray alloc] init];
+
+ prefs = [NSUserDefaults standardUserDefaults];
}
return self;
@@ -60,8 +62,6 @@
- (void)awakeFromNib
{
- prefs = [NSUserDefaults standardUserDefaults];
-
// Set the process table view's vertical gridlines if required
[variablesTableView setGridStyleMask:([prefs boolForKey:SPDisplayTableViewVerticalGridlines]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
@@ -74,8 +74,7 @@
[[column dataCell] setFont:useMonospacedFont ? [NSFont fontWithName:SPDefaultMonospacedFontName size:monospacedFontSize] : [NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
}
- // Register as an observer for the when the UseMonospacedFonts preference changes
- [prefs addObserver:self forKeyPath:SPUseMonospacedFonts options:NSKeyValueObservingOptionNew context:NULL];
+ [self _addPreferenceObservers];
}
#pragma mark -
@@ -371,11 +370,32 @@
}
}
+/**
+ * Add any necessary preference observers to allow live updating on changes.
+ */
+- (void)_addPreferenceObservers
+{
+ // Register as an observer for the when the UseMonospacedFonts preference changes
+ [prefs addObserver:self forKeyPath:SPUseMonospacedFonts options:NSKeyValueObservingOptionNew context:NULL];
+
+ // Register to obeserve table view vertical grid line pref changes
+ [prefs addObserver:self forKeyPath:SPDisplayTableViewVerticalGridlines options:NSKeyValueObservingOptionNew context:NULL];
+}
+
+/**
+ * Remove any previously added preference observers.
+ */
+- (void)_removePreferenceObservers
+{
+ [prefs removeObserver:self forKeyPath:SPUseMonospacedFonts];
+ [prefs removeObserver:self forKeyPath:SPDisplayTableViewVerticalGridlines];
+}
+
#pragma mark -
- (void)dealloc
{
- [prefs removeObserver:self forKeyPath:SPUseMonospacedFonts];
+ [self _removePreferenceObservers];
SPClear(variables);