aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPNotificationsPreferencePane.m
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2010-11-03 14:49:58 +0000
committerstuconnolly <stuart02@gmail.com>2010-11-03 14:49:58 +0000
commit14cab5efffa90887562c18517bff68b2ec97d4bd (patch)
treef5ab52406b4c508d776d157c4df6376c03d5c530 /Source/SPNotificationsPreferencePane.m
parent6d5927b835706d28ee8ec24254d7b5c19bf6e5fe (diff)
downloadsequelpro-14cab5efffa90887562c18517bff68b2ec97d4bd.tar.gz
sequelpro-14cab5efffa90887562c18517bff68b2ec97d4bd.tar.bz2
sequelpro-14cab5efffa90887562c18517bff68b2ec97d4bd.zip
Rearchitect preferences, including:
- Split each preference pane into their own controller (subclass of SPPreferencePane, which is a subclass of NSViewController). - Each preference pane controller conforms to the protocol SPPreferencePaneProtocol to allow the main preference controller to build the toolbar. - Move the preferences upgrade function to it's own file. - Add SPFontPreviewTextField which is based on Colloquy's JVFontPreviewField to allow previewing of the selected font in the tables and editor preference panes. - Update localisable strings files.
Diffstat (limited to 'Source/SPNotificationsPreferencePane.m')
-rw-r--r--Source/SPNotificationsPreferencePane.m88
1 files changed, 88 insertions, 0 deletions
diff --git a/Source/SPNotificationsPreferencePane.m b/Source/SPNotificationsPreferencePane.m
new file mode 100644
index 00000000..1be4fcdf
--- /dev/null
+++ b/Source/SPNotificationsPreferencePane.m
@@ -0,0 +1,88 @@
+//
+// $Id$
+//
+// SPNotificationsPreferencePane.m
+// sequel-pro
+//
+// Created by Stuart Connolly (stuconnolly.com) on October 31, 2010
+// Copyright (c) 2010 Stuart Connolly. All rights reserved.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// More info at <http://code.google.com/p/sequel-pro/>
+
+#import "SPNotificationsPreferencePane.h"
+
+@implementation SPNotificationsPreferencePane
+
+#pragma mark -
+#pragma mark Bindings
+
+/**
+ * Displays an informational message regarding Growl notifications if enabled.
+ */
+- (void)setGrowlEnabled:(BOOL)value
+{
+ if (value) {
+ NSBeginInformationalAlertSheet(NSLocalizedString(@"Growl notification preferences", "Growl notification preferences alert title"),
+ nil, nil, nil, [[self view] window], self, nil, nil, nil,
+ NSLocalizedString(@"All Growl notifications are enabled by default. To change which notifications are displayed, go to the Growl Preference Pane in the System Preferences and choose what notifications Growl should display from Sequel Pro.", @"Growl notification preferences alert message"));
+ }
+
+ [prefs setBool:value forKey:SPGrowlEnabled];
+}
+
+/**
+ * Returns the user's Growl notifications preference.
+ */
+- (BOOL)growlEnabled
+{
+ return [prefs boolForKey:SPGrowlEnabled];
+}
+
+#pragma mark -
+#pragma mark Preference pane protocol methods
+
+- (NSView *)preferencePaneView
+{
+ return [self view];
+}
+
+- (NSImage *)preferencePaneIcon
+{
+ return [NSImage imageNamed:@"toolbar-preferences-notifications"];
+}
+
+- (NSString *)preferencePaneName
+{
+ return NSLocalizedString(@"Alerts & Logs", @"notifications preference pane name");
+}
+
+- (NSString *)preferencePaneIdentifier
+{
+ return SPPreferenceToolbarNotifications;
+}
+
+- (NSString *)preferencePaneToolTip
+{
+ return NSLocalizedString(@"Alerts & Logs Preferences", @"notifications preference pane tooltip");
+}
+
+- (BOOL)preferencePaneAllowsResizing
+{
+ return NO;
+}
+
+@end