aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/AMIndeterminateProgressIndicatorCell.h1
-rw-r--r--Source/CMCopyTable.m7
-rw-r--r--Source/CMTextView.h1
-rw-r--r--Source/CMTextView.m39
-rw-r--r--Source/CustomQuery.m75
-rw-r--r--Source/SPAppController.m15
-rw-r--r--Source/SPConnectionController.m31
-rw-r--r--Source/SPConstants.h110
-rw-r--r--Source/SPConstants.m93
-rw-r--r--Source/SPContentFilterManager.m25
-rw-r--r--Source/SPDataCellFormatter.m3
-rw-r--r--Source/SPExportController.m3
-rw-r--r--Source/SPFieldEditorController.m17
-rw-r--r--Source/SPGrowlController.m4
-rw-r--r--Source/SPNarrowDownCompletion.m3
-rw-r--r--Source/SPNotLoaded.h4
-rw-r--r--Source/SPOutlineView.h5
-rw-r--r--Source/SPOutlineView.m7
-rw-r--r--Source/SPPreferenceController.m117
-rw-r--r--Source/SPPrintAccessory.m2
-rw-r--r--Source/SPQueryController.h1
-rw-r--r--Source/SPQueryController.m42
-rw-r--r--Source/SPQueryFavoriteManager.m28
-rw-r--r--Source/SPSSHTunnel.m10
-rw-r--r--Source/SPTableData.m3
-rw-r--r--Source/SPTableView.m3
-rw-r--r--Source/SPTextViewAdditions.m5
-rw-r--r--Source/TableContent.m122
-rw-r--r--Source/TableDocument.m65
-rw-r--r--Source/TableDump.m31
-rw-r--r--Source/TableSource.m25
-rw-r--r--Source/TablesList.m7
-rw-r--r--sequel-pro.xcodeproj/project.pbxproj14
33 files changed, 566 insertions, 352 deletions
diff --git a/Source/AMIndeterminateProgressIndicatorCell.h b/Source/AMIndeterminateProgressIndicatorCell.h
index fc8b9311..04f7f13b 100644
--- a/Source/AMIndeterminateProgressIndicatorCell.h
+++ b/Source/AMIndeterminateProgressIndicatorCell.h
@@ -27,7 +27,6 @@
#import <Cocoa/Cocoa.h>
-
@interface AMIndeterminateProgressIndicatorCell : NSCell {
double doubleValue;
NSTimeInterval animationDelay;
diff --git a/Source/CMCopyTable.m b/Source/CMCopyTable.m
index c0197c0e..0c276b72 100644
--- a/Source/CMCopyTable.m
+++ b/Source/CMCopyTable.m
@@ -30,6 +30,7 @@
#import "TableContent.h"
#import "CustomQuery.h"
#import "SPNotLoaded.h"
+#import "SPConstants.h"
int MENU_EDIT_COPY_WITH_COLUMN = 2001;
int MENU_EDIT_COPY_AS_SQL = 2002;
@@ -133,7 +134,7 @@ int MENU_EDIT_COPY_AS_SQL = 2002;
if ( nil != rowData )
{
if ([rowData isNSNull])
- [result appendString:[NSString stringWithFormat:@"%@\t", [prefs objectForKey:@"NullValue"]]];
+ [result appendString:[NSString stringWithFormat:@"%@\t", [prefs objectForKey:SPNullValue]]];
else if ([rowData isSPNotLoaded])
[result appendString:[NSString stringWithFormat:@"%@\t", NSLocalizedString(@"(not loaded)", @"value shown for hidden blob and text fields")]];
else
@@ -268,7 +269,7 @@ int MENU_EDIT_COPY_AS_SQL = 2002;
}
break;
case 3: // long text data
- if (![[self delegate] isKindOfClass:[CustomQuery class]] && [prefs boolForKey:@"LoadBlobsAsNeeded"]) {
+ if (![[self delegate] isKindOfClass:[CustomQuery class]] && [prefs boolForKey:SPLoadBlobsAsNeeded]) {
// Abort if there are no indices on this table or if there's no table name given.
if (![[tableInstance argumentForRow:rowIndex] length] || selectedTable == nil)
@@ -371,7 +372,7 @@ int MENU_EDIT_COPY_AS_SQL = 2002;
if ( nil != rowData )
{
if ([rowData isNSNull])
- [result appendString:[NSString stringWithFormat:@"%@\t", [prefs objectForKey:@"NullValue"]]];
+ [result appendString:[NSString stringWithFormat:@"%@\t", [prefs objectForKey:SPNullValue]]];
else if ([rowData isSPNotLoaded])
[result appendString:[NSString stringWithFormat:@"%@\t", NSLocalizedString(@"(not loaded)", @"value shown for hidden blob and text fields")]];
else
diff --git a/Source/CMTextView.h b/Source/CMTextView.h
index a7766f39..ce064470 100644
--- a/Source/CMTextView.h
+++ b/Source/CMTextView.h
@@ -31,7 +31,6 @@
#define SP_TEXT_SIZE_TRIGGER_FOR_PARTLY_PARSING 10000
-
static inline void NSMutableAttributedStringAddAttributeValueRange (NSMutableAttributedString* self, NSString* aStr, id aValue, NSRange aRange) {
typedef void (*SPMutableAttributedStringAddAttributeValueRangeMethodPtr)(NSMutableAttributedString*, SEL, NSString*, id, NSRange);
static SPMutableAttributedStringAddAttributeValueRangeMethodPtr SPMutableAttributedStringAddAttributeValueRange;
diff --git a/Source/CMTextView.m b/Source/CMTextView.m
index 4cf7b155..ae526221 100644
--- a/Source/CMTextView.m
+++ b/Source/CMTextView.m
@@ -29,6 +29,7 @@
#import "SPArrayAdditions.h"
#import "SPTextViewAdditions.h"
#import "SPNarrowDownCompletion.h"
+#import "SPConstants.h"
#pragma mark -
#pragma mark lex init
@@ -436,7 +437,7 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
{
// Cancel autoHelp timer
- if([prefs boolForKey:@"CustomQueryUpdateAutoHelp"])
+ if([prefs boolForKey:SPCustomQueryUpdateAutoHelp])
[NSObject cancelPreviousPerformRequestsWithTarget:self
selector:@selector(autoHelp)
object:nil];
@@ -444,8 +445,8 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
[super mouseDown:theEvent];
// Start autoHelp timer
- if([prefs boolForKey:@"CustomQueryUpdateAutoHelp"])
- [self performSelector:@selector(autoHelp) withObject:nil afterDelay:[[[prefs valueForKey:@"CustomQueryAutoHelpDelay"] retain] floatValue]];
+ if([prefs boolForKey:SPCustomQueryUpdateAutoHelp])
+ [self performSelector:@selector(autoHelp) withObject:nil afterDelay:[[[prefs valueForKey:SPCustomQueryAutoHelpDelay] retain] floatValue]];
}
@@ -455,12 +456,12 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
- (void) keyDown:(NSEvent *)theEvent
{
- if([prefs boolForKey:@"CustomQueryUpdateAutoHelp"]) {// restart autoHelp timer
+ if([prefs boolForKey:SPCustomQueryUpdateAutoHelp]) {// restart autoHelp timer
[NSObject cancelPreviousPerformRequestsWithTarget:self
selector:@selector(autoHelp)
object:nil];
[self performSelector:@selector(autoHelp) withObject:nil
- afterDelay:[[[prefs valueForKey:@"CustomQueryAutoHelpDelay"] retain] floatValue]];
+ afterDelay:[[[prefs valueForKey:SPCustomQueryAutoHelpDelay] retain] floatValue]];
}
long allFlags = (NSShiftKeyMask|NSControlKeyMask|NSAlternateKeyMask|NSCommandKeyMask);
@@ -528,7 +529,7 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
}
// Only process for character autopairing if autopairing is enabled and a single character is being added.
- if ([prefs boolForKey:@"CustomQueryAutoPairCharacters"] && characters && [characters length] == 1) {
+ if ([prefs boolForKey:SPCustomQueryAutoPairCharacters] && characters && [characters length] == 1) {
delBackwardsWasPressed = NO;
@@ -689,7 +690,7 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
// Handle newlines, adding any indentation found on the current line to the new line - ignoring the enter key if appropriate
if (aSelector == @selector(insertNewline:)
- && [prefs boolForKey:@"CustomQueryAutoIndent"]
+ && [prefs boolForKey:SPCustomQueryAutoIndent]
&& (!autoindentIgnoresEnter || [[NSApp currentEvent] keyCode] != 0x4C))
{
NSString *textViewString = [[self textStorage] string];
@@ -1999,7 +2000,7 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
- (void)autoHelp
{
- if(![prefs boolForKey:@"CustomQueryUpdateAutoHelp"]) return;
+ if(![prefs boolForKey:SPCustomQueryUpdateAutoHelp]) return;
// If selection show Help for it
if([self selectedRange].length)
@@ -2087,15 +2088,15 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
NSColor *tokenColor;
- NSColor *commentColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorCommentColor"]] retain];
- NSColor *quoteColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorQuoteColor"]] retain];
- NSColor *keywordColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorSQLKeywordColor"]] retain];
- NSColor *backtickColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorBacktickColor"]] retain];
- NSColor *numericColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorNumericColor"]] retain];
- NSColor *variableColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorVariableColor"]] retain];
- NSColor *textColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorTextColor"]] retain];
+ NSColor *commentColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorCommentColor]] retain];
+ NSColor *quoteColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorQuoteColor]] retain];
+ NSColor *keywordColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorSQLKeywordColor]] retain];
+ NSColor *backtickColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorBacktickColor]] retain];
+ NSColor *numericColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorNumericColor]] retain];
+ NSColor *variableColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorVariableColor]] retain];
+ NSColor *textColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorTextColor]] retain];
- BOOL autouppercaseKeywords = [prefs boolForKey:@"CustomQueryAutoUppercaseKeywords"];
+ BOOL autouppercaseKeywords = [prefs boolForKey:SPCustomQueryAutoUppercaseKeywords];
unsigned long tokenEnd, token;
NSRange tokenRange;
@@ -2317,7 +2318,7 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
*/
- (void)changeColor:(id)sender
{
- [self setInsertionPointColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorCaretColor"]]];
+ [self setInsertionPointColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorCaretColor]]];
// Remember the old selected range
NSRange oldRange = [self selectedRange];
// Invoke syntax highlighting
@@ -2358,8 +2359,8 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
if (textStore!=[self textStorage]) return;
// Start autohelp only if the user really changed the text (not e.g. for setting a background color)
- if([prefs boolForKey:@"CustomQueryUpdateAutoHelp"] && [textStore editedMask] != 1)
- [self performSelector:@selector(autoHelp) withObject:nil afterDelay:[[[prefs valueForKey:@"CustomQueryAutoHelpDelay"] retain] floatValue]];
+ if([prefs boolForKey:SPCustomQueryUpdateAutoHelp] && [textStore editedMask] != 1)
+ [self performSelector:@selector(autoHelp) withObject:nil afterDelay:[[[prefs valueForKey:SPCustomQueryAutoHelpDelay] retain] floatValue]];
if([[self string] length] > SP_TEXT_SIZE_TRIGGER_FOR_PARTLY_PARSING)
[NSObject cancelPreviousPerformRequestsWithTarget:self
diff --git a/Source/CustomQuery.m b/Source/CustomQuery.m
index 323a9078..3fffaa7a 100644
--- a/Source/CustomQuery.m
+++ b/Source/CustomQuery.m
@@ -39,6 +39,7 @@
#import "SPTooltip.h"
#import "SPQueryFavoriteManager.h"
#import "SPQueryController.h"
+#import "SPConstants.h"
@implementation CustomQuery
@@ -179,14 +180,14 @@
}
else if ([queryFavoritesButton indexOfSelectedItem] > 5) {
// Choose favorite
- BOOL replaceContent = [prefs boolForKey:@"QueryFavoriteReplacesContent"];
+ BOOL replaceContent = [prefs boolForKey:SPQueryFavoriteReplacesContent];
if([[NSApp currentEvent] modifierFlags] & (NSShiftKeyMask|NSControlKeyMask|NSAlternateKeyMask|NSCommandKeyMask))
replaceContent = !replaceContent;
if(replaceContent)
[textView setSelectedRange:NSMakeRange(0,[[textView string] length])];
- // [textView insertText:[[[prefs objectForKey:@"queryFavorites"] objectAtIndex:([queryFavoritesButton indexOfSelectedItem] - 6)] objectForKey:@"query"]];
+ // [textView insertText:[[[prefs objectForKey:SPQueryFavorites] objectAtIndex:([queryFavoritesButton indexOfSelectedItem] - 6)] objectForKey:@"query"]];
// The actual query strings have been already stored as tooltip
[textView insertText:[[queryFavoritesButton selectedItem] toolTip]];
}
@@ -203,7 +204,7 @@
// Choose history item
if ([queryHistoryButton indexOfSelectedItem] > 1) {
- BOOL replaceContent = [prefs boolForKey:@"QueryHistoryReplacesContent"];
+ BOOL replaceContent = [prefs boolForKey:SPQueryHistoryReplacesContent];
if([[NSApp currentEvent] modifierFlags] & (NSShiftKeyMask|NSControlKeyMask|NSAlternateKeyMask|NSCommandKeyMask))
replaceContent = !replaceContent;
@@ -280,7 +281,7 @@
// "Indent new lines" toggle
if (sender == autoindentMenuItem) {
BOOL enableAutoindent = !([autoindentMenuItem state] == NSOffState);
- [prefs setBool:enableAutoindent forKey:@"CustomQueryAutoIndent"];
+ [prefs setBool:enableAutoindent forKey:SPCustomQueryAutoIndent];
[prefs synchronize];
[autoindentMenuItem setState:enableAutoindent?NSOnState:NSOffState];
[textView setAutoindent:enableAutoindent];
@@ -289,7 +290,7 @@
// "Auto-pair characters" toggle
if (sender == autopairMenuItem) {
BOOL enableAutopair = !([autopairMenuItem state] == NSOffState);
- [prefs setBool:enableAutopair forKey:@"CustomQueryAutoPairCharacters"];
+ [prefs setBool:enableAutopair forKey:SPCustomQueryAutoPairCharacters];
[prefs synchronize];
[autopairMenuItem setState:enableAutopair?NSOnState:NSOffState];
[textView setAutopair:enableAutopair];
@@ -298,7 +299,7 @@
// "Auto-help" toggle
if (sender == autohelpMenuItem) {
BOOL enableAutohelp = !([autohelpMenuItem state] == NSOffState);
- [prefs setBool:enableAutohelp forKey:@"CustomQueryUpdateAutoHelp"];
+ [prefs setBool:enableAutohelp forKey:SPCustomQueryUpdateAutoHelp];
[prefs synchronize];
[autohelpMenuItem setState:enableAutohelp?NSOnState:NSOffState];
[textView setAutohelp:enableAutohelp];
@@ -307,7 +308,7 @@
// "Auto-uppercase keywords" toggle
if (sender == autouppercaseKeywordsMenuItem) {
BOOL enableAutouppercaseKeywords = !([autouppercaseKeywordsMenuItem state] == NSOffState);
- [prefs setBool:enableAutouppercaseKeywords forKey:@"CustomQueryAutoUppercaseKeywords"];
+ [prefs setBool:enableAutouppercaseKeywords forKey:SPCustomQueryAutoUppercaseKeywords];
[prefs synchronize];
[autouppercaseKeywordsMenuItem setState:enableAutouppercaseKeywords?NSOnState:NSOffState];
[textView setAutouppercaseKeywords:enableAutouppercaseKeywords];
@@ -494,7 +495,7 @@
[queryHistoryButton insertItemWithTitle:usedQuery atIndex:2];
// Check for max history
- NSUInteger maxHistoryItems = [[prefs objectForKey:@"CustomQueryMaxHistoryItems"] intValue];
+ NSUInteger maxHistoryItems = [[prefs objectForKey:SPCustomQueryMaxHistoryItems] intValue];
while ( [queryHistoryButton numberOfItems] > maxHistoryItems + 2 )
[queryHistoryButton removeItemAtIndex:[queryHistoryButton numberOfItems]-1];
@@ -630,7 +631,7 @@
SPTextAndLinkCell *dataCell = [[[SPTextAndLinkCell alloc] initTextCell:@""] autorelease];
[dataCell setEditable:YES];
[dataCell setFormatter:[[SPDataCellFormatter new] autorelease]];
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[dataCell setFont:[NSFont fontWithName:@"Monaco" size:10]];
} else {
[dataCell setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
@@ -641,7 +642,7 @@
// Set the width of this column to saved value if exists and maps to a real column
if ([columnDefinition objectForKey:@"org_name"] && [[columnDefinition objectForKey:@"org_name"] length]) {
- NSNumber *colWidth = [[[[prefs objectForKey:@"tableColumnWidths"] objectForKey:[NSString stringWithFormat:@"%@@%@", [columnDefinition objectForKey:@"db"], [tableDocumentInstance host]]] objectForKey:[columnDefinition objectForKey:@"org_table"]] objectForKey:[columnDefinition objectForKey:@"org_name"]];
+ NSNumber *colWidth = [[[[prefs objectForKey:SPTableColumnWidths] objectForKey:[NSString stringWithFormat:@"%@@%@", [columnDefinition objectForKey:@"db"], [tableDocumentInstance host]]] objectForKey:[columnDefinition objectForKey:@"org_table"]] objectForKey:[columnDefinition objectForKey:@"org_name"]];
if ( colWidth ) {
[theCol setWidth:[colWidth floatValue]];
}
@@ -1063,21 +1064,21 @@
toObject: [NSUserDefaultsController sharedUserDefaultsController]
withKeyPath:@"values.CustomQueryEditorBackgroundColor"
options:bindingOptions];
- [textView setBackgroundColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorBackgroundColor"]]];
- [textView setTextColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorTextColor"]]];
- [textView setInsertionPointColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorCaretColor"]]];
+ [textView setBackgroundColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorBackgroundColor]]];
+ [textView setTextColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorTextColor]]];
+ [textView setInsertionPointColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorCaretColor]]];
[customQueryView setVerticalMotionCanBeginDrag:NO];
[textView setContinuousSpellCheckingEnabled:NO];
- [autoindentMenuItem setState:([prefs boolForKey:@"CustomQueryAutoIndent"]?NSOnState:NSOffState)];
- [textView setAutoindent:[prefs boolForKey:@"CustomQueryAutoIndent"]];
+ [autoindentMenuItem setState:([prefs boolForKey:SPCustomQueryAutoIndent]?NSOnState:NSOffState)];
+ [textView setAutoindent:[prefs boolForKey:SPCustomQueryAutoIndent]];
[textView setAutoindentIgnoresEnter:YES];
- [autopairMenuItem setState:([prefs boolForKey:@"CustomQueryAutoPairCharacters"]?NSOnState:NSOffState)];
- [textView setAutopair:[prefs boolForKey:@"CustomQueryAutoPairCharacters"]];
- [autohelpMenuItem setState:([prefs boolForKey:@"CustomQueryUpdateAutoHelp"]?NSOnState:NSOffState)];
- [textView setAutohelp:[prefs boolForKey:@"CustomQueryUpdateAutoHelp"]];
- [autouppercaseKeywordsMenuItem setState:([prefs boolForKey:@"CustomQueryAutoUppercaseKeywords"]?NSOnState:NSOffState)];
- [textView setAutouppercaseKeywords:[prefs boolForKey:@"CustomQueryAutoUppercaseKeywords"]];
+ [autopairMenuItem setState:([prefs boolForKey:SPCustomQueryAutoPairCharacters]?NSOnState:NSOffState)];
+ [textView setAutopair:[prefs boolForKey:SPCustomQueryAutoPairCharacters]];
+ [autohelpMenuItem setState:([prefs boolForKey:SPCustomQueryUpdateAutoHelp]?NSOnState:NSOffState)];
+ [textView setAutohelp:[prefs boolForKey:SPCustomQueryUpdateAutoHelp]];
+ [autouppercaseKeywordsMenuItem setState:([prefs boolForKey:SPCustomQueryAutoUppercaseKeywords]?NSOnState:NSOffState)];
+ [textView setAutouppercaseKeywords:[prefs boolForKey:SPCustomQueryAutoUppercaseKeywords]];
if ( [[SPQueryController sharedQueryController] historyForFileURL:[tableDocumentInstance fileURL]] )
{
@@ -1239,7 +1240,7 @@
return [theValue shortStringRepresentationUsingEncoding:[mySQLConnection encoding]];
if ( [theValue isNSNull] )
- return [prefs objectForKey:@"NullValue"];
+ return [prefs objectForKey:SPNullValue];
return theValue;
@@ -1297,7 +1298,7 @@
} else {
if ( [[anObject description] isEqualToString:@"CURRENT_TIMESTAMP"] ) {
newObject = @"CURRENT_TIMESTAMP";
- } else if([anObject isEqualToString:[prefs stringForKey:@"NullValue"]]) {
+ } else if([anObject isEqualToString:[prefs stringForKey:SPNullValue]]) {
newObject = @"NULL";
} else if ([[columnDefinition objectForKey:@"typegrouping"] isEqualToString:@"bit"]) {
newObject = ((![[anObject description] length] || [[anObject description] isEqualToString:@"0"])?@"0":@"1");
@@ -1327,7 +1328,7 @@
// This shouldn't happen – for safety reasons
if ( ![mySQLConnection affectedRows] ) {
- if ( [prefs boolForKey:@"ShowNoAffectedRowsError"] ) {
+ if ( [prefs boolForKey:SPShowNoAffectedRowsError] ) {
NSBeginAlertSheet(NSLocalizedString(@"Warning", @"warning"), NSLocalizedString(@"OK", @"OK button"), nil, nil, tableWindow, self, nil, nil, nil,
NSLocalizedString(@"The row was not written to the MySQL database. You probably haven't changed anything.\nReload the table to be sure that the row exists and use a primary key for your table.\n(This error can be turned off in the preferences.)", @"message of panel when no rows have been affected after writing to the db"));
} else {
@@ -1643,7 +1644,7 @@
[fieldEditor setTextMaxLength:[[columnDefinition valueForKey:@"char_length"] intValue]];
id originalData = [[fullResult objectAtIndex:rowIndex] objectAtIndex:[[aTableColumn identifier] intValue]];
- if ([originalData isNSNull]) originalData = [prefs objectForKey:@"NullValue"];
+ if ([originalData isNSNull]) originalData = [prefs objectForKey:SPNullValue];
id editData = [[fieldEditor editWithObject:originalData
fieldName:[columnDefinition objectForKey:@"name"]
@@ -1691,8 +1692,8 @@
NSString *col = [columnDefinition objectForKey:@"org_name"];
// Retrieve or instantiate the tableColumnWidths object
- if ([prefs objectForKey:@"tableColumnWidths"] != nil) {
- tableColumnWidths = [NSMutableDictionary dictionaryWithDictionary:[prefs objectForKey:@"tableColumnWidths"]];
+ if ([prefs objectForKey:SPTableColumnWidths] != nil) {
+ tableColumnWidths = [NSMutableDictionary dictionaryWithDictionary:[prefs objectForKey:SPTableColumnWidths]];
} else {
tableColumnWidths = [NSMutableDictionary dictionary];
}
@@ -1713,7 +1714,7 @@
// Save the column size
[[[tableColumnWidths objectForKey:host_db] objectForKey:table] setObject:[NSNumber numberWithFloat:[[[aNotification userInfo] objectForKey:@"NSTableColumn"] width]] forKey:col];
- [prefs setObject:tableColumnWidths forKey:@"tableColumnWidths"];
+ [prefs setObject:tableColumnWidths forKey:SPTableColumnWidths];
}
@@ -1762,7 +1763,7 @@
if ( [aNotification object] != textView ) return;
// Remove all background color attributes used by highlighting the current query
- if([prefs boolForKey:@"CustomQueryHighlightCurrentQuery"]) {
+ if([prefs boolForKey:SPCustomQueryHighlightCurrentQuery]) {
// Remove only the background attribute for the current range if still valid
NSRange textRange = NSMakeRange(0,[[textView string] length]);
NSRange r = NSIntersectionRange(currentQueryRange, textRange);
@@ -1786,9 +1787,9 @@
// Highlight by setting a background color the current query
// if nothing is selected
if(qRange.length && !currentSelection.length) {
- if([prefs boolForKey:@"CustomQueryHighlightCurrentQuery"]) {
+ if([prefs boolForKey:SPCustomQueryHighlightCurrentQuery]) {
[[textView textStorage] addAttribute: NSBackgroundColorAttributeName
- value: [NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorHighlightQueryColor"]]
+ value: [NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorHighlightQueryColor]]
range: qRange ];
hasBackgroundAttribute = YES;
}
@@ -1846,7 +1847,7 @@
// Only save the font if prefs have been loaded, ensuring the saved font has been applied once.
// And check for [textView font] != nil which occurs while awaking from nib.
if (prefs && [textView font] != nil)
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[textView font]] forKey:@"CustomQueryEditorFont"];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[textView font]] forKey:SPCustomQueryEditorFont];
}
@@ -2425,7 +2426,7 @@
[headerMenuItem setIndentationLevel:0];
[menu addItem:headerMenuItem];
[headerMenuItem release];
- for (NSDictionary *favorite in [prefs objectForKey:@"queryFavorites"]) {
+ for (NSDictionary *favorite in [prefs objectForKey:SPQueryFavorites]) {
NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:[NSString stringWithString:[favorite objectForKey:@"name"]] action:NULL keyEquivalent:@""];
[item setToolTip:[NSString stringWithString:[favorite objectForKey:@"query"]]];
[item setIndentationLevel:1];
@@ -2453,7 +2454,7 @@
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
- if ([keyPath isEqualToString:@"DisplayTableViewVerticalGridlines"]) {
+ if ([keyPath isEqualToString:SPDisplayTableViewVerticalGridlines]) {
[customQueryView setGridStyleMask:([[change objectForKey:NSKeyValueChangeNewKey] boolValue]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
}
}
@@ -2468,7 +2469,7 @@
// Add the new query favorite directly the user's preferences here instead of asking the manager to do it
// as it may not have been fully initialized yet.
- NSMutableArray *favorites = [NSMutableArray arrayWithArray:[prefs objectForKey:@"queryFavorites"]];
+ NSMutableArray *favorites = [NSMutableArray arrayWithArray:[prefs objectForKey:SPQueryFavorites]];
// What should be saved
NSString *queryToBeAddded;
@@ -2492,7 +2493,7 @@
[NSArray arrayWithObjects:[queryFavoriteNameTextField stringValue], queryToBeAddded, nil]
forKeys:[NSArray arrayWithObjects:@"name", @"query", nil]]];
- [prefs setObject:favorites forKey:@"queryFavorites"];
+ [prefs setObject:favorites forKey:SPQueryFavorites];
} else {
[[SPQueryController sharedQueryController] addFavorite:[NSMutableDictionary dictionaryWithObjects:
[NSArray arrayWithObjects:[queryFavoriteNameTextField stringValue], [queryToBeAddded mutableCopy], nil]
@@ -2608,7 +2609,7 @@
[queryFavoritesSaveAllMenuItem setTag:SP_SAVE_ALL_FAVORTITE_MENUITEM_TAG];
// Set the structure and index view's vertical gridlines if required
- [customQueryView setGridStyleMask:([prefs boolForKey:@"DisplayTableViewVerticalGridlines"]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
+ [customQueryView setGridStyleMask:([prefs boolForKey:SPDisplayTableViewVerticalGridlines]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
}
- (void)dealloc
diff --git a/Source/SPAppController.m b/Source/SPAppController.m
index b0cf4ed5..3b8cde01 100644
--- a/Source/SPAppController.m
+++ b/Source/SPAppController.m
@@ -29,15 +29,10 @@
#import "SPPreferenceController.h"
#import "TableDump.h"
#import "SPEncodingPopupAccessory.h"
+#import "SPConstants.h"
#import <Sparkle/Sparkle.h>
-#define SEQUEL_PRO_HOME_PAGE_URL @"http://www.sequelpro.com/"
-#define SEQUEL_PRO_DONATIONS_URL @"http://www.sequelpro.com/donate.html"
-#define SEQUEL_PRO_FAQ_URL @"http://www.sequelpro.com/frequently-asked-questions.html"
-#define SEQUEL_PRO_DOCS_URL @"http://www.sequelpro.com/docs"
-#define SEQUEL_PRO_CONTACT_URL @"http://www.sequelpro.com/docs/Contact_the_developers"
-
@implementation SPAppController
/**
@@ -137,12 +132,12 @@
[panel setResolvesAliases:YES];
// If no lastSqlFileEncoding in prefs set it to UTF-8
- if(![[NSUserDefaults standardUserDefaults] integerForKey:@"lastSqlFileEncoding"]) {
- [[NSUserDefaults standardUserDefaults] setInteger:4 forKey:@"lastSqlFileEncoding"];
+ if(![[NSUserDefaults standardUserDefaults] integerForKey:SPLastSQLFileEncoding]) {
+ [[NSUserDefaults standardUserDefaults] setInteger:4 forKey:SPLastSQLFileEncoding];
[[NSUserDefaults standardUserDefaults] synchronize];
}
- [panel setAccessoryView:[SPEncodingPopupAccessory encodingAccessory:[[NSUserDefaults standardUserDefaults] integerForKey:@"lastSqlFileEncoding"]
+ [panel setAccessoryView:[SPEncodingPopupAccessory encodingAccessory:[[NSUserDefaults standardUserDefaults] integerForKey:SPLastSQLFileEncoding]
includeDefaultEntry:NO encodingPopUp:&encodingPopUp]];
// it will enabled if user selects a *.sql file
@@ -233,7 +228,7 @@
// if encodingPopUp is defined the filename comes from an openPanel and
// the encodingPopUp contains the chosen encoding; otherwise autodetect encoding
if(encodingPopUp)
- [[NSUserDefaults standardUserDefaults] setInteger:[[encodingPopUp selectedItem] tag] forKey:@"lastSqlFileEncoding"];
+ [[NSUserDefaults standardUserDefaults] setInteger:[[encodingPopUp selectedItem] tag] forKey:SPLastSQLFileEncoding];
// Check if at least one document exists
if (![[[NSDocumentController sharedDocumentController] documents] count]) {
diff --git a/Source/SPConnectionController.m b/Source/SPConnectionController.m
index 3eed2c83..d6779050 100644
--- a/Source/SPConnectionController.m
+++ b/Source/SPConnectionController.m
@@ -28,6 +28,7 @@
#import "SPPreferenceController.h"
#import "ImageAndTextCell.h"
#import "RegexKitLite.h"
+#import "SPConstants.h"
@implementation SPConnectionController
@@ -87,7 +88,7 @@
[self updateFavorites];
// Register an observer for changes within the favorites
- [prefs addObserver:self forKeyPath:@"favorites" options:NSKeyValueObservingOptionNew context:NULL];
+ [prefs addObserver:self forKeyPath:SPFavorites options:NSKeyValueObservingOptionNew context:NULL];
// Register double click for the favorites view (double click favorite to connect)
[favoritesTable setTarget:self];
@@ -96,8 +97,8 @@
// Set the focus to the favorites table and select the appropriate row
[documentWindow setInitialFirstResponder:favoritesTable];
int tableRow;
- if ([prefs boolForKey:@"SelectLastFavoriteUsed"] == YES) {
- tableRow = [prefs integerForKey:@"LastFavoriteIndex"] + 1;
+ if ([prefs boolForKey:SPSelectLastFavoriteUsed] == YES) {
+ tableRow = [prefs integerForKey:SPLastFavoriteIndex] + 1;
} else {
tableRow = [prefs integerForKey:@"DefaultFavorite"] + 1;
}
@@ -291,12 +292,12 @@
[mySQLConnection setDelegate:tableDocument];
// Set whether or not we should enable delegate logging according to the prefs
- [mySQLConnection setDelegateQueryLogging:[prefs boolForKey:@"ConsoleEnableLogging"]];
+ [mySQLConnection setDelegateQueryLogging:[prefs boolForKey:SPConsoleEnableLogging]];
// Set options from preferences
- [mySQLConnection setConnectionTimeout:[[prefs objectForKey:@"ConnectionTimeoutValue"] intValue]];
- [mySQLConnection setUseKeepAlive:[[prefs objectForKey:@"UseKeepAlive"] boolValue]];
- [mySQLConnection setKeepAliveInterval:[[prefs objectForKey:@"KeepAliveInterval"] floatValue]];
+ [mySQLConnection setConnectionTimeout:[[prefs objectForKey:SPConnectionTimeoutValue] intValue]];
+ [mySQLConnection setUseKeepAlive:[[prefs objectForKey:SPUseKeepAlive] boolValue]];
+ [mySQLConnection setKeepAliveInterval:[[prefs objectForKey:SPKeepAliveInterval] floatValue]];
// Connect
[mySQLConnection connect];
@@ -334,7 +335,7 @@
errorMessage = [NSString stringWithFormat:NSLocalizedString(@"Unable to connect via the socket, or the request timed out.\n\nDouble-check that the socket path is correct and that you have the necessary privileges, and that the server is running.\n\nMySQL said: %@", @"message of panel when connection to host failed"), [mySQLConnection getLastErrorMessage]];
[self failConnectionWithTitle:NSLocalizedString(@"Socket connection failed!", @"socket connection failed title") errorMessage:errorMessage detail:nil];
} else {
- errorMessage = [NSString stringWithFormat:NSLocalizedString(@"Unable to connect to host %@, or the request timed out.\n\nBe sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently %i seconds).\n\nMySQL said: %@", @"message of panel when connection to host failed"), [self host], [[prefs objectForKey:@"ConnectionTimeoutValue"] intValue], [mySQLConnection getLastErrorMessage]];
+ errorMessage = [NSString stringWithFormat:NSLocalizedString(@"Unable to connect to host %@, or the request timed out.\n\nBe sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently %i seconds).\n\nMySQL said: %@", @"message of panel when connection to host failed"), [self host], [[prefs objectForKey:SPConnectionTimeoutValue] intValue], [mySQLConnection getLastErrorMessage]];
[self failConnectionWithTitle:NSLocalizedString(@"Connection failed!", @"connection failed title") errorMessage:errorMessage detail:nil];
}
@@ -621,8 +622,8 @@
{
[favoritesTable deselectAll:self];
if (favorites) [favorites release];
- if ([prefs objectForKey:@"favorites"]) {
- favorites = [[NSMutableArray alloc] initWithArray:[prefs objectForKey:@"favorites"]];
+ if ([prefs objectForKey:SPFavorites]) {
+ favorites = [[NSMutableArray alloc] initWithArray:[prefs objectForKey:SPFavorites]];
} else {
favorites = [[NSMutableArray alloc] init];
}
@@ -678,7 +679,7 @@
[connectionSSHKeychainItemAccount release], connectionSSHKeychainItemAccount = nil;
}
- [prefs setInteger:([favoritesTable selectedRow] - 1) forKey:@"LastFavoriteIndex"];
+ [prefs setInteger:([favoritesTable selectedRow] - 1) forKey:SPLastFavoriteIndex];
}
/**
@@ -736,13 +737,13 @@
// Add the new favorite to the user defaults array
NSMutableArray *currentFavorites;
- if ([prefs objectForKey:@"favorites"]) {
- currentFavorites = [[NSMutableArray alloc] initWithArray:[prefs objectForKey:@"favorites"]];
+ if ([prefs objectForKey:SPFavorites]) {
+ currentFavorites = [[NSMutableArray alloc] initWithArray:[prefs objectForKey:SPFavorites]];
} else {
currentFavorites = [[NSMutableArray alloc] init];
}
[currentFavorites addObject:newFavorite];
- [prefs setObject:[NSArray arrayWithArray:currentFavorites] forKey:@"favorites"];
+ [prefs setObject:[NSArray arrayWithArray:currentFavorites] forKey:SPFavorites];
[currentFavorites release];
// Add the password to keychain as appropriate
@@ -781,7 +782,7 @@
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
- if ([keyPath isEqualToString:@"favorites"]) {
+ if ([keyPath isEqualToString:SPFavorites]) {
[self updateFavorites];
}
}
diff --git a/Source/SPConstants.h b/Source/SPConstants.h
new file mode 100644
index 00000000..8ab19b02
--- /dev/null
+++ b/Source/SPConstants.h
@@ -0,0 +1,110 @@
+//
+// $Id$
+//
+// SPConstants.h
+// sequel-pro
+//
+// Created by Stuart Connolly (stuconnolly.com) on October 16, 2009
+// Copyright (c) 2009 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 <Cocoa/Cocoa.h>
+
+// Extensions
+#define DEFAULT_SEQUEL_PRO_FILE_EXTENSION @"spf"
+#define DEFAULT_QUERY_FAVORITE_FILE_EXTENSION @"sql"
+#define DEFAULT_CONSOLE_LOG_FILE_EXTENSION @"sql"
+
+// Tableview drag types
+#define FAVORITES_PB_DRAG_TYPE @"SequelProPreferencesPasteboard"
+#define CONTENT_FILTER_PB_DRAG_TYPE @"SequelProContentFilterPasteboard"
+#define QUERY_FAVORITES_PB_DRAG_TYPE @"SequelProQueryFavoritesPasteboard"
+
+// URLs
+#define SEQUEL_PRO_HOME_PAGE_URL @"http://www.sequelpro.com/"
+#define SEQUEL_PRO_DONATIONS_URL @"http://www.sequelpro.com/donate.html"
+#define SEQUEL_PRO_FAQ_URL @"http://www.sequelpro.com/frequently-asked-questions.html"
+#define SEQUEL_PRO_DOCS_URL @"http://www.sequelpro.com/docs"
+#define SEQUEL_PRO_CONTACT_URL @"http://www.sequelpro.com/docs/Contact_the_developers"
+
+// Preference key constants
+extern NSString *SPDefaultEncoding;
+extern NSString *SPUseMonospacedFonts;
+extern NSString *SPDisplayTableViewVerticalGridlines;
+extern NSString *SPReloadAfterAddingRow;
+extern NSString *SPReloadAfterEditingRow;
+extern NSString *SPReloadAfterRemovingRow;
+extern NSString *SPLoadBlobsAsNeeded;
+extern NSString *SPFetchCorrectRowCount;
+extern NSString *SPNewFieldsAllowNulls;
+extern NSString *SPLimitResults;
+extern NSString *SPLimitResultsValue;
+extern NSString *SPNullValue;
+extern NSString *SPShowNoAffectedRowsError;
+extern NSString *SPGrowlEnabled;
+extern NSString *SPConnectionTimeoutValue;
+extern NSString *SPUseKeepAlive;
+extern NSString *SPKeepAliveInterval;
+extern NSString *SPEditInSheetEnabled;
+extern NSString *SPQueryFavoriteReplacesContent;
+extern NSString *SPQueryHistoryReplacesContent;
+extern NSString *SPCustomQueryEditorFont;
+extern NSString *SPCustomQueryEditorBackgroundColor;
+extern NSString *SPCustomQueryEditorBacktickColor;
+extern NSString *SPCustomQueryEditorCommentColor;
+extern NSString *SPCustomQueryEditorNumericColor;
+extern NSString *SPCustomQueryEditorQuoteColor;
+extern NSString *SPCustomQueryEditorSQLKeywordColor;
+extern NSString *SPCustomQueryEditorTextColor;
+extern NSString *SPCustomQueryEditorHighlightQueryColor;
+extern NSString *SPCustomQueryEditorCaretColor;
+extern NSString *SPCustomQueryEditorVariableColor;
+extern NSString *SPCustomQueryHighlightCurrentQuery;
+extern NSString *SPCustomQueryAutoIndent;
+extern NSString *SPCustomQueryAutoPairCharacters;
+extern NSString *SPCustomQueryAutoUppercaseKeywords;
+extern NSString *SPCustomQueryUpdateAutoHelp;
+extern NSString *SPCustomQueryAutoHelpDelay;
+extern NSString *SPCustomQueryMaxHistoryItems;
+extern NSString *SPLastSQLFileEncoding;
+extern NSString *SPSelectLastFavoriteUsed;
+extern NSString *SPLastFavoriteIndex;
+extern NSString *SPTableInformationPanelCollapsed;
+extern NSString *SPConsoleEnableLogging;
+extern NSString *SPConsoleEnableInterfaceLogging;
+extern NSString *SPConsoleEnableCustomQueryLogging;
+extern NSString *SPConsoleEnableImportExportLogging;
+extern NSString *SPEnableErrorLogging;
+extern NSString *SPConsoleShowTimestamps;
+extern NSString *SPConsoleShowSelectsAndShows;
+extern NSString *SPConsoleShowHelps;
+extern NSString *SPPrintBackground;
+extern NSString *SPPrintImagePreviews;
+extern NSString *SPContentFilters;
+extern NSString *SPCSVImportFieldTerminator;
+extern NSString *SPCSVImportLineTerminator;
+extern NSString *SPCSVImportFieldEnclosedBy;
+extern NSString *SPCSVImportFieldEscapeCharacter;
+extern NSString *SPCSVImportFirstLineIsHeader;
+extern NSString *SPLastUsedVersion;
+extern NSString *SPFieldEditorSheetFont;
+extern NSString *SPQuickLookTypes;
+extern NSString *SPQueryFavorites;
+extern NSString *SPFavorites;
+extern NSString *SPTableColumnWidths;
+extern NSString *SPQueryHistory;
diff --git a/Source/SPConstants.m b/Source/SPConstants.m
new file mode 100644
index 00000000..50e9496f
--- /dev/null
+++ b/Source/SPConstants.m
@@ -0,0 +1,93 @@
+//
+// $Id$
+//
+// SPConstants.m
+// sequel-pro
+//
+// Created by Stuart Connolly (stuconnolly.com) on October 16, 2009
+// Copyright (c) 2009 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 "SPConstants.h"
+
+// Preference key constants
+NSString *SPDefaultEncoding = @"SPDefaultEncoding";
+NSString *SPUseMonospacedFonts = @"UseMonospacedFonts";
+NSString *SPDisplayTableViewVerticalGridlines = @"DisplayTableViewVerticalGridlines";
+NSString *SPReloadAfterAddingRow = @"ReloadAfterAddingRow";
+NSString *SPReloadAfterEditingRow = @"ReloadAfterEditingRow";
+NSString *SPReloadAfterRemovingRow = @"ReloadAfterRemovingRow";
+NSString *SPLoadBlobsAsNeeded = @"LoadBlobsAsNeeded";
+NSString *SPFetchCorrectRowCount = @"FetchCorrectRowCount";
+NSString *SPNewFieldsAllowNulls = @"NewFieldsAllowNulls";
+NSString *SPLimitResults = @"LimitResults";
+NSString *SPLimitResultsValue = @"LimitResultsValue";
+NSString *SPNullValue = @"NullValue";
+NSString *SPShowNoAffectedRowsError = @"ShowNoAffectedRowsError";
+NSString *SPGrowlEnabled = @"GrowlEnabled";
+NSString *SPConnectionTimeoutValue = @"ConnectionTimeoutValue";
+NSString *SPUseKeepAlive = @"UseKeepAlive";
+NSString *SPKeepAliveInterval = @"KeepAliveInterval";
+NSString *SPEditInSheetEnabled = @"EditInSheetEnabled";
+NSString *SPQueryFavoriteReplacesContent = @"QueryFavoriteReplacesContent";
+NSString *SPQueryHistoryReplacesContent = @"QueryHistoryReplacesContent";
+NSString *SPCustomQueryEditorFont = @"CustomQueryEditorFont";
+NSString *SPCustomQueryEditorBackgroundColor = @"CustomQueryEditorBackgroundColor";
+NSString *SPCustomQueryEditorBacktickColor = @"CustomQueryEditorBacktickColor";
+NSString *SPCustomQueryEditorCommentColor = @"CustomQueryEditorCommentColor";
+NSString *SPCustomQueryEditorNumericColor = @"CustomQueryEditorNumericColor";
+NSString *SPCustomQueryEditorQuoteColor = @"CustomQueryEditorQuoteColor";
+NSString *SPCustomQueryEditorSQLKeywordColor = @"CustomQueryEditorSQLKeywordColor";
+NSString *SPCustomQueryEditorTextColor = @"CustomQueryEditorTextColor";
+NSString *SPCustomQueryEditorHighlightQueryColor = @"CustomQueryEditorHighlightQueryColor";
+NSString *SPCustomQueryEditorCaretColor = @"CustomQueryEditorCaretColor";
+NSString *SPCustomQueryEditorVariableColor = @"CustomQueryEditorVariableColor";
+NSString *SPCustomQueryHighlightCurrentQuery = @"CustomQueryHighlightCurrentQuery";
+NSString *SPCustomQueryAutoIndent = @"CustomQueryAutoIndent";
+NSString *SPCustomQueryAutoPairCharacters = @"CustomQueryAutoPairCharacters";
+NSString *SPCustomQueryAutoUppercaseKeywords = @"CustomQueryAutoUppercaseKeywords";
+NSString *SPCustomQueryUpdateAutoHelp = @"CustomQueryUpdateAutoHelp";
+NSString *SPCustomQueryAutoHelpDelay = @"CustomQueryAutoHelpDelay";
+NSString *SPCustomQueryMaxHistoryItems = @"CustomQueryMaxHistoryItems";
+NSString *SPLastSQLFileEncoding = @"lastSqlFileEncoding";
+NSString *SPSelectLastFavoriteUsed = @"SelectLastFavoriteUsed";
+NSString *SPLastFavoriteIndex = @"LastFavoriteIndex";
+NSString *SPTableInformationPanelCollapsed = @"TableInformationPanelCollapsed";
+NSString *SPConsoleEnableLogging = @"ConsoleEnableLogging";
+NSString *SPConsoleEnableInterfaceLogging = @"ConsoleEnableInterfaceLogging";
+NSString *SPConsoleEnableCustomQueryLogging = @"ConsoleEnableCustomQueryLogging";
+NSString *SPConsoleEnableImportExportLogging = @"ConsoleEnableImportExportLogging";
+NSString *SPEnableErrorLogging = @"EnableErrorLogging";
+NSString *SPConsoleShowTimestamps = @"ConsoleShowTimestamps";
+NSString *SPConsoleShowSelectsAndShows = @"ConsoleShowSelectsAndShows";
+NSString *SPConsoleShowHelps = @"ConsoleShowHelps";
+NSString *SPPrintBackground = @"PrintBackground";
+NSString *SPPrintImagePreviews = @"PrintImagePreviews";
+NSString *SPContentFilters = @"ContentFilters";
+NSString *SPCSVImportFieldTerminator = @"CSVImportFieldTerminator";
+NSString *SPCSVImportLineTerminator = @"CSVImportLineTerminator";
+NSString *SPCSVImportFieldEnclosedBy = @"CSVImportFieldEnclosedBy";
+NSString *SPCSVImportFieldEscapeCharacter = @"CSVImportFieldEscapeCharacter";
+NSString *SPCSVImportFirstLineIsHeader = @"CSVImportFirstLineIsHeader";
+NSString *SPLastUsedVersion = @"LastUsedVersion";
+NSString *SPFieldEditorSheetFont = @"FieldEditorSheetFont";
+NSString *SPQuickLookTypes = @"QuickLookTypes";
+NSString *SPQueryFavorites = @"queryFavorites";
+NSString *SPFavorites = @"favorites";
+NSString *SPTableColumnWidths = @"tableColumnWidths";
+NSString *SPQueryHistory = @"queryHistory";
diff --git a/Source/SPContentFilterManager.m b/Source/SPContentFilterManager.m
index 79c629bc..d6a7f1e3 100644
--- a/Source/SPContentFilterManager.m
+++ b/Source/SPContentFilterManager.m
@@ -28,14 +28,11 @@
#import "RegexKitLite.h"
#import "SPQueryController.h"
#import "TableContent.h"
-
-#define DEFAULT_SEQUELPRO_FILE_EXTENSION @"spf"
+#import "SPConstants.h"
#define SP_MULTIPLE_SELECTION_PLACEHOLDER_STRING NSLocalizedString(@"[multiple selection]", @"[multiple selection]")
#define SP_NO_SELECTION_PLACEHOLDER_STRING NSLocalizedString(@"[no selection]", @"[no selection]")
-#define CONTENT_FILTER_PB_DRAG_TYPE @"SequelProContentFilterPasteboard"
-
@interface SPContentFilterManager (Private)
- (void)_initWithNoSelection;
@end
@@ -100,8 +97,8 @@
// Build data source for global content filter (as mutable copy! otherwise each
// change will be stored in the prefs at once)
- if([[prefs objectForKey:@"ContentFilters"] objectForKey:filterType]) {
- for(id fav in [[prefs objectForKey:@"ContentFilters"] objectForKey:filterType]) {
+ if([[prefs objectForKey:SPContentFilters] objectForKey:filterType]) {
+ for(id fav in [[prefs objectForKey:SPContentFilters] objectForKey:filterType]) {
id f = [[fav mutableCopy] autorelease];
if([f objectForKey:@"ConjunctionLabels"])
[f setObject:[[f objectForKey:@"ConjunctionLabels"] objectAtIndex:0] forKey:@"ConjunctionLabel"];
@@ -301,7 +298,7 @@
{
NSSavePanel *panel = [NSSavePanel savePanel];
- [panel setRequiredFileType:DEFAULT_SEQUELPRO_FILE_EXTENSION];
+ [panel setRequiredFileType:DEFAULT_SEQUEL_PRO_FILE_EXTENSION];
[panel setExtensionHidden:NO];
[panel setAllowsOtherFileTypes:NO];
@@ -363,9 +360,9 @@
[self contentFilterForFileURL:delegatesFileURL] ofType:filterType forFileURL:delegatesFileURL];
// Update global preferences' list
- id cf = [[prefs objectForKey:@"ContentFilters"] mutableCopy];
+ id cf = [[prefs objectForKey:SPContentFilters] mutableCopy];
[cf setObject:[self contentFilterForFileURL:nil] forKey:filterType];
- [prefs setObject:cf forKey:@"ContentFilters"];
+ [prefs setObject:cf forKey:SPContentFilters];
[cf release];
// Inform all opened documents to update the query favorites list
@@ -765,17 +762,17 @@
return;
}
- if([[spf objectForKey:@"ContentFilters"] objectForKey:filterType] && [[[spf objectForKey:@"ContentFilters"] objectForKey:filterType] count]) {
+ if([[spf objectForKey:SPContentFilters] objectForKey:filterType] && [[[spf objectForKey:SPContentFilters] objectForKey:filterType] count]) {
// if([contentFilterTableView numberOfSelectedRows] > 0) {
// // Insert imported filters after the last selected filter
// NSUInteger insertIndex = [[contentFilterTableView selectedRowIndexes] lastIndex] + 1;
// NSUInteger i;
- // for(i=0; i<[[[spf objectForKey:@"ContentFilters"] objectForKey:filterType] count]; i++) {
- // [contentFilters insertObject:[[spf objectForKey:@"queryFavorites"] objectAtIndex:i] atIndex:insertIndex+i];
+ // for(i=0; i<[[[spf objectForKey:SPContentFilters] objectForKey:filterType] count]; i++) {
+ // [contentFilters insertObject:[[spf objectForKey:SPQueryFavorites] objectAtIndex:i] atIndex:insertIndex+i];
// }
// } else {
// // If no selection add them
- [contentFilters addObjectsFromArray:[[spf objectForKey:@"ContentFilters"] objectForKey:filterType]];
+ [contentFilters addObjectsFromArray:[[spf objectForKey:SPContentFilters] objectForKey:filterType]];
// }
[contentFilterArrayController rearrangeObjects];
[contentFilterTableView reloadData];
@@ -823,7 +820,7 @@
[filterData addObject:[contentFilters objectAtIndex:i]];
[cfdata setObject:filterData forKey:filterType];
- [spfdata setObject:cfdata forKey:@"ContentFilters"];
+ [spfdata setObject:cfdata forKey:SPContentFilters];
NSString *err = nil;
NSData *plist = [NSPropertyListSerialization dataFromPropertyList:spfdata
diff --git a/Source/SPDataCellFormatter.m b/Source/SPDataCellFormatter.m
index 916568ca..86cbdce6 100644
--- a/Source/SPDataCellFormatter.m
+++ b/Source/SPDataCellFormatter.m
@@ -25,6 +25,7 @@
#import "SPDataCellFormatter.h"
#import "SPTooltip.h"
+#import "SPConstants.h"
@implementation SPDataCellFormatter
@@ -77,7 +78,7 @@
- (BOOL)isPartialStringValid:(NSString *)partialString newEditingString:(NSString **)newString errorDescription:(NSString **)error
{
// No limit set or partialString is NULL value string allow editing
- if (textLimit == 0 || [partialString isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:@"NullValue"]])
+ if (textLimit == 0 || [partialString isEqualToString:[[NSUserDefaults standardUserDefaults] objectForKey:SPNullValue]])
return YES;
// A single character over the length of the string - likely typed. Prevent the change.
diff --git a/Source/SPExportController.m b/Source/SPExportController.m
index e4079877..19d794ae 100644
--- a/Source/SPExportController.m
+++ b/Source/SPExportController.m
@@ -29,6 +29,7 @@
#import "TableDocument.h"
#import "SPArrayAdditions.h"
#import "SPStringAdditions.h"
+#import "SPConstants.h"
@interface SPExportController (PrivateAPI)
@@ -461,7 +462,7 @@
[csvExporter setCsvEscapeString:[exportCSVFieldsEscapedField stringValue]];
[csvExporter setExportOutputEncoding:[MCPConnection encodingForMySQLEncoding:[[tableDocumentInstance connectionEncoding] UTF8String]]];
- [csvExporter setCsvNULLString:[[NSUserDefaults standardUserDefaults] objectForKey:@"NullValue"]];
+ [csvExporter setCsvNULLString:[[NSUserDefaults standardUserDefaults] objectForKey:SPNullValue]];
[csvExporter setCsvTableColumnNumericStatus:tableColumnNumericStatus];
diff --git a/Source/SPFieldEditorController.m b/Source/SPFieldEditorController.m
index 83a63d6b..9ecf4815 100644
--- a/Source/SPFieldEditorController.m
+++ b/Source/SPFieldEditorController.m
@@ -32,6 +32,7 @@
#import "RegexKitLite.h"
#import "SPDataCellFormatter.h"
#import "SPTooltip.h"
+#import "SPConstants.h"
@implementation SPFieldEditorController
@@ -91,8 +92,8 @@
}
}
// Load user-defined QL types
- if([prefs objectForKey:@"QuickLookTypes"]) {
- for(id type in [prefs objectForKey:@"QuickLookTypes"]) {
+ if([prefs objectForKey:SPQuickLookTypes]) {
+ for(id type in [prefs objectForKey:SPQuickLookTypes]) {
NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:[NSString stringWithString:[type objectForKey:@"MenuLabel"]] action:NULL keyEquivalent:@""];
[item setTag:tag];
[item setAction:@selector(quickLookFormatButton:)];
@@ -102,7 +103,7 @@
[qlTypesItems addObject:type];
}
}
- qlTypes = [NSDictionary dictionaryWithObject:[qlTypesItems retain] forKey:@"QuickLookTypes"];
+ qlTypes = [NSDictionary dictionaryWithObject:[qlTypesItems retain] forKey:SPQuickLookTypes];
[qlTypesItems release];
}
return self;
@@ -131,8 +132,8 @@
isObjectBlob:(BOOL)isFieldBlob isEditable:(BOOL)isEditable withWindow:(NSWindow *)tableWindow
{
- if ( ![prefs objectForKey:@"FieldEditorSheetFont"] )
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( ![prefs objectForKey:SPFieldEditorSheetFont] )
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[editTextView setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
} else {
[editTextView setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
@@ -253,7 +254,7 @@
[editTextView setSelectedRange:NSMakeRange(0,0)];
// If the string content is NULL select NULL for convenience
- if([stringValue isEqualToString:[prefs objectForKey:@"NullValue"]])
+ if([stringValue isEqualToString:[prefs objectForKey:SPNullValue]])
[editTextView setSelectedRange:NSMakeRange(0,[[editTextView string] length])];
// Set focus
@@ -349,7 +350,7 @@
// - for max text length (except for NULL value string) select the part which won't be saved
// and suppress closing the sheet
if(sender == editSheetOkButton) {
- if (maxTextLength > 0 && [[editTextView textStorage] length] > maxTextLength && ![[[editTextView textStorage] string] isEqualToString:[prefs objectForKey:@"NullValue"]]) {
+ if (maxTextLength > 0 && [[editTextView textStorage] length] > maxTextLength && ![[[editTextView textStorage] string] isEqualToString:[prefs objectForKey:SPNullValue]]) {
[editTextView setSelectedRange:NSMakeRange(maxTextLength, [[editTextView textStorage] length] - maxTextLength)];
[editTextView scrollRangeToVisible:NSMakeRange([editTextView selectedRange].location,0)];
[SPTooltip showWithObject:[NSString stringWithFormat:NSLocalizedString(@"Text is too long. Maximum text length is set to %d.", @"Text is too long. Maximum text length is set to %d."), maxTextLength]];
@@ -839,7 +840,7 @@
{
if(textView == editTextView && maxTextLength > 0
- && ![ [[[editTextView textStorage] string] stringByAppendingString:replacementString] isEqualToString:[prefs objectForKey:@"NullValue"]]) {
+ && ![ [[[editTextView textStorage] string] stringByAppendingString:replacementString] isEqualToString:[prefs objectForKey:SPNullValue]]) {
int newLength;
diff --git a/Source/SPGrowlController.m b/Source/SPGrowlController.m
index b939d878..f96602cd 100644
--- a/Source/SPGrowlController.m
+++ b/Source/SPGrowlController.m
@@ -24,6 +24,8 @@
// More info at <http://code.google.com/p/sequel-pro/>
#import "SPGrowlController.h"
+#import "SPConstants.h"
+
#include <mach/mach_time.h>
static SPGrowlController *sharedGrowlController = nil;
@@ -141,7 +143,7 @@ static SPGrowlController *sharedGrowlController = nil;
}
// Post notification only if preference is set and visibility has been confirmed
- if (postNotification && [[NSUserDefaults standardUserDefaults] boolForKey:@"GrowlEnabled"]) {
+ if (postNotification && [[NSUserDefaults standardUserDefaults] boolForKey:SPGrowlEnabled]) {
[GrowlApplicationBridge notifyWithTitle:title
description:description
notificationName:name
diff --git a/Source/SPNarrowDownCompletion.m b/Source/SPNarrowDownCompletion.m
index 27850bae..10274d73 100644
--- a/Source/SPNarrowDownCompletion.m
+++ b/Source/SPNarrowDownCompletion.m
@@ -31,6 +31,7 @@
#import "SPNarrowDownCompletion.h"
#import "SPArrayAdditions.h"
#import "ImageAndTextCell.h"
+#import "SPConstants.h"
@interface NSTableView (MovingSelectedRow)
- (BOOL)SP_NarrowDownCompletion_canHandleEvent:(NSEvent*)anEvent;
@@ -98,7 +99,7 @@
caseSensitive = YES;
filtered = nil;
- tableFont = [NSUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] dataForKey:@"CustomQueryEditorFont"]];
+ tableFont = [NSUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] dataForKey:SPCustomQueryEditorFont]];
[self setupInterface];
}
return self;
diff --git a/Source/SPNotLoaded.h b/Source/SPNotLoaded.h
index e2026525..611a3f91 100644
--- a/Source/SPNotLoaded.h
+++ b/Source/SPNotLoaded.h
@@ -25,9 +25,7 @@
#import <Cocoa/Cocoa.h>
-@interface SPNotLoaded : NSObject {
-
-}
+@interface SPNotLoaded : NSObject
+ (SPNotLoaded *) notLoaded;
diff --git a/Source/SPOutlineView.h b/Source/SPOutlineView.h
index c361f788..8f1b581e 100644
--- a/Source/SPOutlineView.h
+++ b/Source/SPOutlineView.h
@@ -25,9 +25,6 @@
#import <Foundation/Foundation.h>
-
-@interface SPOutlineView : NSOutlineView {
-
-}
+@interface SPOutlineView : NSOutlineView
@end
diff --git a/Source/SPOutlineView.m b/Source/SPOutlineView.m
index 97f8cab3..cfbb0cc2 100644
--- a/Source/SPOutlineView.m
+++ b/Source/SPOutlineView.m
@@ -22,10 +22,8 @@
//
// More info at <http://code.google.com/p/sequel-pro/>
-
#import "SPOutlineView.h"
-
@implementation SPOutlineView
- (BOOL)acceptsFirstResponder
@@ -33,9 +31,9 @@
return YES;
}
--(void)keyDown:(NSEvent *)theEvent
+- (void)keyDown:(NSEvent *)theEvent
{
- if([self numberOfSelectedRows] == 1 && ([theEvent keyCode] == 36 || [theEvent keyCode] == 76))
+ if ([self numberOfSelectedRows] == 1 && ([theEvent keyCode] == 36 || [theEvent keyCode] == 76))
{
[self editColumn:0 row:[self selectedRow] withEvent:nil select:YES];
}
@@ -43,4 +41,5 @@
[super keyDown:theEvent];
}
}
+
@end
diff --git a/Source/SPPreferenceController.m b/Source/SPPreferenceController.m
index 36834616..d9fd38eb 100644
--- a/Source/SPPreferenceController.m
+++ b/Source/SPPreferenceController.m
@@ -29,8 +29,7 @@
#import "SPKeychain.h"
#import "TableDocument.h"
#import "SPConnectionController.h"
-
-#define FAVORITES_PB_DRAG_TYPE @"SequelProPreferencesPasteboard"
+#import "SPConstants.h"
#define PREFERENCE_TOOLBAR_GENERAL @"Preference Toolbar General"
#define PREFERENCE_TOOLBAR_TABLES @"Preference Toolbar Tables"
@@ -118,35 +117,35 @@
// Get the current revision
if ([prefs objectForKey:@"lastUsedVersion"]) recordedVersionNumber = [[prefs objectForKey:@"lastUsedVersion"] intValue];
- if ([prefs objectForKey:@"LastUsedVersion"]) recordedVersionNumber = [[prefs objectForKey:@"LastUsedVersion"] intValue];
+ if ([prefs objectForKey:SPLastUsedVersion]) recordedVersionNumber = [[prefs objectForKey:SPLastUsedVersion] intValue];
// Skip processing if the current version matches or is less than recorded version
if (currentVersionNumber <= recordedVersionNumber) return;
// If no recorded version, update to current revision and skip processing
if (!recordedVersionNumber) {
- [prefs setObject:[NSNumber numberWithInt:currentVersionNumber] forKey:@"LastUsedVersion"];
+ [prefs setObject:[NSNumber numberWithInt:currentVersionNumber] forKey:SPLastUsedVersion];
return;
}
// For versions prior to r336 (0.9.4), where column widths have been saved, walk through them and remove
// any table widths set to 15 or less (fix for mangled columns caused by Issue #140)
- if (recordedVersionNumber < 336 && [prefs objectForKey:@"tableColumnWidths"] != nil) {
+ if (recordedVersionNumber < 336 && [prefs objectForKey:SPTableColumnWidths] != nil) {
NSEnumerator *databaseEnumerator, *tableEnumerator, *columnEnumerator;
NSString *databaseKey, *tableKey, *columnKey;
NSMutableDictionary *newDatabase, *newTable;
float columnWidth;
NSMutableDictionary *newTableColumnWidths = [[NSMutableDictionary alloc] init];
- databaseEnumerator = [[prefs objectForKey:@"tableColumnWidths"] keyEnumerator];
+ databaseEnumerator = [[prefs objectForKey:SPTableColumnWidths] keyEnumerator];
while (databaseKey = [databaseEnumerator nextObject]) {
newDatabase = [[NSMutableDictionary alloc] init];
- tableEnumerator = [[[prefs objectForKey:@"tableColumnWidths"] objectForKey:databaseKey] keyEnumerator];
+ tableEnumerator = [[[prefs objectForKey:SPTableColumnWidths] objectForKey:databaseKey] keyEnumerator];
while (tableKey = [tableEnumerator nextObject]) {
newTable = [[NSMutableDictionary alloc] init];
- columnEnumerator = [[[[prefs objectForKey:@"tableColumnWidths"] objectForKey:databaseKey] objectForKey:tableKey] keyEnumerator];
+ columnEnumerator = [[[[prefs objectForKey:SPTableColumnWidths] objectForKey:databaseKey] objectForKey:tableKey] keyEnumerator];
while (columnKey = [columnEnumerator nextObject]) {
- columnWidth = [[[[[prefs objectForKey:@"tableColumnWidths"] objectForKey:databaseKey] objectForKey:tableKey] objectForKey:columnKey] floatValue];
+ columnWidth = [[[[[prefs objectForKey:SPTableColumnWidths] objectForKey:databaseKey] objectForKey:tableKey] objectForKey:columnKey] floatValue];
if (columnWidth >= 15) {
[newTable setObject:[NSNumber numberWithFloat:columnWidth] forKey:[NSString stringWithString:columnKey]];
}
@@ -161,7 +160,7 @@
}
[newDatabase release];
}
- [prefs setObject:[NSDictionary dictionaryWithDictionary:newTableColumnWidths] forKey:@"tableColumnWidths"];
+ [prefs setObject:[NSDictionary dictionaryWithDictionary:newTableColumnWidths] forKey:SPTableColumnWidths];
[newTableColumnWidths release];
}
@@ -170,20 +169,20 @@
NSEnumerator *keyEnumerator;
NSString *oldKey, *newKey;
NSDictionary *keysToUpgrade = [NSDictionary dictionaryWithObjectsAndKeys:
- @"encoding", @"DefaultEncoding",
- @"useMonospacedFonts", @"UseMonospacedFonts",
- @"reloadAfterAdding", @"ReloadAfterAddingRow",
- @"reloadAfterEditing", @"ReloadAfterEditingRow",
- @"reloadAfterRemoving", @"ReloadAfterRemovingRow",
- @"dontShowBlob", @"LoadBlobsAsNeeded",
- @"fetchRowCount", @"FetchCorrectRowCount",
- @"limitRows", @"LimitResults",
- @"limitRowsValue", @"LimitResultsValue",
- @"nullValue", @"NullValue",
- @"showError", @"ShowNoAffectedRowsError",
- @"connectionTimeout", @"ConnectionTimeoutValue",
- @"keepAliveInterval", @"KeepAliveInterval",
- @"lastFavoriteIndex", @"LastFavoriteIndex",
+ @"encoding", SPDefaultEncoding,
+ @"useMonospacedFonts", SPUseMonospacedFonts,
+ @"reloadAfterAdding", SPReloadAfterAddingRow,
+ @"reloadAfterEditing", SPReloadAfterEditingRow,
+ @"reloadAfterRemoving", SPReloadAfterRemovingRow,
+ @"dontShowBlob", SPLoadBlobsAsNeeded,
+ @"fetchRowCount", SPFetchCorrectRowCount,
+ @"limitRows", SPLimitResults,
+ @"limitRowsValue", SPLimitResultsValue,
+ @"nullValue", SPNullValue,
+ @"showError", SPShowNoAffectedRowsError,
+ @"connectionTimeout", SPConnectionTimeoutValue,
+ @"keepAliveInterval", SPKeepAliveInterval,
+ @"lastFavoriteIndex", SPLastFavoriteIndex,
nil];
keyEnumerator = [keysToUpgrade keyEnumerator];
@@ -201,8 +200,8 @@
}
// For versions prior to r567 (0.9.5), add a timestamp-based identifier to favorites and keychain entries
- if (recordedVersionNumber < 567 && [prefs objectForKey:@"favorites"]) {
- NSMutableArray *favoritesArray = [NSMutableArray arrayWithArray:[prefs objectForKey:@"favorites"]];
+ if (recordedVersionNumber < 567 && [prefs objectForKey:SPFavorites]) {
+ NSMutableArray *favoritesArray = [NSMutableArray arrayWithArray:[prefs objectForKey:SPFavorites]];
NSMutableDictionary *favorite;
NSString *password, *keychainName, *keychainAccount;
SPKeychain *upgradeKeychain = [[SPKeychain alloc] init];
@@ -223,14 +222,14 @@
}
[favoritesArray replaceObjectAtIndex:i withObject:[NSDictionary dictionaryWithDictionary:favorite]];
}
- [prefs setObject:[NSArray arrayWithArray:favoritesArray] forKey:@"favorites"];
+ [prefs setObject:[NSArray arrayWithArray:favoritesArray] forKey:SPFavorites];
[upgradeKeychain release];
password = nil;
}
// For versions prior to r981 (~0.9.6), upgrade the favourites to include a connection type for each
- if (recordedVersionNumber < 981 && [prefs objectForKey:@"favorites"]) {
- NSMutableArray *favoritesArray = [NSMutableArray arrayWithArray:[prefs objectForKey:@"favorites"]];
+ if (recordedVersionNumber < 981 && [prefs objectForKey:SPFavorites]) {
+ NSMutableArray *favoritesArray = [NSMutableArray arrayWithArray:[prefs objectForKey:SPFavorites]];
NSMutableDictionary *favorite;
// Cycle through the favorites
@@ -258,7 +257,7 @@
[favoritesArray replaceObjectAtIndex:i withObject:[NSDictionary dictionaryWithDictionary:favorite]];
}
- [prefs setObject:[NSArray arrayWithArray:favoritesArray] forKey:@"favorites"];
+ [prefs setObject:[NSArray arrayWithArray:favoritesArray] forKey:SPFavorites];
}
// For versions prior to r1128 (~0.9.6), reset the main window toolbar items to add new items
@@ -269,8 +268,8 @@
}
// For versions prior to r1263 (~0.9.7), convert the query favorites array to an array of dictionaries
- if (recordedVersionNumber < 1263 && [prefs objectForKey:@"queryFavorites"]) {
- NSMutableArray *queryFavoritesArray = [NSMutableArray arrayWithArray:[prefs objectForKey:@"queryFavorites"]];
+ if (recordedVersionNumber < 1263 && [prefs objectForKey:SPQueryFavorites]) {
+ NSMutableArray *queryFavoritesArray = [NSMutableArray arrayWithArray:[prefs objectForKey:SPQueryFavorites]];
for (i = 0; i < [queryFavoritesArray count]; i++)
{
@@ -285,11 +284,11 @@
[queryFavoritesArray replaceObjectAtIndex:i withObject:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:favoriteName, favorite, nil] forKeys:[NSArray arrayWithObjects:@"name", @"query", nil]]];
}
- [prefs setObject:queryFavoritesArray forKey:@"queryFavorites"];
+ [prefs setObject:queryFavoritesArray forKey:SPQueryFavorites];
}
// Update the prefs revision
- [prefs setObject:[NSNumber numberWithInt:currentVersionNumber] forKey:@"LastUsedVersion"];
+ [prefs setObject:[NSNumber numberWithInt:currentVersionNumber] forKey:SPLastUsedVersion];
}
#pragma mark -
@@ -342,13 +341,13 @@
account:[keychain accountForSSHUser:sshUser sshHost:sshHost]];
// Reset last used favorite
- if ([favoritesTableView selectedRow] == [prefs integerForKey:@"LastFavoriteIndex"]) {
- [prefs setInteger:0 forKey:@"LastFavoriteIndex"];
+ if ([favoritesTableView selectedRow] == [prefs integerForKey:SPLastFavoriteIndex]) {
+ [prefs setInteger:0 forKey:SPLastFavoriteIndex];
}
// Reset default favorite
if ([favoritesTableView selectedRow] == [prefs integerForKey:@"DefaultFavorite"]) {
- [prefs setInteger:[prefs integerForKey:@"LastFavoriteIndex"] forKey:@"DefaultFavorite"];
+ [prefs setInteger:[prefs integerForKey:SPLastFavoriteIndex] forKey:@"DefaultFavorite"];
}
[favoritesController removeObjectAtArrangedObjectIndex:[favoritesTableView selectedRow]];
@@ -419,9 +418,9 @@
- (IBAction)updateDefaultFavorite:(id)sender
{
if ([defaultFavoritePopup indexOfSelectedItem] == 0) {
- [prefs setBool:YES forKey:@"SelectLastFavoriteUsed"];
+ [prefs setBool:YES forKey:SPSelectLastFavoriteUsed];
} else {
- [prefs setBool:NO forKey:@"SelectLastFavoriteUsed"];
+ [prefs setBool:NO forKey:SPSelectLastFavoriteUsed];
// Minus 2 from index to account for the "Last Used" and separator items
[prefs setInteger:[defaultFavoritePopup indexOfSelectedItem]-2 forKey:@"DefaultFavorite"];
@@ -455,7 +454,7 @@
- (IBAction)displayEditorPreferences:(id)sender
{
[toolbar setSelectedItemIdentifier:PREFERENCE_TOOLBAR_EDITOR];
- NSFont *nf = [NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorFont"]];
+ NSFont *nf = [NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorFont]];
[editorFontName setStringValue:[NSString stringWithFormat:@"%@, %.1f pt", [nf displayName], [nf pointSize]]];
[self _resizeWindowForContentView:editorView];
}
@@ -470,7 +469,7 @@
// Set the default favorite popup back to preference
if (sender == [defaultFavoritePopup lastItem]) {
- if (![prefs boolForKey:@"SelectLastFavoriteUsed"]) {
+ if (![prefs boolForKey:SPSelectLastFavoriteUsed]) {
[defaultFavoritePopup selectItemAtIndex:[prefs integerForKey:@"DefaultFavorite"]+2];
} else {
[defaultFavoritePopup selectItemAtIndex:0];
@@ -590,7 +589,7 @@
draggedRow = [NSMutableDictionary dictionaryWithDictionary:[[favoritesController arrangedObjects] objectAtIndex:originalRow]];
//Before deleting this favorite, we need to save the current index.
//because removeObjectAtArrangedObjectIndex will set prefs LastFavoriteIndex to 0
- lastFavoriteIndexCached = [prefs integerForKey:@"LastFavoriteIndex"];
+ lastFavoriteIndexCached = [prefs integerForKey:SPLastFavoriteIndex];
[favoritesController removeObjectAtArrangedObjectIndex:originalRow];
[favoritesController insertObject:draggedRow atArrangedObjectIndex:destinationRow];
@@ -600,7 +599,7 @@
// Update default favorite to take on new value
if (lastFavoriteIndexCached == originalRow) {
- [prefs setInteger:destinationRow forKey:@"LastFavoriteIndex"];
+ [prefs setInteger:destinationRow forKey:SPLastFavoriteIndex];
}
// Update default favorite to take on new value
@@ -964,12 +963,12 @@
);
}
- [prefs setBool:value forKey:@"GrowlEnabled"];
+ [prefs setBool:value forKey:SPGrowlEnabled];
}
- (BOOL)growlEnabled
{
- return [prefs boolForKey:@"GrowlEnabled"];
+ return [prefs boolForKey:SPGrowlEnabled];
}
@@ -1002,7 +1001,7 @@
[[[defaultFavoritePopup menu] itemWithTitle:@"Edit Favorites…"] setTarget:self];
// Select the default favorite from prefs
- if (![prefs boolForKey:@"SelectLastFavoriteUsed"]) {
+ if (![prefs boolForKey:SPSelectLastFavoriteUsed]) {
[defaultFavoritePopup selectItemAtIndex:[prefs integerForKey:@"DefaultFavorite"] + 2];
} else {
[defaultFavoritePopup selectItemAtIndex:0];
@@ -1038,23 +1037,23 @@
// show the font panel
- (IBAction)showCustomQueryFontPanel:(id)sender
{
- [[NSFontPanel sharedFontPanel] setPanelFont:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorFont"]] isMultiple:NO];
+ [[NSFontPanel sharedFontPanel] setPanelFont:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorFont]] isMultiple:NO];
[[NSFontPanel sharedFontPanel] makeKeyAndOrderFront:self];
}
// reset syntax highlighting colors
- (IBAction)setDefaultColors:(id)sender
{
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.000 green:0.455 blue:0.000 alpha:1.000]] forKey:@"CustomQueryEditorCommentColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.769 green:0.102 blue:0.086 alpha:1.000]] forKey:@"CustomQueryEditorQuoteColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.200 green:0.250 blue:1.000 alpha:1.000]] forKey:@"CustomQueryEditorSQLKeywordColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.000 green:0.000 blue:0.658 alpha:1.000]] forKey:@"CustomQueryEditorBacktickColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.506 green:0.263 blue:0.000 alpha:1.000]] forKey:@"CustomQueryEditorNumericColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.500 green:0.500 blue:0.500 alpha:1.000]] forKey:@"CustomQueryEditorVariableColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.950 green:0.950 blue:0.950 alpha:1.000]] forKey:@"CustomQueryEditorHighlightQueryColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor blackColor]] forKey:@"CustomQueryEditorTextColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor blackColor]] forKey:@"CustomQueryEditorCaretColor"];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor whiteColor]] forKey:@"CustomQueryEditorBackgroundColor"];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.000 green:0.455 blue:0.000 alpha:1.000]] forKey:SPCustomQueryEditorCommentColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.769 green:0.102 blue:0.086 alpha:1.000]] forKey:SPCustomQueryEditorQuoteColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.200 green:0.250 blue:1.000 alpha:1.000]] forKey:SPCustomQueryEditorSQLKeywordColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.000 green:0.000 blue:0.658 alpha:1.000]] forKey:SPCustomQueryEditorBacktickColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.506 green:0.263 blue:0.000 alpha:1.000]] forKey:SPCustomQueryEditorNumericColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.500 green:0.500 blue:0.500 alpha:1.000]] forKey:SPCustomQueryEditorVariableColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor colorWithDeviceRed:0.950 green:0.950 blue:0.950 alpha:1.000]] forKey:SPCustomQueryEditorHighlightQueryColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor blackColor]] forKey:SPCustomQueryEditorTextColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor blackColor]] forKey:SPCustomQueryEditorCaretColor];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor whiteColor]] forKey:SPCustomQueryEditorBackgroundColor];
}
// set font panel's valid modes
@@ -1065,8 +1064,8 @@
// Action receiver for a font change in the font panel
- (void)changeFont:(id)sender
{
- NSFont *nf = [[NSFontPanel sharedFontPanel] panelConvertFont:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorFont"]]];
- [prefs setObject:[NSArchiver archivedDataWithRootObject:nf] forKey:@"CustomQueryEditorFont"];
+ NSFont *nf = [[NSFontPanel sharedFontPanel] panelConvertFont:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:SPCustomQueryEditorFont]]];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:nf] forKey:SPCustomQueryEditorFont];
[editorFontName setStringValue:[NSString stringWithFormat:@"%@, %.1f pt", [nf displayName], [nf pointSize]]];
}
diff --git a/Source/SPPrintAccessory.m b/Source/SPPrintAccessory.m
index cf0e7ef2..f4b68574 100644
--- a/Source/SPPrintAccessory.m
+++ b/Source/SPPrintAccessory.m
@@ -76,4 +76,4 @@
[super dealloc];
}
-@end \ No newline at end of file
+@end
diff --git a/Source/SPQueryController.h b/Source/SPQueryController.h
index d030014a..e5b4c557 100644
--- a/Source/SPQueryController.h
+++ b/Source/SPQueryController.h
@@ -27,7 +27,6 @@
@interface SPQueryController : NSWindowController
{
-
// QueryConsoleController
IBOutlet NSView *saveLogView;
IBOutlet NSTableView *consoleTableView;
diff --git a/Source/SPQueryController.m b/Source/SPQueryController.m
index c1e632d1..422e1f59 100644
--- a/Source/SPQueryController.m
+++ b/Source/SPQueryController.m
@@ -26,12 +26,12 @@
#import "SPQueryController.h"
#import "SPConsoleMessage.h"
#import "SPArrayAdditions.h"
+#import "SPConstants.h"
#define MESSAGE_TRUNCATE_CHARACTER_LENGTH 256
#define MESSAGE_TIME_STAMP_FORMAT @"%H:%M:%S"
#define DEFAULT_CONSOLE_LOG_FILENAME @"untitled"
-#define DEFAULT_CONSOLE_LOG_FILE_EXTENSION @"sql"
#define CONSOLE_WINDOW_AUTO_SAVE_NAME @"QueryConsole"
@@ -131,13 +131,13 @@ static SPQueryController *sharedQueryController = nil;
prefs = [NSUserDefaults standardUserDefaults];
[self setWindowFrameAutosaveName:CONSOLE_WINDOW_AUTO_SAVE_NAME];
- [[consoleTableView tableColumnWithIdentifier:TABLEVIEW_DATE_COLUMN_IDENTIFIER] setHidden:![prefs boolForKey:@"ConsoleShowTimestamps"]];
- showSelectStatementsAreDisabled = ![prefs boolForKey:@"ConsoleShowSelectsAndShows"];
- showHelpStatementsAreDisabled = ![prefs boolForKey:@"ConsoleShowHelps"];
+ [[consoleTableView tableColumnWithIdentifier:TABLEVIEW_DATE_COLUMN_IDENTIFIER] setHidden:![prefs boolForKey:SPConsoleShowTimestamps]];
+ showSelectStatementsAreDisabled = ![prefs boolForKey:SPConsoleShowSelectsAndShows];
+ showHelpStatementsAreDisabled = ![prefs boolForKey:SPConsoleShowHelps];
[self _updateFilterState];
- [loggingDisabledTextField setStringValue:([prefs boolForKey:@"ConsoleEnableLogging"]) ? @"" : @"Query logging is currently disabled"];
+ [loggingDisabledTextField setStringValue:([prefs boolForKey:SPConsoleEnableLogging]) ? @"" : @"Query logging is currently disabled"];
}
/**
@@ -158,7 +158,7 @@ static SPQueryController *sharedQueryController = nil;
[super dealloc];
}
-#pragma mark ----------------------
+#pragma mark -
#pragma mark QueryConsoleController
@@ -381,7 +381,7 @@ static SPQueryController *sharedQueryController = nil;
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
- if ([keyPath isEqualToString:@"ConsoleEnableLogging"]) {
+ if ([keyPath isEqualToString:SPConsoleEnableLogging]) {
[loggingDisabledTextField setStringValue:([[change objectForKey:NSKeyValueChangeNewKey] boolValue]) ? @"" : @"Query logging is currently disabled"];
}
}
@@ -421,7 +421,7 @@ static SPQueryController *sharedQueryController = nil;
return @"QueryConsole";
}
-#pragma mark ----------------------
+#pragma mark -
#pragma mark DocumentsController
- (NSURL *)registerDocumentWithFileURL:(NSURL *)fileURL andContextInfo:(NSMutableDictionary *)contextInfo
@@ -440,9 +440,9 @@ static SPQueryController *sharedQueryController = nil;
// Set the global history coming from the Prefs as default if available
if(![historyContainer objectForKey:[new absoluteString]]) {
- if([prefs objectForKey:@"queryHistory"]) {
+ if([prefs objectForKey:SPQueryHistory]) {
NSMutableArray *arr = [[NSMutableArray alloc] init];
- [arr addObjectsFromArray:[prefs objectForKey:@"queryHistory"]];
+ [arr addObjectsFromArray:[prefs objectForKey:SPQueryHistory]];
[historyContainer setObject:arr forKey:[new absoluteString]];
[arr release];
} else {
@@ -464,9 +464,9 @@ static SPQueryController *sharedQueryController = nil;
// Register a spf file to manage all query favorites and query history items
// file path based (incl. Untitled docs) in a dictionary whereby the key represents the file URL as string.
if(![favoritesContainer objectForKey:[fileURL absoluteString]]) {
- if(contextInfo != nil && [contextInfo objectForKey:@"queryFavorites"] && [[contextInfo objectForKey:@"queryFavorites"] count]) {
+ if(contextInfo != nil && [contextInfo objectForKey:SPQueryFavorites] && [[contextInfo objectForKey:SPQueryFavorites] count]) {
NSMutableArray *arr = [[NSMutableArray alloc] init];
- [arr addObjectsFromArray:[contextInfo objectForKey:@"queryFavorites"]];
+ [arr addObjectsFromArray:[contextInfo objectForKey:SPQueryFavorites]];
[favoritesContainer setObject:arr forKey:[fileURL absoluteString]];
[arr release];
} else {
@@ -476,9 +476,9 @@ static SPQueryController *sharedQueryController = nil;
}
}
if(![historyContainer objectForKey:[fileURL absoluteString]]) {
- if(contextInfo != nil && [contextInfo objectForKey:@"queryHistory"] && [[contextInfo objectForKey:@"queryHistory"] count]) {
+ if(contextInfo != nil && [contextInfo objectForKey:SPQueryHistory] && [[contextInfo objectForKey:SPQueryHistory] count]) {
NSMutableArray *arr = [[NSMutableArray alloc] init];
- [arr addObjectsFromArray:[contextInfo objectForKey:@"queryHistory"]];
+ [arr addObjectsFromArray:[contextInfo objectForKey:SPQueryHistory]];
[historyContainer setObject:arr forKey:[fileURL absoluteString]];
[arr release];
} else {
@@ -488,8 +488,8 @@ static SPQueryController *sharedQueryController = nil;
}
}
if(![contentFilterContainer objectForKey:[fileURL absoluteString]]) {
- if(contextInfo != nil && [contextInfo objectForKey:@"ContentFilters"]) {
- [contentFilterContainer setObject:[contextInfo objectForKey:@"ContentFilters"] forKey:[fileURL absoluteString]];
+ if(contextInfo != nil && [contextInfo objectForKey:SPContentFilters]) {
+ [contentFilterContainer setObject:[contextInfo objectForKey:SPContentFilters] forKey:[fileURL absoluteString]];
} else {
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[contentFilterContainer setObject:dict forKey:[fileURL absoluteString]];
@@ -558,7 +558,7 @@ static SPQueryController *sharedQueryController = nil;
- (void)addHistory:(NSString *)history forFileURL:(NSURL *)fileURL
{
- NSUInteger maxHistoryItems = [[prefs objectForKey:@"CustomQueryMaxHistoryItems"] intValue];
+ NSUInteger maxHistoryItems = [[prefs objectForKey:SPCustomQueryMaxHistoryItems] intValue];
// Save each history item due to its document source
if([historyContainer objectForKey:[fileURL absoluteString]]) {
@@ -582,13 +582,13 @@ static SPQueryController *sharedQueryController = nil;
// Remove all duplicates by using a NSPopUpButton
NSPopUpButton *uniquifier = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0,0,0,0) pullsDown:YES];
- [uniquifier addItemsWithTitles:[prefs objectForKey:@"queryHistory"]];
+ [uniquifier addItemsWithTitles:[prefs objectForKey:SPQueryHistory]];
[uniquifier insertItemWithTitle:history atIndex:0];
while ( [uniquifier numberOfItems] > maxHistoryItems )
[uniquifier removeItemAtIndex:[uniquifier numberOfItems]-1];
- [prefs setObject:[uniquifier itemTitles] forKey:@"queryHistory"];
+ [prefs setObject:[uniquifier itemTitles] forKey:SPQueryHistory];
[uniquifier release];
}
@@ -633,8 +633,8 @@ static SPQueryController *sharedQueryController = nil;
[result addObject:fav];
}
- if(includeGlobals && [prefs objectForKey:@"queryFavorites"]) {
- for(id fav in [prefs objectForKey:@"queryFavorites"]) {
+ if(includeGlobals && [prefs objectForKey:SPQueryFavorites]) {
+ for(id fav in [prefs objectForKey:SPQueryFavorites]) {
if([fav objectForKey:@"tabtrigger"] && [[fav objectForKey:@"tabtrigger"] isEqualToString:tabTrigger])
[result addObject:fav];
}
diff --git a/Source/SPQueryFavoriteManager.m b/Source/SPQueryFavoriteManager.m
index eb409500..c499f742 100644
--- a/Source/SPQueryFavoriteManager.m
+++ b/Source/SPQueryFavoriteManager.m
@@ -27,15 +27,11 @@
#import "ImageAndTextCell.h"
#import "SPEncodingPopupAccessory.h"
#import "SPQueryController.h"
-
-#define DEFAULT_QUERY_FAVORITE_FILE_EXTENSION @"sql"
-#define DEFAULT_SEQUELPRO_FILE_EXTENSION @"spf"
+#import "SPConstants.h"
#define SP_MULTIPLE_SELECTION_PLACEHOLDER_STRING NSLocalizedString(@"[multiple selection]", @"[multiple selection]")
#define SP_NO_SELECTION_PLACEHOLDER_STRING NSLocalizedString(@"[no selection]", @"[no selection]")
-#define QUERY_FAVORITES_PB_DRAG_TYPE @"SequelProQueryFavoritesPasteboard"
-
@interface SPQueryFavoriteManager (Private)
- (void)_initWithNoSelection;
@end
@@ -96,8 +92,8 @@
// Build data source for global queryFavorites (as mutable copy! otherwise each
// change will be stored in the prefs at once)
- if([prefs objectForKey:@"queryFavorites"]) {
- for(id fav in [prefs objectForKey:@"queryFavorites"])
+ if([prefs objectForKey:SPQueryFavorites]) {
+ for(id fav in [prefs objectForKey:SPQueryFavorites])
[favorites addObject:[[fav mutableCopy] autorelease]];
}
@@ -294,7 +290,7 @@
[panel setCanSelectHiddenExtension:YES];
[panel setCanCreateDirectories:YES];
- [panel setAccessoryView:[SPEncodingPopupAccessory encodingAccessory:[prefs integerForKey:@"lastSqlFileEncoding"] includeDefaultEntry:NO encodingPopUp:&encodingPopUp]];
+ [panel setAccessoryView:[SPEncodingPopupAccessory encodingAccessory:[prefs integerForKey:SPLastSQLFileEncoding] includeDefaultEntry:NO encodingPopUp:&encodingPopUp]];
[encodingPopUp setEnabled:YES];
@@ -305,7 +301,7 @@
{
NSSavePanel *panel = [NSSavePanel savePanel];
- [panel setRequiredFileType:DEFAULT_SEQUELPRO_FILE_EXTENSION];
+ [panel setRequiredFileType:DEFAULT_SEQUEL_PRO_FILE_EXTENSION];
[panel setExtensionHidden:NO];
[panel setAllowsOtherFileTypes:NO];
@@ -368,7 +364,7 @@
[self queryFavoritesForFileURL:delegatesFileURL] forFileURL:delegatesFileURL];
// Update global preferences' list
- [prefs setObject:[self queryFavoritesForFileURL:nil] forKey:@"queryFavorites"];
+ [prefs setObject:[self queryFavoritesForFileURL:nil] forKey:SPQueryFavorites];
// Inform all opened documents to update the query favorites list
for(id doc in [[NSDocumentController sharedDocumentController] documents])
@@ -730,17 +726,17 @@
return;
}
- if([spf objectForKey:@"queryFavorites"] && [[spf objectForKey:@"queryFavorites"] count]) {
+ if([spf objectForKey:SPQueryFavorites] && [[spf objectForKey:SPQueryFavorites] count]) {
// if([favoritesTableView numberOfSelectedRows] > 0) {
// // Insert imported queries after the last selected favorite
// NSUInteger insertIndex = [[favoritesTableView selectedRowIndexes] lastIndex] + 1;
// NSUInteger i;
- // for(i=0; i<[[spf objectForKey:@"queryFavorites"] count]; i++) {
- // [favorites insertObject:[[spf objectForKey:@"queryFavorites"] objectAtIndex:i] atIndex:insertIndex+i];
+ // for(i=0; i<[[spf objectForKey:SPQueryFavorites] count]; i++) {
+ // [favorites insertObject:[[spf objectForKey:SPQueryFavorites] objectAtIndex:i] atIndex:insertIndex+i];
// }
// } else {
// // If no selection add them
- [favorites addObjectsFromArray:[spf objectForKey:@"queryFavorites"]];
+ [favorites addObjectsFromArray:[spf objectForKey:SPQueryFavorites]];
// }
[favoritesArrayController rearrangeObjects];
[favoritesTableView reloadData];
@@ -770,7 +766,7 @@
if (returnCode == NSOKButton) {
NSError *error = nil;
- [prefs setInteger:[[encodingPopUp selectedItem] tag] forKey:@"lastSqlFileEncoding"];
+ [prefs setInteger:[[encodingPopUp selectedItem] tag] forKey:SPLastSQLFileEncoding];
[prefs synchronize];
[[favoriteQueryTextView string] writeToFile:[panel filename] atomically:YES encoding:[[encodingPopUp selectedItem] tag] error:&error];
@@ -798,7 +794,7 @@
if([indexes containsIndex:i])
[favoriteData addObject:[favorites objectAtIndex:i]];
- [spfdata setObject:favoriteData forKey:@"queryFavorites"];
+ [spfdata setObject:favoriteData forKey:SPQueryFavorites];
NSString *err = nil;
NSData *plist = [NSPropertyListSerialization dataFromPropertyList:spfdata
diff --git a/Source/SPSSHTunnel.m b/Source/SPSSHTunnel.m
index 843acb89..d6a5756f 100644
--- a/Source/SPSSHTunnel.m
+++ b/Source/SPSSHTunnel.m
@@ -26,6 +26,8 @@
#import "SPSSHTunnel.h"
#import "RegexKitLite.h"
#import "SPKeychain.h"
+#import "SPConstants.h"
+
#import <netinet/in.h>
@implementation SPSSHTunnel
@@ -193,10 +195,10 @@
return;
}
- int connectionTimeout = [[[NSUserDefaults standardUserDefaults] objectForKey:@"ConnectionTimeoutValue"] intValue];
+ int connectionTimeout = [[[NSUserDefaults standardUserDefaults] objectForKey:SPConnectionTimeoutValue] intValue];
if (!connectionTimeout) connectionTimeout = 10;
- BOOL useKeepAlive = [[[NSUserDefaults standardUserDefaults] objectForKey:@"UseKeepAlive"] doubleValue];
- double keepAliveInterval = [[[NSUserDefaults standardUserDefaults] objectForKey:@"KeepAliveInterval"] doubleValue];
+ BOOL useKeepAlive = [[[NSUserDefaults standardUserDefaults] objectForKey:SPUseKeepAlive] doubleValue];
+ double keepAliveInterval = [[[NSUserDefaults standardUserDefaults] objectForKey:SPKeepAliveInterval] doubleValue];
if (!keepAliveInterval) keepAliveInterval = 0;
// If no local port has yet been chosen, choose one
@@ -415,7 +417,7 @@
connectionState = PROXY_STATE_IDLE;
[task terminate];
if (lastError) [lastError release];
- lastError = [[NSString alloc] initWithFormat:NSLocalizedString(@"The SSH Tunnel was unable to connect to host %@, or the request timed out.\n\nBe sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently %i seconds).", @"SSH tunnel failed or timed out message"), sshHost, [[[NSUserDefaults standardUserDefaults] objectForKey:@"ConnectionTimeoutValue"] intValue]];
+ lastError = [[NSString alloc] initWithFormat:NSLocalizedString(@"The SSH Tunnel was unable to connect to host %@, or the request timed out.\n\nBe sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently %i seconds).", @"SSH tunnel failed or timed out message"), sshHost, [[[NSUserDefaults standardUserDefaults] objectForKey:SPConnectionTimeoutValue] intValue]];
if (delegate) [delegate performSelectorOnMainThread:stateChangeSelector withObject:self waitUntilDone:NO];
}
}
diff --git a/Source/SPTableData.m b/Source/SPTableData.m
index 52911330..efb97540 100644
--- a/Source/SPTableData.m
+++ b/Source/SPTableData.m
@@ -31,6 +31,7 @@
#import "TablesList.h"
#import "SPStringAdditions.h"
#import "SPArrayAdditions.h"
+#import "SPConstants.h"
@implementation SPTableData
@@ -689,7 +690,7 @@
// Select the column default if available
if ([resultRow objectForKey:@"Default"]) {
if ([[resultRow objectForKey:@"Default"] isNSNull]) {
- [tableColumn setValue:[NSString stringWithString:[[NSUserDefaults standardUserDefaults] objectForKey:@"NullValue"]] forKey:@"default"];
+ [tableColumn setValue:[NSString stringWithString:[[NSUserDefaults standardUserDefaults] objectForKey:SPNullValue]] forKey:@"default"];
} else {
[tableColumn setValue:[NSString stringWithString:[resultRow objectForKey:@"Default"]] forKey:@"default"];
}
diff --git a/Source/SPTableView.m b/Source/SPTableView.m
index 1727494a..6e9ccd65 100644
--- a/Source/SPTableView.m
+++ b/Source/SPTableView.m
@@ -25,6 +25,7 @@
#import "SPTableView.h"
#import "SPQueryFavoriteManager.h"
#import "SPArrayAdditions.h"
+#import "SPConstants.h"
@implementation SPTableView
@@ -48,7 +49,7 @@
return nil;
}
if([[[[self delegate] class] description] isEqualToString:@"SPQueryFavoriteManager"]) {
- if([NSArrayObjectAtIndex([[self delegate] valueForKeyPath:@"favorites"], row) objectForKey:@"headerOfFileURL"])
+ if([NSArrayObjectAtIndex([[self delegate] valueForKeyPath:SPFavorites], row) objectForKey:@"headerOfFileURL"])
return nil;
}
if([[[[self delegate] class] description] isEqualToString:@"SPContentFilterManager"]) {
diff --git a/Source/SPTextViewAdditions.m b/Source/SPTextViewAdditions.m
index f3c41fa8..c547c4a5 100644
--- a/Source/SPTextViewAdditions.m
+++ b/Source/SPTextViewAdditions.m
@@ -24,6 +24,7 @@
#import "SPStringAdditions.h"
#import "SPTextViewAdditions.h"
+#import "SPConstants.h"
@implementation NSTextView (SPTextViewAdditions)
@@ -392,8 +393,8 @@
{
id prefs = [NSUserDefaults standardUserDefaults];
if([self respondsToSelector:@selector(insertText:)])
- if([prefs objectForKey:@"NullValue"] && [[prefs objectForKey:@"NullValue"] length])
- [self insertText:[prefs objectForKey:@"NullValue"]];
+ if([prefs objectForKey:SPNullValue] && [[prefs objectForKey:SPNullValue] length])
+ [self insertText:[prefs objectForKey:SPNullValue]];
else
[self insertText:@"NULL"];
diff --git a/Source/TableContent.m b/Source/TableContent.m
index 1c5551c6..ed74a005 100644
--- a/Source/TableContent.m
+++ b/Source/TableContent.m
@@ -47,7 +47,7 @@
#import "RegexKitLite.h"
#import "SPContentFilterManager.h"
#import "SPNotLoaded.h"
-
+#import "SPConstants.h"
@implementation TableContent
@@ -118,7 +118,7 @@
- (void)awakeFromNib
{
// Set the table content view's vertical gridlines if required
- [tableContentView setGridStyleMask:([prefs boolForKey:@"DisplayTableViewVerticalGridlines"]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
+ [tableContentView setGridStyleMask:([prefs boolForKey:SPDisplayTableViewVerticalGridlines]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
}
#pragma mark -
@@ -237,7 +237,7 @@
}
}
- NSString *nullValue = [prefs objectForKey:@"NullValue"];
+ NSString *nullValue = [prefs objectForKey:SPNullValue];
// Add the new columns to the table
for ( i = 0 ; i < [dataColumns count] ; i++ ) {
@@ -283,7 +283,7 @@
}
// Set the data cell font according to the preferences
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[dataCell setFont:[NSFont fontWithName:@"Monaco" size:10]];
} else {
[dataCell setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
@@ -293,7 +293,7 @@
[theCol setDataCell:dataCell];
// Set the width of this column to saved value if exists
- colWidth = [[[[prefs objectForKey:@"tableColumnWidths"] objectForKey:[NSString stringWithFormat:@"%@@%@", [tableDocumentInstance database], [tableDocumentInstance host]]] objectForKey:[tablesListInstance tableName]] objectForKey:[columnDefinition objectForKey:@"name"]];
+ colWidth = [[[[prefs objectForKey:SPTableColumnWidths] objectForKey:[NSString stringWithFormat:@"%@@%@", [tableDocumentInstance database], [tableDocumentInstance host]]] objectForKey:[tablesListInstance tableName]] objectForKey:[columnDefinition objectForKey:@"name"]];
if ( colWidth ) {
[theCol setWidth:[colWidth floatValue]];
}
@@ -371,7 +371,7 @@
[tableWindow makeFirstResponder:currentFirstResponder];
// Enable or disable the limit fields according to preference setting
- if ( [prefs boolForKey:@"LimitResults"] ) {
+ if ( [prefs boolForKey:SPLimitResults] ) {
// Preserve the limit field - if this is beyond the current number of rows,
// reloadData will reset as necessary.
@@ -464,7 +464,7 @@
}
// Check to see if a limit needs to be applied
- if ([prefs boolForKey:@"LimitResults"]) {
+ if ([prefs boolForKey:SPLimitResults]) {
// Ensure the limit isn't negative
if ([limitRowsField intValue] <= 0) {
@@ -478,11 +478,11 @@
}
// Append the limit settings
- [queryString appendFormat:@" LIMIT %d,%d", [limitRowsField intValue]-1, [prefs integerForKey:@"LimitResultsValue"]];
+ [queryString appendFormat:@" LIMIT %d,%d", [limitRowsField intValue]-1, [prefs integerForKey:SPLimitResultsValue]];
// Update the approximate count of the rows to load
rowsToLoad = rowsToLoad - ([limitRowsField intValue]-1);
- if (rowsToLoad > [prefs integerForKey:@"LimitResultsValue"]) rowsToLoad = [prefs integerForKey:@"LimitResultsValue"];
+ if (rowsToLoad > [prefs integerForKey:SPLimitResultsValue]) rowsToLoad = [prefs integerForKey:SPLimitResultsValue];
}
// Perform and process the query
@@ -492,18 +492,18 @@
[streamingResult release];
// If the result is empty, and a limit is active, reset the limit
- if ([prefs boolForKey:@"LimitResults"] && queryStringBeforeLimit && ![tableValues count]) {
+ if ([prefs boolForKey:SPLimitResults] && queryStringBeforeLimit && ![tableValues count]) {
[limitRowsField setStringValue:@"1"];
- queryString = [NSMutableString stringWithFormat:@"%@ LIMIT 0,%d", queryStringBeforeLimit, [prefs integerForKey:@"LimitResultsValue"]];
+ queryString = [NSMutableString stringWithFormat:@"%@ LIMIT 0,%d", queryStringBeforeLimit, [prefs integerForKey:SPLimitResultsValue]];
[self setUsedQuery:queryString];
streamingResult = [mySQLConnection streamingQueryString:queryString];
- [self processResultIntoDataStorage:streamingResult approximateRowCount:[prefs integerForKey:@"LimitResultsValue"]];
+ [self processResultIntoDataStorage:streamingResult approximateRowCount:[prefs integerForKey:SPLimitResultsValue]];
[streamingResult release];
}
- if ([prefs boolForKey:@"LimitResults"]
+ if ([prefs boolForKey:SPLimitResults]
&& ([limitRowsField intValue] > 1
- || [tableValues count] == [prefs integerForKey:@"LimitResultsValue"]))
+ || [tableValues count] == [prefs integerForKey:SPLimitResultsValue]))
{
isLimited = YES;
} else {
@@ -756,8 +756,8 @@
}
// If limitRowsField > number of total table rows show the last limitRowsValue rows
- if ([prefs boolForKey:@"LimitResults"] && [limitRowsField intValue] >= maxNumRows) {
- int newLimit = maxNumRows - [prefs integerForKey:@"LimitResultsValue"];
+ if ([prefs boolForKey:SPLimitResults] && [limitRowsField intValue] >= maxNumRows) {
+ int newLimit = maxNumRows - [prefs integerForKey:SPLimitResultsValue];
[limitRowsField setStringValue:[[NSNumber numberWithInt:(newLimit<1)?1:newLimit] stringValue]];
}
@@ -894,7 +894,7 @@
[tableValues insertObject:tempRow atIndex:[tableContentView selectedRow]+1];
//if we don't show blobs, read data for this duplicate column from db
- if ([prefs boolForKey:@"LoadBlobsAsNeeded"]) {
+ if ([prefs boolForKey:SPLoadBlobsAsNeeded]) {
// Abort if there are no indices on this table - argumentForRow will display an error.
if (![[self argumentForRow:[tableContentView selectedRow]] length]){
return;
@@ -911,7 +911,7 @@
row = [queryResult fetchRowAsDictionary];
if ( [[row objectForKey:@"Extra"] isEqualToString:@"auto_increment"] ) {
[tempRow replaceObjectAtIndex:i withObject:[NSNull null]];
- } else if ( [tableDataInstance columnIsBlobOrText:[row objectForKey:@"Field"]] && [prefs boolForKey:@"LoadBlobsAsNeeded"] && dbDataRow) {
+ } else if ( [tableDataInstance columnIsBlobOrText:[row objectForKey:@"Field"]] && [prefs boolForKey:SPLoadBlobsAsNeeded] && dbDataRow) {
[tempRow replaceObjectAtIndex:i withObject:[dbDataRow objectAtIndex:i]];
}
}
@@ -1076,7 +1076,7 @@
[tableContentView setVerticalMotionCanBeginDrag:NO];
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[argumentField setFont:[NSFont fontWithName:@"Monaco" size:10]];
[limitRowsField setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
} else {
@@ -1084,7 +1084,7 @@
[argumentField setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
}
[limitRowsStepper setEnabled:NO];
- if ( ![prefs boolForKey:@"LimitResults"] ) {
+ if ( ![prefs boolForKey:SPLimitResults] ) {
[limitRowsField setStringValue:@""];
}
}
@@ -1215,11 +1215,11 @@
}
// Load global user-defined content filters
- if([prefs objectForKey:@"ContentFilters"]
+ if([prefs objectForKey:SPContentFilters]
&& [contentFilters objectForKey:compareType]
- && [[prefs objectForKey:@"ContentFilters"] objectForKey:compareType])
+ && [[prefs objectForKey:SPContentFilters] objectForKey:compareType])
{
- [[contentFilters objectForKey:compareType] addObjectsFromArray:[[prefs objectForKey:@"ContentFilters"] objectForKey:compareType]];
+ [[contentFilters objectForKey:compareType] addObjectsFromArray:[[prefs objectForKey:SPContentFilters] objectForKey:compareType]];
}
// Load doc-based user-defined content filters
@@ -1295,14 +1295,14 @@
*/
{
if ( [limitRowsStepper intValue] > 0 ) {
- int newStep = [limitRowsField intValue]+[prefs integerForKey:@"LimitResultsValue"];
+ int newStep = [limitRowsField intValue]+[prefs integerForKey:SPLimitResultsValue];
// if newStep > the total number of rows in the current table retain the old value
[limitRowsField setIntValue:(newStep>maxNumRows)?[limitRowsField intValue]:newStep];
} else {
- if ( ([limitRowsField intValue]-[prefs integerForKey:@"LimitResultsValue"]) < 1 ) {
+ if ( ([limitRowsField intValue]-[prefs integerForKey:SPLimitResultsValue]) < 1 ) {
[limitRowsField setIntValue:1];
} else {
- [limitRowsField setIntValue:[limitRowsField intValue]-[prefs integerForKey:@"LimitResultsValue"]];
+ [limitRowsField setIntValue:[limitRowsField intValue]-[prefs integerForKey:SPLimitResultsValue]];
}
}
[limitRowsStepper setIntValue:0];
@@ -1329,7 +1329,7 @@
NSAutoreleasePool *dataLoadingPool;
NSProgressIndicator *dataLoadingIndicator = [tableDocumentInstance valueForKey:@"queryProgressBar"];
- BOOL prefsLoadBlobsAsNeeded = [prefs boolForKey:@"LoadBlobsAsNeeded"];
+ BOOL prefsLoadBlobsAsNeeded = [prefs boolForKey:SPLoadBlobsAsNeeded];
// Build up an array of which columns are blobs for faster iteration
for ( i = 0; i < columnsCount ; i++ ) {
@@ -1403,7 +1403,7 @@
id rowObject;
NSMutableString *rowValue = [NSMutableString string];
NSString *currentTime = [[NSDate date] descriptionWithCalendarFormat:@"%H:%M:%S" timeZone:nil locale:nil];
- BOOL prefsLoadBlobsAsNeeded = [prefs boolForKey:@"LoadBlobsAsNeeded"];
+ BOOL prefsLoadBlobsAsNeeded = [prefs boolForKey:SPLoadBlobsAsNeeded];
int i;
if ( !isEditingRow || currentlyEditingRow == -1) {
@@ -1500,7 +1500,7 @@
// If no rows have been changed, show error if appropriate.
if ( ![mySQLConnection affectedRows] && ![mySQLConnection getLastErrorMessage] && ![[mySQLConnection getLastErrorMessage] length]) {
- if ( [prefs boolForKey:@"ShowNoAffectedRowsError"] ) {
+ if ( [prefs boolForKey:SPShowNoAffectedRowsError] ) {
NSBeginAlertSheet(NSLocalizedString(@"Warning", @"warning"), NSLocalizedString(@"OK", @"OK button"), nil, nil, tableWindow, self, nil, nil, nil,
NSLocalizedString(@"The row was not written to the MySQL database. You probably haven't changed anything.\nReload the table to be sure that the row exists and use a primary key for your table.\n(This error can be turned off in the preferences.)", @"message of panel when no rows have been affected after writing to the db"));
} else {
@@ -1519,7 +1519,7 @@
// New row created successfully
if ( isEditingNewRow ) {
- if ( [prefs boolForKey:@"ReloadAfterAddingRow"] ) {
+ if ( [prefs boolForKey:SPReloadAfterAddingRow] ) {
[self loadTableValues];
[tableWindow endEditingFor:nil];
[tableContentView reloadData];
@@ -1538,7 +1538,7 @@
} else {
// Reload table if set to - otherwise no action required.
- if ( [prefs boolForKey:@"ReloadAfterEditingRow"] ) {
+ if ( [prefs boolForKey:SPReloadAfterEditingRow] ) {
[self loadTableValues];
[tableWindow endEditingFor:nil];
[tableContentView reloadData];
@@ -1629,7 +1629,7 @@
// When the option to not show blob or text options is set, we have a problem - we don't have
// the right values to use in the WHERE statement. Throw an error if this is the case.
- if ( [prefs boolForKey:@"LoadBlobsAsNeeded"] && [self tableContainsBlobOrTextColumns] ) {
+ if ( [prefs boolForKey:SPLoadBlobsAsNeeded] && [self tableContainsBlobOrTextColumns] ) {
NSBeginAlertSheet(NSLocalizedString(@"Error", @"error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, tableWindow, self, nil, nil, nil,
NSLocalizedString(@"You can't hide blob and text fields when working with tables without index.", @"message of panel when trying to edit tables without index and with hidden blob/text fields"));
[keys removeAllObjects];
@@ -1701,7 +1701,7 @@
NSMutableArray *fields = [NSMutableArray array];
NSArray *columnNames = [tableDataInstance columnNames];
- if ( [prefs boolForKey:@"LoadBlobsAsNeeded"] ) {
+ if ( [prefs boolForKey:SPLoadBlobsAsNeeded] ) {
for ( i = 0 ; i < [columnNames count] ; i++ ) {
if (![tableDataInstance columnIsBlobOrText:[NSArrayObjectAtIndex(dataColumns, i) objectForKey:@"name"]] ) {
[fields addObject:[NSArrayObjectAtIndex(columnNames, i) backtickQuotedString]];
@@ -1730,7 +1730,7 @@
NSString *wherePart;
NSInteger i, errors;
BOOL consoleUpdateStatus;
- BOOL reloadAfterRemovingRow = [prefs boolForKey:@"ReloadAfterRemovingRow"];
+ BOOL reloadAfterRemovingRow = [prefs boolForKey:SPReloadAfterRemovingRow];
if([sheet respondsToSelector:@selector(orderOut:)])
[sheet orderOut:self];
@@ -1837,7 +1837,7 @@
}
index = [selectedRows indexGreaterThanIndex:index];
}
- } else if ([primaryKeyFieldNames count] == 1) {
+ } else if ([primaryKeyFieldNames count] == 1) {
// if table has only one PRIMARY KEY
// delete the fast way by using the PRIMARY KEY in an IN clause
NSMutableString *deleteQuery = [NSMutableString string];
@@ -1884,18 +1884,18 @@
// delete the row by using all PRIMARY KEYs in an OR clause
NSMutableString *deleteQuery = [NSMutableString string];
NSInteger affectedRows = 0;
-
+
[deleteQuery setString:[NSString stringWithFormat:@"DELETE FROM %@ WHERE ", [selectedTable backtickQuotedString]]];
-
+
while (index != NSNotFound) {
-
+
// Build the AND clause of PRIMARY KEYS
[deleteQuery appendString:@"("];
for(NSString *primaryKeyFieldName in primaryKeyFieldNames) {
-
-
+
+
id keyValue = [NSArrayObjectAtIndex(tableValues, index) objectAtIndex:[[[tableDataInstance columnWithName:primaryKeyFieldName] objectForKey:@"datacolumnindex"] intValue]];
-
+
[deleteQuery appendString:[primaryKeyFieldName backtickQuotedString]];
if ([keyValue isKindOfClass:[NSData class]]) {
[deleteQuery appendString:@"=X'"];
@@ -1910,7 +1910,7 @@
// Remove the trailing AND and add the closing bracket
[deleteQuery deleteCharactersInRange:NSMakeRange([deleteQuery length]-5, 5)];
[deleteQuery appendString:@")"];
-
+
// Split deletion query into 64k chunks
if([deleteQuery length] > 64000) {
[mySQLConnection queryString:deleteQuery];
@@ -1921,10 +1921,10 @@
} else {
[deleteQuery appendString:@" OR "];
}
-
+
index = [selectedRows indexGreaterThanIndex:index];
}
-
+
// Check if deleteQuery's maximal length was reached for the last index
// if yes omit the empty query
if(![deleteQuery hasSuffix:@"WHERE "]) {
@@ -1944,21 +1944,21 @@
NSArray *message;
if(errors < 0) {
message = [NSArray arrayWithObjects:NSLocalizedString(@"Warning", @"warning"),
- [NSString stringWithFormat:NSLocalizedString(@"%d row%@ more %@ removed! Please check the Console and inform the Sequel Pro team!", @"message of panel when more rows were deleted"), errors*-1, ((errors*-1)>1)?@"s":@"", (errors>1)?@"were":@"was"],
- nil];
+ [NSString stringWithFormat:NSLocalizedString(@"%d row%@ more %@ removed! Please check the Console and inform the Sequel Pro team!", @"message of panel when more rows were deleted"), errors*-1, ((errors*-1)>1)?@"s":@"", (errors>1)?@"were":@"was"],
+ nil];
} else {
if(primaryKeyFieldNames == nil)
message = [NSArray arrayWithObjects:NSLocalizedString(@"Warning", @"warning"),
- [NSString stringWithFormat:NSLocalizedString(@"%d row%@ ha%@ not been removed. Reload the table to be sure that the rows exist and use a primary key for your table.", @"message of panel when not all selected fields have been deleted"), errors, (errors>1)?@"s":@"", (errors>1)?@"ve":@"s"],
- nil];
+ [NSString stringWithFormat:NSLocalizedString(@"%d row%@ ha%@ not been removed. Reload the table to be sure that the rows exist and use a primary key for your table.", @"message of panel when not all selected fields have been deleted"), errors, (errors>1)?@"s":@"", (errors>1)?@"ve":@"s"],
+ nil];
else
message = [NSArray arrayWithObjects:NSLocalizedString(@"Warning", @"warning"),
- [NSString stringWithFormat:NSLocalizedString(@"%d row%@ ha%@ not been removed. Reload the table to be sure that the rows exist and check the Console for possible errors inside the primary key%@ for your table.", @"message of panel when not all selected fields have been deleted by using primary keys"), errors, (errors>1)?@"s":@"", (errors>1)?@"ve":@"s", (errors>1)?@"s":@""],
- nil];
+ [NSString stringWithFormat:NSLocalizedString(@"%d row%@ ha%@ not been removed. Reload the table to be sure that the rows exist and check the Console for possible errors inside the primary key%@ for your table.", @"message of panel when not all selected fields have been deleted by using primary keys"), errors, (errors>1)?@"s":@"", (errors>1)?@"ve":@"s", (errors>1)?@"s":@""],
+ nil];
}
[self performSelector:@selector(showErrorSheetWith:)
- withObject:message
- afterDelay:0.3];
+ withObject:message
+ afterDelay:0.3];
}
// Refresh table content
@@ -2188,7 +2188,7 @@
maxNumRowsIsEstimate = NO;
// Choose whether to display an estimate, or to fetch the correct row count, based on prefs
- } else if ([prefs boolForKey:@"FetchCorrectRowCount"]) {
+ } else if ([prefs boolForKey:SPFetchCorrectRowCount]) {
maxNumRows = [self fetchNumberOfRows];
maxNumRowsIsEstimate = NO;
[tableDataInstance setStatusValue:[NSString stringWithFormat:@"%d", maxNumRows] forKey:@"Rows"];
@@ -2269,7 +2269,7 @@
return [theValue shortStringRepresentationUsingEncoding:[mySQLConnection encoding]];
if ([theValue isNSNull])
- return [prefs objectForKey:@"NullValue"];
+ return [prefs objectForKey:SPNullValue];
if ([theValue isSPNotLoaded])
return NSLocalizedString(@"(not loaded)", @"value shown for hidden blob and text fields");
@@ -2319,7 +2319,7 @@
if (anObject) {
// Restore NULLs if necessary
- if ([anObject isEqualToString:[prefs objectForKey:@"NullValue"]] && [[column objectForKey:@"null"] boolValue])
+ if ([anObject isEqualToString:[prefs objectForKey:SPNullValue]] && [[column objectForKey:@"null"] boolValue])
anObject = [NSNull null];
[NSArrayObjectAtIndex(tableValues, rowIndex) replaceObjectAtIndex:[[aTableColumn identifier] intValue] withObject:anObject];
@@ -2414,8 +2414,8 @@
NSString *table = [tablesListInstance tableName];
// get tableColumnWidths object
- if ( [prefs objectForKey:@"tableColumnWidths"] != nil ) {
- tableColumnWidths = [NSMutableDictionary dictionaryWithDictionary:[prefs objectForKey:@"tableColumnWidths"]];
+ if ( [prefs objectForKey:SPTableColumnWidths] != nil ) {
+ tableColumnWidths = [NSMutableDictionary dictionaryWithDictionary:[prefs objectForKey:SPTableColumnWidths]];
} else {
tableColumnWidths = [NSMutableDictionary dictionary];
}
@@ -2435,7 +2435,7 @@
}
// save column size
[[[tableColumnWidths objectForKey:database] objectForKey:table] setObject:[NSNumber numberWithFloat:[[[aNotification userInfo] objectForKey:@"NSTableColumn"] width]] forKey:[[[[aNotification userInfo] objectForKey:@"NSTableColumn"] headerCell] stringValue]];
- [prefs setObject:tableColumnWidths forKey:@"tableColumnWidths"];
+ [prefs setObject:tableColumnWidths forKey:SPTableColumnWidths];
}
/**
@@ -2478,7 +2478,7 @@
[fieldEditor setTextMaxLength:[[[aTableColumn dataCellForRow:rowIndex] formatter] textLimit]];
id cellValue = [[tableValues objectAtIndex:rowIndex] objectAtIndex:[[aTableColumn identifier] intValue]];
- if ([cellValue isNSNull]) cellValue = [NSString stringWithString:[prefs objectForKey:@"NullValue"]];
+ if ([cellValue isNSNull]) cellValue = [NSString stringWithString:[prefs objectForKey:SPNullValue]];
id editData = [[fieldEditor editWithObject:cellValue
fieldName:[[aTableColumn headerCell] stringValue]
@@ -2494,7 +2494,7 @@
currentlyEditingRow = rowIndex;
}
- if ([editData isEqualToString:[prefs objectForKey:@"NullValue"]]
+ if ([editData isEqualToString:[prefs objectForKey:SPNullValue]]
&& [[NSArrayObjectAtIndex(dataColumns, [[aTableColumn identifier] intValue]) objectForKey:@"null"] boolValue])
{
[editData release];
@@ -2638,7 +2638,7 @@
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
- if ([keyPath isEqualToString:@"DisplayTableViewVerticalGridlines"]) {
+ if ([keyPath isEqualToString:SPDisplayTableViewVerticalGridlines]) {
[tableContentView setGridStyleMask:([[change objectForKey:NSKeyValueChangeNewKey] boolValue]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
}
}
diff --git a/Source/TableDocument.m b/Source/TableDocument.m
index 46423f2c..82092668 100644
--- a/Source/TableDocument.m
+++ b/Source/TableDocument.m
@@ -50,6 +50,7 @@
#import "QLPreviewPanel.h"
#import "SPUserManager.h"
#import "SPEncodingPopupAccessory.h"
+#import "SPConstants.h"
// Used for printing
#import "MGTemplateEngine.h"
@@ -152,15 +153,15 @@
connectionController = [[SPConnectionController alloc] initWithDocument:self];
// Register observers for when the DisplayTableViewVerticalGridlines preference changes
- [prefs addObserver:tableSourceInstance forKeyPath:@"DisplayTableViewVerticalGridlines" options:NSKeyValueObservingOptionNew context:NULL];
- [prefs addObserver:tableContentInstance forKeyPath:@"DisplayTableViewVerticalGridlines" options:NSKeyValueObservingOptionNew context:NULL];
- [prefs addObserver:customQueryInstance forKeyPath:@"DisplayTableViewVerticalGridlines" options:NSKeyValueObservingOptionNew context:NULL];
+ [prefs addObserver:tableSourceInstance forKeyPath:SPDisplayTableViewVerticalGridlines options:NSKeyValueObservingOptionNew context:NULL];
+ [prefs addObserver:tableContentInstance forKeyPath:SPDisplayTableViewVerticalGridlines options:NSKeyValueObservingOptionNew context:NULL];
+ [prefs addObserver:customQueryInstance forKeyPath:SPDisplayTableViewVerticalGridlines options:NSKeyValueObservingOptionNew context:NULL];
// Register observers for when the logging preference changes
- [prefs addObserver:[SPQueryController sharedQueryController] forKeyPath:@"ConsoleEnableLogging" options:NSKeyValueObservingOptionNew context:NULL];
+ [prefs addObserver:[SPQueryController sharedQueryController] forKeyPath:SPConsoleEnableLogging options:NSKeyValueObservingOptionNew context:NULL];
// Register a second observer for when the logging preference changes so we can tell the current connection about it
- [prefs addObserver:self forKeyPath:@"ConsoleEnableLogging" options:NSKeyValueObservingOptionNew context:NULL];
+ [prefs addObserver:self forKeyPath:SPConsoleEnableLogging options:NSKeyValueObservingOptionNew context:NULL];
// Find the Database -> Database Encoding menu (it's not in our nib, so we can't use interface builder)
selectEncodingMenu = [[[[[NSApp mainMenu] itemWithTag:1] submenu] itemWithTag:1] submenu];
@@ -447,12 +448,12 @@
[self setFileURL:[NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
[[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:[NSURL fileURLWithPath:path]];
- if([spf objectForKey:@"queryFavorites"])
- [spfPreferences setObject:[spf objectForKey:@"queryFavorites"] forKey:@"queryFavorites"];
- if([spf objectForKey:@"queryHistory"])
- [spfPreferences setObject:[spf objectForKey:@"queryHistory"] forKey:@"queryHistory"];
- if([spf objectForKey:@"ContentFilters"])
- [spfPreferences setObject:[spf objectForKey:@"ContentFilters"] forKey:@"ContentFilters"];
+ if([spf objectForKey:SPQueryFavorites])
+ [spfPreferences setObject:[spf objectForKey:SPQueryFavorites] forKey:SPQueryFavorites];
+ if([spf objectForKey:SPQueryHistory])
+ [spfPreferences setObject:[spf objectForKey:SPQueryHistory] forKey:SPQueryHistory];
+ if([spf objectForKey:SPContentFilters])
+ [spfPreferences setObject:[spf objectForKey:SPContentFilters] forKey:SPContentFilters];
[spfDocData setObject:[NSNumber numberWithBool:([connection objectForKey:@"password"]) ? YES : NO] forKey:@"save_password"];
@@ -580,7 +581,7 @@
[spfPreferences release];
// Set the connection encoding
- NSString *encodingName = [prefs objectForKey:@"DefaultEncoding"];
+ NSString *encodingName = [prefs objectForKey:SPDefaultEncoding];
if ( [encodingName isEqualToString:@"Autodetect"] ) {
[self setConnectionEncoding:[self databaseEncoding] reloadingViews:NO];
} else {
@@ -1988,7 +1989,7 @@
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
- if ([keyPath isEqualToString:@"ConsoleEnableLogging"]) {
+ if ([keyPath isEqualToString:SPConsoleEnableLogging]) {
[mySQLConnection setDelegateQueryLogging:[[change objectForKey:NSKeyValueChangeNewKey] boolValue]];
}
}
@@ -2137,7 +2138,7 @@
if( sender != nil && [sender tag] == 1006 ) {
// Save the editor's content as SQL file
- [panel setAccessoryView:[SPEncodingPopupAccessory encodingAccessory:[prefs integerForKey:@"lastSqlFileEncoding"]
+ [panel setAccessoryView:[SPEncodingPopupAccessory encodingAccessory:[prefs integerForKey:SPLastSQLFileEncoding]
includeDefaultEntry:NO encodingPopUp:&encodingPopUp]];
// [panel setMessage:NSLocalizedString(@"Save SQL file", @"Save SQL file")];
[panel setAllowedFileTypes:[NSArray arrayWithObjects:@"sql", nil]];
@@ -2150,8 +2151,8 @@
contextInfo = @"saveSQLfile";
// If no lastSqlFileEncoding in prefs set it to UTF-8
- if(![prefs integerForKey:@"lastSqlFileEncoding"]) {
- [prefs setInteger:4 forKey:@"lastSqlFileEncoding"];
+ if(![prefs integerForKey:SPLastSQLFileEncoding]) {
+ [prefs setInteger:4 forKey:SPLastSQLFileEncoding];
[prefs synchronize];
}
@@ -2253,7 +2254,7 @@
// Save file as SQL file by using the chosen encoding
if(contextInfo == @"saveSQLfile") {
- [prefs setInteger:[[encodingPopUp selectedItem] tag] forKey:@"lastSqlFileEncoding"];
+ [prefs setInteger:[[encodingPopUp selectedItem] tag] forKey:SPLastSQLFileEncoding];
[prefs setObject:[fileName lastPathComponent] forKey:@"lastSqlFileName"];
[prefs synchronize];
@@ -2354,9 +2355,9 @@
}
// Update the keys
- [spf setObject:[[SPQueryController sharedQueryController] favoritesForFileURL:[self fileURL]] forKey:@"queryFavorites"];
- [spf setObject:[[SPQueryController sharedQueryController] historyForFileURL:[self fileURL]] forKey:@"queryHistory"];
- [spf setObject:[[SPQueryController sharedQueryController] contentFilterForFileURL:[self fileURL]] forKey:@"ContentFilters"];
+ [spf setObject:[[SPQueryController sharedQueryController] favoritesForFileURL:[self fileURL]] forKey:SPQueryFavorites];
+ [spf setObject:[[SPQueryController sharedQueryController] historyForFileURL:[self fileURL]] forKey:SPQueryHistory];
+ [spf setObject:[[SPQueryController sharedQueryController] contentFilterForFileURL:[self fileURL]] forKey:SPContentFilters];
// Save it again
NSString *err = nil;
@@ -2405,9 +2406,9 @@
[spfdata setObject:[self mySQLVersion] forKey:@"rdbms_version"];
// Store the preferences - take them from the current document URL to catch renaming
- [spfdata setObject:[[SPQueryController sharedQueryController] favoritesForFileURL:[self fileURL]] forKey:@"queryFavorites"];
- [spfdata setObject:[[SPQueryController sharedQueryController] historyForFileURL:[self fileURL]] forKey:@"queryHistory"];
- [spfdata setObject:[[SPQueryController sharedQueryController] contentFilterForFileURL:[self fileURL]] forKey:@"ContentFilters"];
+ [spfdata setObject:[[SPQueryController sharedQueryController] favoritesForFileURL:[self fileURL]] forKey:SPQueryFavorites];
+ [spfdata setObject:[[SPQueryController sharedQueryController] historyForFileURL:[self fileURL]] forKey:SPQueryHistory];
+ [spfdata setObject:[[SPQueryController sharedQueryController] contentFilterForFileURL:[self fileURL]] forKey:SPContentFilters];
[spfdata setObject:[spfDocData_temp objectForKey:@"encrypted"] forKey:@"encrypted"];
@@ -2560,9 +2561,9 @@
// Register and update query favorites, content filter, and history for the (new) file URL
NSMutableDictionary *preferences = [[NSMutableDictionary alloc] init];
- [preferences setObject:[spfdata objectForKey:@"queryHistory"] forKey:@"queryHistory"];
- [preferences setObject:[spfdata objectForKey:@"queryFavorites"] forKey:@"queryFavorites"];
- [preferences setObject:[spfdata objectForKey:@"ContentFilters"] forKey:@"ContentFilters"];
+ [preferences setObject:[spfdata objectForKey:SPQueryHistory] forKey:SPQueryHistory];
+ [preferences setObject:[spfdata objectForKey:SPQueryFavorites] forKey:SPQueryFavorites];
+ [preferences setObject:[spfdata objectForKey:SPContentFilters] forKey:SPContentFilters];
[[SPQueryController sharedQueryController] registerDocumentWithFileURL:[NSURL URLWithString:[fileName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] andContextInfo:preferences];
[self setFileURL:[NSURL URLWithString:[fileName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
@@ -3187,7 +3188,7 @@
name:@"NSApplicationWillTerminateNotification" object:nil];
//set up interface
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[[SPQueryController sharedQueryController] setConsoleFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
while ( (theCol = [theCols nextObject]) ) {
@@ -3299,10 +3300,10 @@
*/
- (void)willQueryString:(NSString *)query connection:(id)connection
{
- if ([prefs boolForKey:@"ConsoleEnableLogging"]) {
- if ((_queryMode == SP_QUERYMODE_INTERFACE && [prefs boolForKey:@"ConsoleEnableInterfaceLogging"])
- || (_queryMode == SP_QUERYMODE_CUSTOMQUERY && [prefs boolForKey:@"ConsoleEnableCustomQueryLogging"])
- || (_queryMode == SP_QUERYMODE_IMPORTEXPORT && [prefs boolForKey:@"ConsoleEnableImportExportLogging"]))
+ if ([prefs boolForKey:SPConsoleEnableLogging]) {
+ if ((_queryMode == SP_QUERYMODE_INTERFACE && [prefs boolForKey:SPConsoleEnableInterfaceLogging])
+ || (_queryMode == SP_QUERYMODE_CUSTOMQUERY && [prefs boolForKey:SPConsoleEnableCustomQueryLogging])
+ || (_queryMode == SP_QUERYMODE_IMPORTEXPORT && [prefs boolForKey:SPConsoleEnableImportExportLogging]))
{
[[SPQueryController sharedQueryController] showMessageInConsole:query];
}
@@ -3314,7 +3315,7 @@
*/
- (void)queryGaveError:(NSString *)error connection:(id)connection
{
- if ([prefs boolForKey:@"ConsoleEnableLogging"] && [prefs boolForKey:@"ConsoleEnableErrorLogging"]) {
+ if ([prefs boolForKey:SPConsoleEnableLogging] && [prefs boolForKey:SPEnableErrorLogging]) {
[[SPQueryController sharedQueryController] showErrorInConsole:error];
}
}
diff --git a/Source/TableDump.m b/Source/TableDump.m
index d5e6d563..abb2e258 100644
--- a/Source/TableDump.m
+++ b/Source/TableDump.m
@@ -36,6 +36,7 @@
#import "SPStringAdditions.h"
#import "SPArrayAdditions.h"
#import "RegexKitLite.h"
+#import "SPConstants.h"
@implementation TableDump
@@ -426,11 +427,11 @@
}
// Preset the accessory view with prefs defaults
- [importFieldsTerminatedField setStringValue:[prefs objectForKey:@"CSVImportFieldTerminator"]];
- [importLinesTerminatedField setStringValue:[prefs objectForKey:@"CSVImportLineTerminator"]];
- [importFieldsEscapedField setStringValue:[prefs objectForKey:@"CSVImportFieldEscapeCharacter"]];
- [importFieldsEnclosedField setStringValue:[prefs objectForKey:@"CSVImportFieldEnclosedBy"]];
- [importFieldNamesSwitch setState:[[prefs objectForKey:@"CSVImportFirstLineIsHeader"] boolValue]];
+ [importFieldsTerminatedField setStringValue:[prefs objectForKey:SPCSVImportFieldTerminator]];
+ [importLinesTerminatedField setStringValue:[prefs objectForKey:SPCSVImportLineTerminator]];
+ [importFieldsEscapedField setStringValue:[prefs objectForKey:SPCSVImportFieldEscapeCharacter]];
+ [importFieldsEnclosedField setStringValue:[prefs objectForKey:SPCSVImportFieldEnclosedBy]];
+ [importFieldNamesSwitch setState:[[prefs objectForKey:SPCSVImportFirstLineIsHeader] boolValue]];
[openPanel setAccessoryView:importCSVView];
[openPanel setDelegate:self];
@@ -780,18 +781,18 @@
csvParser = [[SPCSVParser alloc] init];
// Store settings in prefs
- [prefs setObject:[importFieldsEnclosedField stringValue] forKey:@"CSVImportFieldEnclosedBy"];
- [prefs setObject:[importFieldsEscapedField stringValue] forKey:@"CSVImportFieldEscapeCharacter"];
- [prefs setObject:[importLinesTerminatedField stringValue] forKey:@"CSVImportLineTerminator"];
- [prefs setObject:[importFieldsTerminatedField stringValue] forKey:@"CSVImportFieldTerminator"];
- [prefs setBool:[importFieldNamesSwitch state] forKey:@"CSVImportFirstLineIsHeader"];
+ [prefs setObject:[importFieldsEnclosedField stringValue] forKey:SPCSVImportFieldEnclosedBy];
+ [prefs setObject:[importFieldsEscapedField stringValue] forKey:SPCSVImportFieldEscapeCharacter];
+ [prefs setObject:[importLinesTerminatedField stringValue] forKey:SPCSVImportLineTerminator];
+ [prefs setObject:[importFieldsTerminatedField stringValue] forKey:SPCSVImportFieldTerminator];
+ [prefs setBool:[importFieldNamesSwitch state] forKey:SPCSVImportFirstLineIsHeader];
// Take CSV import setting from accessory view
[csvParser setFieldTerminatorString:[importFieldsTerminatedField stringValue] convertDisplayStrings:YES];
[csvParser setLineTerminatorString:[importLinesTerminatedField stringValue] convertDisplayStrings:YES];
[csvParser setFieldQuoteString:[importFieldsEnclosedField stringValue] convertDisplayStrings:YES];
[csvParser setEscapeString:[importFieldsEscapedField stringValue] convertDisplayStrings:YES];
- [csvParser setNullReplacementString:[prefs objectForKey:@"NullValue"]];
+ [csvParser setNullReplacementString:[prefs objectForKey:SPNullValue]];
csvDataBuffer = [[NSMutableData alloc] init];
importPool = [[NSAutoreleasePool alloc] init];
@@ -1178,7 +1179,7 @@
[fieldMappingButtonOptions setArray:[fieldMappingImportArray objectAtIndex:fieldMappingCurrentRow]];
for (i = 0; i < [fieldMappingButtonOptions count]; i++) {
if ([[fieldMappingButtonOptions objectAtIndex:i] isNSNull]) {
- [fieldMappingButtonOptions replaceObjectAtIndex:i withObject:[NSString stringWithFormat:@"%i. %@", i+1, [prefs objectForKey:@"NullValue"]]];
+ [fieldMappingButtonOptions replaceObjectAtIndex:i withObject:[NSString stringWithFormat:@"%i. %@", i+1, [prefs objectForKey:SPNullValue]]];
} else {
[fieldMappingButtonOptions replaceObjectAtIndex:i withObject:[NSString stringWithFormat:@"%i. %@", i+1, NSArrayObjectAtIndex(fieldMappingButtonOptions, i)]];
}
@@ -1762,7 +1763,7 @@
NSArray *csvRow;
id csvCell;
NSMutableString *csvString = [NSMutableString string];
- NSString *nullString = [NSString stringWithString:[prefs objectForKey:@"NullValue"]];
+ NSString *nullString = [NSString stringWithString:[prefs objectForKey:SPNullValue]];
NSString *escapedEscapeString, *escapedFieldSeparatorString, *escapedEnclosingString, *escapedLineEndString;
NSString *dataConversionString;
NSInteger currentRowIndex;
@@ -2496,7 +2497,7 @@
[[exportMultipleCSVTableView tableColumnWithIdentifier:@"switch"] setDataCell:switchButton];
[[exportMultipleXMLTableView tableColumnWithIdentifier:@"switch"] setDataCell:switchButton];
[switchButton release];
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[[[exportDumpTableView tableColumnWithIdentifier:@"tables"] dataCell]
setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
[[[exportMultipleCSVTableView tableColumnWithIdentifier:@"tables"] dataCell]
@@ -2537,7 +2538,7 @@
forTableColumn:(NSTableColumn *)aTableColumn
row:(int)rowIndex
{
- if ( [[NSUserDefaults standardUserDefaults] boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [[NSUserDefaults standardUserDefaults] boolForKey:SPUseMonospacedFonts] ) {
[aCell setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
}
else
diff --git a/Source/TableSource.m b/Source/TableSource.m
index bc4a9810..48ae859f 100644
--- a/Source/TableSource.m
+++ b/Source/TableSource.m
@@ -29,6 +29,7 @@
#import "SPSQLParser.h"
#import "SPStringAdditions.h"
#import "SPArrayAdditions.h"
+#import "SPConstants.h"
@implementation TableSource
@@ -212,7 +213,7 @@ loads aTable, put it in an array, update the tableViewColumns and reload the tab
NSEnumerator *fieldColumnsEnumerator = [[tableSourceView tableColumns] objectEnumerator];
id indexColumn;
id fieldColumn;
- BOOL useMonospacedFont = [prefs boolForKey:@"UseMonospacedFonts"];
+ BOOL useMonospacedFont = [prefs boolForKey:SPUseMonospacedFonts];
while ( (indexColumn = [indexColumnsEnumerator nextObject]) )
if ( useMonospacedFont )
@@ -270,7 +271,7 @@ reloads the table (performing a new mysql-query)
int insertIndex = ([tableSourceView numberOfSelectedRows] == 0 ? [tableSourceView numberOfRows] : [tableSourceView selectedRow] + 1);
[tableFields insertObject:[NSMutableDictionary
- dictionaryWithObjects:[NSArray arrayWithObjects:@"", @"int", @"", @"0", @"0", @"0", ([prefs boolForKey:@"NewFieldsAllowNulls"]) ? @"1" : @"0", @"", [prefs stringForKey:@"NullValue"], @"None", nil]
+ dictionaryWithObjects:[NSArray arrayWithObjects:@"", @"int", @"", @"0", @"0", @"0", ([prefs boolForKey:SPNewFieldsAllowNulls]) ? @"1" : @"0", @"", [prefs stringForKey:SPNullValue], @"None", nil]
forKeys:[NSArray arrayWithObjects:@"Field", @"Type", @"Length", @"unsigned", @"zerofill", @"binary", @"Null", @"Key", @"Default", @"Extra", nil]]
atIndex:insertIndex];
@@ -548,7 +549,7 @@ sets the connection (received from TableDocument) and makes things that have to
[tableSourceView registerForDraggedTypes:[NSArray arrayWithObjects:@"SequelProPasteboard", nil]];
while ( (indexColumn = [indexColumnsEnumerator nextObject]) ) {
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[[indexColumn dataCell] setFont:[NSFont fontWithName:@"Monaco" size:10]];
}
else
@@ -557,7 +558,7 @@ sets the connection (received from TableDocument) and makes things that have to
}
}
while ( (fieldColumn = [fieldColumnsEnumerator nextObject]) ) {
- if ( [prefs boolForKey:@"UseMonospacedFonts"] ) {
+ if ( [prefs boolForKey:SPUseMonospacedFonts] ) {
[[fieldColumn dataCell] setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
}
else
@@ -579,7 +580,7 @@ fetches the result as an array with a dictionary for each row in it
id key;
int i;
Class nullClass = [NSNull class];
- id prefsNullValue = [prefs objectForKey:@"NullValue"];
+ id prefsNullValue = [prefs objectForKey:SPNullValue];
if (numOfRows) [theResult dataSeek:0];
for ( i = 0 ; i < numOfRows ; i++ ) {
@@ -726,7 +727,7 @@ fetches the result as an array with a dictionary for each row in it
}
else {
// If a null value has been specified, and null is allowed, specify DEFAULT NULL
- if ([[theRow objectForKey:@"Default"] isEqualToString:[prefs objectForKey:@"NullValue"]]) {
+ if ([[theRow objectForKey:@"Default"] isEqualToString:[prefs objectForKey:SPNullValue]]) {
if ([[theRow objectForKey:@"Null"] intValue] == 1) {
[queryString appendString:@" DEFAULT NULL "];
}
@@ -950,7 +951,7 @@ fetches the result as an array with a dictionary for each row in it
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
- if ([keyPath isEqualToString:@"DisplayTableViewVerticalGridlines"]) {
+ if ([keyPath isEqualToString:SPDisplayTableViewVerticalGridlines]) {
[tableSourceView setGridStyleMask:([[change objectForKey:NSKeyValueChangeNewKey] boolValue]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
[indexView setGridStyleMask:([[change objectForKey:NSKeyValueChangeNewKey] boolValue]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
}
@@ -988,9 +989,9 @@ get the default value for a specified field
- (NSString *)defaultValueForField:(NSString *)field
{
if ( ![defaultValues objectForKey:field] ) {
- return [prefs objectForKey:@"NullValue"];
+ return [prefs objectForKey:SPNullValue];
} else if ( [[defaultValues objectForKey:field] isMemberOfClass:[NSNull class]] ) {
- return [prefs objectForKey:@"NullValue"];
+ return [prefs objectForKey:SPNullValue];
} else {
return [defaultValues objectForKey:field];
}
@@ -1190,7 +1191,7 @@ would result in a position change.
}
// Add the default value
- if ([[originalRow objectForKey:@"Default"] isEqualToString:[prefs objectForKey:@"NullValue"]]) {
+ if ([[originalRow objectForKey:@"Default"] isEqualToString:[prefs objectForKey:SPNullValue]]) {
if ([[originalRow objectForKey:@"Null"] intValue] == 1) {
[queryString appendString:@" DEFAULT NULL"];
}
@@ -1402,8 +1403,8 @@ would result in a position change.
- (void)awakeFromNib
{
// Set the structure and index view's vertical gridlines if required
- [tableSourceView setGridStyleMask:([prefs boolForKey:@"DisplayTableViewVerticalGridlines"]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
- [indexView setGridStyleMask:([prefs boolForKey:@"DisplayTableViewVerticalGridlines"]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
+ [tableSourceView setGridStyleMask:([prefs boolForKey:SPDisplayTableViewVerticalGridlines]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
+ [indexView setGridStyleMask:([prefs boolForKey:SPDisplayTableViewVerticalGridlines]) ? NSTableViewSolidVerticalGridLineMask : NSTableViewGridNone];
}
- (void)dealloc
diff --git a/Source/TablesList.m b/Source/TablesList.m
index 11a931ec..348fb033 100644
--- a/Source/TablesList.m
+++ b/Source/TablesList.m
@@ -35,6 +35,7 @@
#import "RegexKitLite.h"
#import "SPDatabaseData.h"
#import "NSMutableArray-MultipleSort.h"
+#import "SPConstants.h"
@interface TablesList (PrivateAPI)
@@ -483,7 +484,7 @@
- (IBAction)togglePaneCollapse:(id)sender
{
[tableListSplitView toggleCollapse:sender];
- [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:([tableInfoCollapseButton state] == NSOffState)] forKey:@"TableInformationPanelCollapsed"];
+ [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:([tableInfoCollapseButton state] == NSOffState)] forKey:SPTableInformationPanelCollapsed];
[tableInfoCollapseButton setToolTip:([tableInfoCollapseButton state] == NSOffState) ? NSLocalizedString(@"Show Table Information", @"Show Table Information") : NSLocalizedString(@"Hide Table Information", @"Hide Table Information")];
}
@@ -632,7 +633,7 @@
// If encoding is set to Autodetect, update the connection character set encoding
// based on the newly selected table's encoding - but only if it differs from the current encoding.
- if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"DefaultEncoding"] isEqualToString:@"Autodetect"]) {
+ if ([[[NSUserDefaults standardUserDefaults] objectForKey:SPDefaultEncoding] isEqualToString:@"Autodetect"]) {
if (tableEncoding != nil && ![tableEncoding isEqualToString:[tableDocumentInstance connectionEncoding]]) {
[tableDocumentInstance setConnectionEncoding:tableEncoding reloadingViews:NO];
[tableDataInstance resetAllData];
@@ -1575,7 +1576,7 @@
{
// Collapse the table information pane if preference to do so is set
- if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"TableInformationPanelCollapsed"] boolValue]
+ if ([[[NSUserDefaults standardUserDefaults] objectForKey:SPTableInformationPanelCollapsed] boolValue]
&& [tableListSplitView collapsibleSubview]) {
[tableInfoCollapseButton setNextState];
[tableInfoCollapseButton setToolTip:NSLocalizedString(@"Show Table Information",@"Show Table Information")];
diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj
index adf4032a..b7b4ac11 100644
--- a/sequel-pro.xcodeproj/project.pbxproj
+++ b/sequel-pro.xcodeproj/project.pbxproj
@@ -9,6 +9,7 @@
/* Begin PBXBuildFile section */
17292443107AC41000B21980 /* SPXMLExporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 17292442107AC41000B21980 /* SPXMLExporter.m */; };
172A65110F7BED7A001E861A /* SPConsoleMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 172A65100F7BED7A001E861A /* SPConsoleMessage.m */; };
+ 173284EA1088FEDE0062E892 /* SPConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 173284E91088FEDE0062E892 /* SPConstants.m */; };
173C4362104455CA001F3A30 /* QueryFavoriteManager.xib in Resources */ = {isa = PBXBuildFile; fileRef = 173C4360104455CA001F3A30 /* QueryFavoriteManager.xib */; };
173C4366104455E0001F3A30 /* SPQueryFavoriteManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 173C4365104455E0001F3A30 /* SPQueryFavoriteManager.m */; };
173C44D81044A6B0001F3A30 /* SPOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 173C44D71044A6B0001F3A30 /* SPOutlineView.m */; };
@@ -341,6 +342,8 @@
17292442107AC41000B21980 /* SPXMLExporter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPXMLExporter.m; sourceTree = "<group>"; };
172A650F0F7BED7A001E861A /* SPConsoleMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPConsoleMessage.h; sourceTree = "<group>"; };
172A65100F7BED7A001E861A /* SPConsoleMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPConsoleMessage.m; sourceTree = "<group>"; };
+ 173284E81088FEDE0062E892 /* SPConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPConstants.h; sourceTree = "<group>"; };
+ 173284E91088FEDE0062E892 /* SPConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPConstants.m; sourceTree = "<group>"; };
173C4361104455CA001F3A30 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/QueryFavoriteManager.xib; sourceTree = "<group>"; };
173C4364104455E0001F3A30 /* SPQueryFavoriteManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPQueryFavoriteManager.h; sourceTree = "<group>"; };
173C4365104455E0001F3A30 /* SPQueryFavoriteManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPQueryFavoriteManager.m; sourceTree = "<group>"; };
@@ -767,6 +770,15 @@
name = QuickLook;
sourceTree = "<group>";
};
+ 173284E51088FEC20062E892 /* Data */ = {
+ isa = PBXGroup;
+ children = (
+ 173284E81088FEDE0062E892 /* SPConstants.h */,
+ 173284E91088FEDE0062E892 /* SPConstants.m */,
+ );
+ name = Data;
+ sourceTree = "<group>";
+ };
173E70A1107FF495008733C9 /* Core Data */ = {
isa = PBXGroup;
children = (
@@ -1067,6 +1079,7 @@
children = (
296DC8A40F90914B002A3258 /* MGTemplateEngine */,
17128B890FE6DFFA0035DD75 /* QuickLook */,
+ 173284E51088FEC20062E892 /* Data */,
17E6416F0EF01F4C001BC333 /* Keychain */,
58FEF15E0F23D60A00518E8E /* Parsing */,
17E641710EF01F5C001BC333 /* GUI */,
@@ -1779,6 +1792,7 @@
BC675A141072039C00C5ACD4 /* SPContentFilterManager.m in Sources */,
17292443107AC41000B21980 /* SPXMLExporter.m in Sources */,
582A01E9107C0C170027D42B /* SPNotLoaded.m in Sources */,
+ 173284EA1088FEDE0062E892 /* SPConstants.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};