aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBibiko <bibiko@eva.mpg.de>2009-05-07 08:29:42 +0000
committerBibiko <bibiko@eva.mpg.de>2009-05-07 08:29:42 +0000
commit166b844e7a4e84b79d2cfad5cac1d5d8333988f5 (patch)
tree21b9eb5bd92f22e4114688c0aaaf11d231a1efb4
parent2a4bbd2e425fbbf0ffd20a9c36921778b92963ae (diff)
downloadsequelpro-166b844e7a4e84b79d2cfad5cac1d5d8333988f5.tar.gz
sequelpro-166b844e7a4e84b79d2cfad5cac1d5d8333988f5.tar.bz2
sequelpro-166b844e7a4e84b79d2cfad5cac1d5d8333988f5.zip
• added "Query Editor" preference pane for setting colors, font, and modes (from the CQ's action gear which are still customizable there)
- in addition to the syntax colors it's now possible to change the fore/background color as well • added "Update Help while typing" feature in the Custom Query editor • first trial to improve syntax highlighting for large text in the Custom Query editor - if the text is larger than 10k the highlighting is performed only for the visible text area ±bias (3.5k) - if the user changes the visible area the highlighting follows time-delayed 500ms) to assure user interaction - a test with a 45MB SQL dump worked (of course a tick slowier) -- todo: improve prev/current query detection (mainly the SQLParser) - if the text size is > 6MB the completion list won't show words from the text due to parsing time - if the text size is > 6MB the line numbering will be disabled due to performance issue (improvements should follow) • some tiny clarification changes in the syntax highlighting code • some minor code cosmetics
-rw-r--r--Interfaces/English.lproj/DBView.xib365
-rw-r--r--Interfaces/English.lproj/Preferences.xib1468
-rw-r--r--Resources/PreferenceDefaults.plist18
-rw-r--r--Source/CMTextView.h9
-rw-r--r--Source/CMTextView.m293
-rw-r--r--Source/CustomQuery.m48
-rw-r--r--Source/NoodleLineNumberView.m8
-rw-r--r--Source/SPEditorTokens.h8
-rw-r--r--Source/SPPreferenceController.h12
-rw-r--r--Source/SPPreferenceController.m130
10 files changed, 2080 insertions, 279 deletions
diff --git a/Interfaces/English.lproj/DBView.xib b/Interfaces/English.lproj/DBView.xib
index 7fedc4a8..ad589aa2 100644
--- a/Interfaces/English.lproj/DBView.xib
+++ b/Interfaces/English.lproj/DBView.xib
@@ -8,8 +8,7 @@
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="5429"/>
- <integer value="1221"/>
+ <integer value="121"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -81,7 +80,6 @@
<int key="NSvFlags">4352</int>
<string key="NSFrameSize">{212, 393}</string>
<reference key="NSSuperview" ref="73685676"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
@@ -178,7 +176,6 @@
</object>
<string key="NSFrame">{{1, 1}, {212, 393}}</string>
<reference key="NSSuperview" ref="233472824"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="251040077"/>
<reference key="NSDocView" ref="251040077"/>
<object class="NSColor" key="NSBGColor" id="1024678221">
@@ -194,7 +191,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{175, 1}, {15, 481}}</string>
<reference key="NSSuperview" ref="233472824"/>
- <reference key="NSWindow"/>
<reference key="NSTarget" ref="233472824"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">9.979253e-01</double>
@@ -204,7 +200,6 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{-100, -100}, {141, 11}}</string>
<reference key="NSSuperview" ref="233472824"/>
- <reference key="NSWindow"/>
<int key="NSsFlags">257</int>
<reference key="NSTarget" ref="233472824"/>
<string key="NSAction">_doScroller:</string>
@@ -213,7 +208,6 @@
</object>
<string key="NSFrameSize">{214, 395}</string>
<reference key="NSSuperview" ref="355288374"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="73685676"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="693168867"/>
@@ -236,7 +230,6 @@
<int key="NSvFlags">4352</int>
<string key="NSFrameSize">{212, 123}</string>
<reference key="NSSuperview" ref="685057119"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
@@ -300,7 +293,6 @@
</object>
<string key="NSFrame">{{1, 1}, {212, 123}}</string>
<reference key="NSSuperview" ref="298226231"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="347093764"/>
<reference key="NSDocView" ref="347093764"/>
<reference key="NSBGColor" ref="1024678221"/>
@@ -311,7 +303,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{175, 1}, {15, 481}}</string>
<reference key="NSSuperview" ref="298226231"/>
- <reference key="NSWindow"/>
<reference key="NSTarget" ref="298226231"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">9.979253e-01</double>
@@ -321,7 +312,6 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{-100, -100}, {141, 11}}</string>
<reference key="NSSuperview" ref="298226231"/>
- <reference key="NSWindow"/>
<int key="NSsFlags">257</int>
<reference key="NSTarget" ref="298226231"/>
<string key="NSAction">_doScroller:</string>
@@ -330,7 +320,6 @@
</object>
<string key="NSFrame">{{0, 404}, {214, 125}}</string>
<reference key="NSSuperview" ref="355288374"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="685057119"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="245346414"/>
@@ -341,14 +330,12 @@
</object>
<string key="NSFrame">{{-1, 22}, {214, 529}}</string>
<reference key="NSSuperview" ref="372294785"/>
- <reference key="NSWindow"/>
</object>
<object class="NSButton" id="644515521">
<reference key="NSNextResponder" ref="372294785"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{0, -1}, {32, 25}}</string>
<reference key="NSSuperview" ref="372294785"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="492393561">
<int key="NSCellFlags">-2080244224</int>
@@ -377,7 +364,6 @@
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 0}, {46, 25}}</string>
<reference key="NSSuperview" ref="372294785"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="753352469">
<int key="NSCellFlags">-2076049856</int>
@@ -475,7 +461,6 @@
</object>
<string key="NSFrame">{{197, 0}, {15, 23}}</string>
<reference key="NSSuperview" ref="372294785"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="875296521">
<int key="NSCellFlags">130560</int>
@@ -508,7 +493,6 @@
</object>
<string key="NSFrame">{{93, 0}, {104, 23}}</string>
<reference key="NSSuperview" ref="372294785"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="761703901">
<int key="NSCellFlags">130560</int>
@@ -529,7 +513,6 @@
<int key="NSvFlags">292</int>
<string key="NSFrame">{{61, -1}, {32, 25}}</string>
<reference key="NSSuperview" ref="372294785"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="529591350">
<int key="NSCellFlags">-2080244224</int>
@@ -552,7 +535,6 @@
</object>
<string key="NSFrameSize">{212, 550}</string>
<reference key="NSSuperview" ref="937377983"/>
- <reference key="NSWindow"/>
<string key="NSClassName">NSView</string>
</object>
<object class="NSCustomView" id="604818293">
@@ -565,7 +547,6 @@
<int key="NSvFlags">274</int>
<string key="NSFrame">{{-7, -10}, {735, 564}}</string>
<reference key="NSSuperview" ref="604818293"/>
- <reference key="NSWindow"/>
<object class="NSMutableArray" key="NSTabViewItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTabViewItem" id="831053945">
@@ -2597,7 +2578,6 @@
</object>
<string key="NSFrameSize">{688, 14}</string>
<reference key="NSSuperview" ref="1072692119"/>
- <reference key="NSWindow"/>
<object class="NSTextContainer" key="NSTextContainer" id="326170846">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
@@ -2618,7 +2598,7 @@
<int key="NSTCFlags">1</int>
</object>
<object class="NSTextViewSharedData" key="NSSharedData">
- <int key="NSFlags">12259</int>
+ <int key="NSFlags">28003</int>
<reference key="NSBackgroundColor" ref="449903125"/>
<reference key="NSInsertionColor" ref="304829493"/>
<object class="NSDictionary" key="NSSelectedAttributes">
@@ -2656,7 +2636,6 @@
</object>
<string key="NSFrame">{{1, 1}, {688, 155}}</string>
<reference key="NSSuperview" ref="71560786"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1055190999"/>
<reference key="NSDocView" ref="1055190999"/>
<reference key="NSBGColor" ref="449903125"/>
@@ -2671,7 +2650,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{598, 1}, {15, 68}}</string>
<reference key="NSSuperview" ref="71560786"/>
- <reference key="NSWindow"/>
<reference key="NSTarget" ref="71560786"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1.000000e+00</double>
@@ -2681,7 +2659,6 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{-100, -100}, {601, 11}}</string>
<reference key="NSSuperview" ref="71560786"/>
- <reference key="NSWindow"/>
<int key="NSsFlags">257</int>
<reference key="NSTarget" ref="71560786"/>
<string key="NSAction">_doScroller:</string>
@@ -2691,7 +2668,6 @@
</object>
<string key="NSFrameSize">{690, 157}</string>
<reference key="NSSuperview" ref="873437769"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1072692119"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="413233170"/>
@@ -2701,7 +2677,6 @@
</object>
<string key="NSFrameSize">{690, 156}</string>
<reference key="NSSuperview" ref="894339536"/>
- <reference key="NSWindow"/>
<string key="NSClassName">NSView</string>
</object>
<object class="NSCustomView" id="345834048">
@@ -2724,14 +2699,12 @@
<int key="NSvFlags">4352</int>
<string key="NSFrameSize">{688, 228}</string>
<reference key="NSSuperview" ref="90844306"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="1038415606">
<reference key="NSNextResponder" ref="533922066"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{688, 17}</string>
<reference key="NSSuperview" ref="533922066"/>
- <reference key="NSWindow"/>
<reference key="NSTableView" ref="581095761"/>
</object>
<object class="_NSCornerView" key="NSCornerView" id="151074124">
@@ -2739,7 +2712,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-26, 0}, {16, 17}}</string>
<reference key="NSSuperview" ref="678281118"/>
- <reference key="NSWindow"/>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -2783,7 +2755,6 @@
</object>
<string key="NSFrame">{{1, 17}, {688, 228}}</string>
<reference key="NSSuperview" ref="678281118"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="581095761"/>
<reference key="NSDocView" ref="581095761"/>
<reference key="NSBGColor" ref="1024678221"/>
@@ -2794,7 +2765,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{611, 17}, {15, 30}}</string>
<reference key="NSSuperview" ref="678281118"/>
- <reference key="NSWindow"/>
<reference key="NSTarget" ref="678281118"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">9.375000e-01</double>
@@ -2804,7 +2774,6 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 47}, {610, 15}}</string>
<reference key="NSSuperview" ref="678281118"/>
- <reference key="NSWindow"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="678281118"/>
<string key="NSAction">_doScroller:</string>
@@ -2819,7 +2788,6 @@
</object>
<string key="NSFrame">{{1, 0}, {688, 17}}</string>
<reference key="NSSuperview" ref="678281118"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1038415606"/>
<reference key="NSDocView" ref="1038415606"/>
<reference key="NSBGColor" ref="1024678221"/>
@@ -2829,7 +2797,6 @@
</object>
<string key="NSFrameSize">{690, 246}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="90844306"/>
<int key="NSsFlags">562</int>
<reference key="NSVScroller" ref="472831765"/>
@@ -2844,7 +2811,6 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{156, 246}, {98, 22}}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="830957297">
<int key="NSCellFlags">-2076049856</int>
@@ -2895,7 +2861,6 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{38, 246}, {108, 22}}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="416049103">
<int key="NSCellFlags">-2076049856</int>
@@ -2978,7 +2943,6 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{-10, 245}, {46, 25}}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="984501775">
<int key="NSCellFlags">-2076049856</int>
@@ -3186,6 +3150,16 @@
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="984501775"/>
</object>
+ <object class="NSMenuItem" id="414081589">
+ <reference key="NSMenu" ref="60735230"/>
+ <string key="NSTitle">Update Help while typing</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="594889092"/>
+ <reference key="NSMixedImage" ref="515625830"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="984501775"/>
+ </object>
</object>
<bool key="NSNoAutoenable">YES</bool>
</object>
@@ -3201,7 +3175,6 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{591, 248}, {90, 17}}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="177866566">
<int key="NSCellFlags">-2080244224</int>
@@ -3223,7 +3196,6 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{473, 248}, {110, 17}}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="588489390">
<int key="NSCellFlags">604110336</int>
@@ -3256,7 +3228,6 @@
</object>
<string key="NSFrame">{{32, 246}, {658, 23}}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSImageCell" key="NSCell" id="76236597">
<int key="NSCellFlags">130560</int>
@@ -3272,7 +3243,6 @@
</object>
<string key="NSFrame">{{0, 165}, {690, 269}}</string>
<reference key="NSSuperview" ref="894339536"/>
- <reference key="NSWindow"/>
<string key="NSClassName">NSView</string>
</object>
<object class="NSCustomView" id="875002707">
@@ -3285,7 +3255,6 @@
<int key="NSvFlags">266</int>
<string key="NSFrame">{{242, 64}, {431, 17}}</string>
<reference key="NSSuperview" ref="875002707"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="401235649">
<int key="NSCellFlags">67239424</int>
@@ -3302,7 +3271,6 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{17, 67}, {143, 14}}</string>
<reference key="NSSuperview" ref="875002707"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="194978207">
<int key="NSCellFlags">67239424</int>
@@ -3323,7 +3291,6 @@
<int key="NSvFlags">274</int>
<string key="NSFrame">{{17, 20}, {656, 43}}</string>
<reference key="NSSuperview" ref="875002707"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="948571736">
<int key="NSCellFlags">67239424</int>
@@ -3338,18 +3305,15 @@
</object>
<string key="NSFrame">{{0, 443}, {690, 87}}</string>
<reference key="NSSuperview" ref="894339536"/>
- <reference key="NSWindow"/>
<string key="NSClassName">NSView</string>
</object>
</object>
<string key="NSFrame">{{6, 10}, {690, 530}}</string>
<reference key="NSSuperview" ref="746504912"/>
- <reference key="NSWindow"/>
</object>
</object>
<string key="NSFrame">{{10, 7}, {700, 544}}</string>
<reference key="NSSuperview" ref="714795046"/>
- <reference key="NSWindow"/>
</object>
<string key="NSLabel">Custom Query</string>
<reference key="NSColor" ref="62854682"/>
@@ -3735,20 +3699,17 @@
</object>
<string key="NSFrame">{{221, 0}, {723, 550}}</string>
<reference key="NSSuperview" ref="937377983"/>
- <reference key="NSWindow"/>
<string key="NSClassName">NSView</string>
</object>
</object>
<string key="NSFrameSize">{944, 550}</string>
<reference key="NSSuperview" ref="579726586"/>
- <reference key="NSWindow"/>
<bool key="NSIsVertical">YES</bool>
<string key="NSAutosaveName">DBViewSplitter</string>
</object>
</object>
<string key="NSFrameSize">{944, 550}</string>
<reference key="NSSuperview"/>
- <reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMinSize">{780, 502}</string>
@@ -5367,7 +5328,7 @@
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSWindowContentMinSize">{350, 200}</string>
<object class="NSView" key="NSWindowView" id="999543752">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -5444,29 +5405,6 @@
<object class="NSTextView" id="1011820278">
<reference key="NSNextResponder" ref="134546146"/>
<int key="NSvFlags">2322</int>
- <object class="NSMutableSet" key="NSDragTypes">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="set.sortedObjects">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>Apple HTML pasteboard type</string>
- <string>Apple PDF pasteboard type</string>
- <string>Apple PICT pasteboard type</string>
- <string>Apple PNG pasteboard type</string>
- <string>Apple URL pasteboard type</string>
- <string>CorePasteboardFlavorType 0x6D6F6F76</string>
- <string>CorePasteboardFlavorType 0x75726C20</string>
- <string>NSColor pasteboard type</string>
- <string>NSFilenamesPboardType</string>
- <string>NSStringPboardType</string>
- <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
- <string>NeXT RTFD pasteboard type</string>
- <string>NeXT Rich Text Format v1.0 pasteboard type</string>
- <string>NeXT TIFF v4.0 pasteboard type</string>
- <string>NeXT font pasteboard type</string>
- <string>NeXT ruler pasteboard type</string>
- <string>WebURLsWithTitlesPboardType</string>
- </object>
- </object>
<string key="NSFrameSize">{574, 14}</string>
<reference key="NSSuperview" ref="134546146"/>
<object class="NSTextContainer" key="NSTextContainer" id="609699272">
@@ -5807,7 +5745,6 @@
</object>
</object>
<string key="NSFrameSize">{667, 425}</string>
- <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMinSize">{350, 222}</string>
@@ -6380,7 +6317,7 @@
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSWindowContentMinSize">{351, 120}</string>
<object class="NSView" key="NSWindowView" id="539508428">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -6767,7 +6704,6 @@
</object>
</object>
<string key="NSFrameSize">{505, 308}</string>
- <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 1002}}</string>
<string key="NSMinSize">{351, 136}</string>
@@ -13414,6 +13350,126 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
</object>
<int key="connectionID">5529</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">textColor: values.CustomQueryEditorTextColor</string>
+ <reference key="source" ref="1055190999"/>
+ <reference key="destination" ref="461189245"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1055190999"/>
+ <reference key="NSDestination" ref="461189245"/>
+ <string key="NSLabel">textColor: values.CustomQueryEditorTextColor</string>
+ <string key="NSBinding">textColor</string>
+ <string key="NSKeyPath">values.CustomQueryEditorTextColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">5531</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">font: values.CustomQueryEditorFont</string>
+ <reference key="source" ref="1055190999"/>
+ <reference key="destination" ref="461189245"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1055190999"/>
+ <reference key="NSDestination" ref="461189245"/>
+ <string key="NSLabel">font: values.CustomQueryEditorFont</string>
+ <string key="NSBinding">font</string>
+ <string key="NSKeyPath">values.CustomQueryEditorFont</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">5533</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutoindent</string>
+ <reference key="source" ref="820189134"/>
+ <reference key="destination" ref="461189245"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="820189134"/>
+ <reference key="NSDestination" ref="461189245"/>
+ <string key="NSLabel">value: values.CustomQueryAutoindent</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutoindent</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">5535</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutopair</string>
+ <reference key="source" ref="620583791"/>
+ <reference key="destination" ref="461189245"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="620583791"/>
+ <reference key="NSDestination" ref="461189245"/>
+ <string key="NSLabel">value: values.CustomQueryAutopair</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutopair</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">5536</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutouppercaseKeywords</string>
+ <reference key="source" ref="81663257"/>
+ <reference key="destination" ref="461189245"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="81663257"/>
+ <reference key="NSDestination" ref="461189245"/>
+ <string key="NSLabel">value: values.CustomQueryAutouppercaseKeywords</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutouppercaseKeywords</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">5537</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">autohelpMenuItem</string>
+ <reference key="source" ref="601471102"/>
+ <reference key="destination" ref="414081589"/>
+ </object>
+ <int key="connectionID">5539</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">gearMenuItemSelected:</string>
+ <reference key="source" ref="601471102"/>
+ <reference key="destination" ref="414081589"/>
+ </object>
+ <int key="connectionID">5540</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutohelp</string>
+ <reference key="source" ref="414081589"/>
+ <reference key="destination" ref="461189245"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="414081589"/>
+ <reference key="NSDestination" ref="461189245"/>
+ <string key="NSLabel">value: values.CustomQueryAutohelp</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutohelp</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">5541</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -17537,6 +17593,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<reference ref="324052804"/>
<reference ref="216778737"/>
<reference ref="659457702"/>
+ <reference ref="414081589"/>
</object>
<reference key="parent" ref="984501775"/>
</object>
@@ -18884,6 +18941,11 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<reference key="object" ref="980282163"/>
<reference key="parent" ref="375350404"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5538</int>
+ <reference key="object" ref="414081589"/>
+ <reference key="parent" ref="60735230"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -20044,6 +20106,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string>5518.IBPluginDependency</string>
<string>5519.IBPluginDependency</string>
<string>5520.IBPluginDependency</string>
+ <string>5538.IBPluginDependency</string>
<string>557.IBPluginDependency</string>
<string>557.ImportedFromIB2</string>
<string>565.IBEditorWindowLastContentRect</string>
@@ -21392,8 +21455,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{68, -13}, {944, 550}}</string>
- <string>{{68, -13}, {944, 550}}</string>
+ <string>{{530, 188}, {944, 550}}</string>
+ <string>{{530, 188}, {944, 550}}</string>
<reference ref="9"/>
<reference ref="9"/>
<string>{{62, 352}, {845, 504}}</string>
@@ -21575,7 +21638,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{398, 422}, {236, 254}}</string>
+ <string>{{739, 296}, {236, 271}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -21687,8 +21750,8 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{305, 131}, {505, 308}}</string>
- <string>{{305, 131}, {505, 308}}</string>
+ <string>{{92, 131}, {505, 308}}</string>
+ <string>{{92, 131}, {505, 308}}</string>
<boolean value="NO"/>
<boolean value="YES"/>
<string>{351, 120}</string>
@@ -21724,6 +21787,7 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{456, 426}, {292, 112}}</string>
<string>{{456, 426}, {292, 112}}</string>
@@ -21742,8 +21806,8 @@ aGUgYWN0aXZlIHNlbGVjdGlvbiAo4oyl4oyYUik</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{168, 225}, {667, 425}}</string>
- <string>{{168, 225}, {667, 425}}</string>
+ <string>{{62, 225}, {667, 425}}</string>
+ <string>{{62, 225}, {667, 425}}</string>
<reference ref="9"/>
<reference ref="8"/>
<reference ref="9"/>
@@ -21994,7 +22058,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">5529</int>
+ <int key="maxID">5541</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -23134,6 +23198,135 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
</object>
</object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">CustomQuery</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>addQueryFavorite:</string>
+ <string>chooseQueryFavorite:</string>
+ <string>chooseQueryHistory:</string>
+ <string>closeQueryFavoritesSheet:</string>
+ <string>closeSheet:</string>
+ <string>copyQueryFavorite:</string>
+ <string>gearMenuItemSelected:</string>
+ <string>helpSearchFindNextInPage:</string>
+ <string>helpSearchFindPreviousInPage:</string>
+ <string>helpSegmentDispatcher:</string>
+ <string>helpSelectHelpTargetMySQL:</string>
+ <string>helpSelectHelpTargetPage:</string>
+ <string>helpSelectHelpTargetWeb:</string>
+ <string>helpTargetDispatcher:</string>
+ <string>removeQueryFavorite:</string>
+ <string>runAllQueries:</string>
+ <string>runSelectedQueries:</string>
+ <string>showHelpForCurrentWord:</string>
+ <string>showHelpForSearchString:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>affectedRowsText</string>
+ <string>autohelpMenuItem</string>
+ <string>autoindentMenuItem</string>
+ <string>autopairMenuItem</string>
+ <string>autouppercaseKeywordsMenuItem</string>
+ <string>clearHistoryMenuItem</string>
+ <string>completionListMenuItem</string>
+ <string>copyQueryFavoriteButton</string>
+ <string>customQueryView</string>
+ <string>editorFontMenuItem</string>
+ <string>errorText</string>
+ <string>helpNavigator</string>
+ <string>helpSearchField</string>
+ <string>helpSearchFieldCell</string>
+ <string>helpTargetSelector</string>
+ <string>helpWebView</string>
+ <string>helpWebViewWindow</string>
+ <string>queryFavoritesButton</string>
+ <string>queryFavoritesSheet</string>
+ <string>queryFavoritesView</string>
+ <string>queryHistoryButton</string>
+ <string>removeQueryFavoriteButton</string>
+ <string>runAllButton</string>
+ <string>runSelectionButton</string>
+ <string>runSelectionMenuItem</string>
+ <string>shiftLeftMenuItem</string>
+ <string>shiftRightMenuItem</string>
+ <string>tableWindow</string>
+ <string>textView</string>
+ <string>valueSheet</string>
+ <string>valueTextField</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>NSMenuItem</string>
+ <string>NSMenuItem</string>
+ <string>NSMenuItem</string>
+ <string>NSMenuItem</string>
+ <string>NSMenuItem</string>
+ <string>NSMenuItem</string>
+ <string>id</string>
+ <string>CMCopyTable</string>
+ <string>NSMenuItem</string>
+ <string>id</string>
+ <string>NSSegmentedControl</string>
+ <string>NSSearchField</string>
+ <string>NSSearchFieldCell</string>
+ <string>NSSegmentedControl</string>
+ <string>WebView</string>
+ <string>NSWindow</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>NSMenuItem</string>
+ <string>NSMenuItem</string>
+ <string>NSMenuItem</string>
+ <string>id</string>
+ <string>CMTextView</string>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBDocumentRelativeSource</string>
+ <string key="minorKey">../../Source/CustomQuery.h</string>
+ </object>
+ </object>
+ </object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.LastKnownRelativeProjectPath">../../sequel-pro.xcodeproj</string>
diff --git a/Interfaces/English.lproj/Preferences.xib b/Interfaces/English.lproj/Preferences.xib
index 76ca251f..0d8ba83c 100644
--- a/Interfaces/English.lproj/Preferences.xib
+++ b/Interfaces/English.lproj/Preferences.xib
@@ -8,7 +8,7 @@
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="17"/>
+ <integer value="802"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -53,7 +53,7 @@
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
</object>
<object class="NSCustomView" id="594324362">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -664,8 +664,8 @@
<bool key="NS.raise.underflow">YES</bool>
<bool key="NS.raise.dividebyzero">YES</bool>
</object>
- <string key="NS.decimal">.</string>
- <string key="NS.thousand">,</string>
+ <string key="NS.decimal">,</string>
+ <string key="NS.thousand">.</string>
<bool key="NS.hasthousands">NO</bool>
<bool key="NS.localized">YES</bool>
<bool key="NS.allowsfloats">NO</bool>
@@ -699,7 +699,6 @@
</object>
</object>
<string key="NSFrameSize">{500, 218}</string>
- <reference key="NSSuperview"/>
<string key="NSClassName">NSView</string>
</object>
<object class="NSCustomView" id="395894064">
@@ -900,8 +899,8 @@
<bool key="NS.raise.underflow">YES</bool>
<bool key="NS.raise.dividebyzero">YES</bool>
</object>
- <string key="NS.decimal">.</string>
- <string key="NS.thousand">,</string>
+ <string key="NS.decimal">,</string>
+ <string key="NS.thousand">.</string>
<bool key="NS.hasthousands">NO</bool>
<bool key="NS.localized">YES</bool>
<bool key="NS.allowsfloats">NO</bool>
@@ -1244,6 +1243,7 @@
</object>
<string key="NSFrame">{{1, 1}, {198, 358}}</string>
<reference key="NSSuperview" ref="533802223"/>
+ <reference key="NSNextKeyView" ref="279932544"/>
<reference key="NSDocView" ref="279932544"/>
<reference key="NSBGColor" ref="887465699"/>
<int key="NScvFlags">4</int>
@@ -1271,6 +1271,7 @@
</object>
<string key="NSFrame">{{-2, 22}, {200, 360}}</string>
<reference key="NSSuperview" ref="984943037"/>
+ <reference key="NSNextKeyView" ref="253139122"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="940130901"/>
<reference key="NSHScroller" ref="2545381"/>
@@ -2036,8 +2037,8 @@ AQAAAAA</bytes>
<bool key="NS.raise.underflow">YES</bool>
<bool key="NS.raise.dividebyzero">YES</bool>
</object>
- <string key="NS.decimal">.</string>
- <string key="NS.thousand">,</string>
+ <string key="NS.decimal">,</string>
+ <string key="NS.thousand">.</string>
<bool key="NS.hasthousands">NO</bool>
<bool key="NS.localized">YES</bool>
<bool key="NS.allowsfloats">YES</bool>
@@ -2091,7 +2092,593 @@ AQAAAAA</bytes>
<string key="NSFrameSize">{500, 93}</string>
<string key="NSClassName">NSView</string>
</object>
+ <object class="NSCustomView" id="1033452264">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSColorWell" id="868179656">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 269}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSColorWell" id="384284042">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 210}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSColorWell" id="959599099">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 148}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSColorWell" id="397713661">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 119}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSColorWell" id="752066946">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 57}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSColorWell" id="873950148">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 239}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSColorWell" id="427231908">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 179}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSColorWell" id="298138417">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <object class="NSMutableSet" key="NSDragTypes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="set.sortedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor pasteboard type</string>
+ </object>
+ </object>
+ <string key="NSFrame">{{154, 88}, {44, 23}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <bool key="NSIsBordered">YES</bool>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4wNTgxMzA0OTkgMC4wNTU1NDE4OTkgMQA</bytes>
+ </object>
+ </object>
+ <object class="NSTextField" id="809667513">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{58, 272}, {91, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="184431884">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">SQL Keyword:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="809667513"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="1018180210">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{59, 242}, {90, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="699025286">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Numeric:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="1018180210"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="517912602">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{58, 213}, {90, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="993674697">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Comment:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="517912602"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="249980112">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{59, 182}, {90, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="98505250">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Variable:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="249980112"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="43350429">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{59, 151}, {90, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="251905330">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Quote:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="43350429"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="456135086">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{59, 91}, {90, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="477117553">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Text:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="456135086"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="933737778">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{40, 122}, {109, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="984511657">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Backtick Quote:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="933737778"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="1064728960">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{40, 60}, {109, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="105589345">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Background:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="1064728960"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="260075995">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{230, 60}, {42, 17}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="390282422">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">71304192</int>
+ <string key="NSContents">Font:</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="260075995"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSButton" id="462361579">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{73, 12}, {131, 32}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="603963569">
+ <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Default Colors</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="462361579"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="709518715">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{252, 271}, {130, 18}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="280234954">
+ <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Indent New Lines</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="709518715"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="752798171"/>
+ <reference key="NSAlternateImage" ref="888311049"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="608650319">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{252, 241}, {156, 18}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="643662109">
+ <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Auto-pair Characters</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="608650319"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="752798171"/>
+ <reference key="NSAlternateImage" ref="888311049"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="493235282">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{252, 181}, {181, 18}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="766191255">
+ <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Update Help while typing</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="493235282"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="752798171"/>
+ <reference key="NSAlternateImage" ref="888311049"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="908716921">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{252, 212}, {202, 18}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="637310941">
+ <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Auto-uppercase Keywords</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="908716921"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="752798171"/>
+ <reference key="NSAlternateImage" ref="888311049"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSButton" id="257938535">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">-2147483380</int>
+ <string key="NSFrame">{{252, 121}, {197, 18}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="155841135">
+ <int key="NSCellFlags">-1543373312</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Balanced brace highlighting</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="257938535"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="752798171"/>
+ <reference key="NSAlternateImage" ref="888311049"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="114692874">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{287, 149}, {27, 19}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="765984818">
+ <int key="NSCellFlags">-2075001280</int>
+ <int key="NSCellFlags2">-2076048384</int>
+ <string key="NSContents">0.1</string>
+ <object class="NSFont" key="NSSupport">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">1.100000e+01</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <object class="NSNumberFormatter" key="NSFormatter" id="901625043">
+ <object class="NSMutableDictionary" key="NS.attributes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>allowsFloats</string>
+ <string>decimalSeparator</string>
+ <string>formatterBehavior</string>
+ <string>groupingSeparator</string>
+ <string>positiveFormat</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="9"/>
+ <string>.</string>
+ <integer value="1040"/>
+ <string/>
+ <string>#.#</string>
+ </object>
+ </object>
+ <string key="NS.positiveformat">#.#</string>
+ <string key="NS.negativeformat">#0.#</string>
+ <nil key="NS.positiveattrs"/>
+ <nil key="NS.negativeattrs"/>
+ <object class="NSAttributedString" key="NS.zero">
+ <nil key="NSString"/>
+ </object>
+ <object class="NSAttributedString" key="NS.nil">
+ <nil key="NSString"/>
+ </object>
+ <object class="NSAttributedString" key="NS.nan">
+ <string key="NSString">NaN</string>
+ <reference key="NSAttributes" ref="294865569"/>
+ </object>
+ <object class="NSDecimalNumberPlaceholder" key="NS.min" id="25668506">
+ <int key="NS.exponent">0</int>
+ <int key="NS.length">0</int>
+ <bool key="NS.negative">YES</bool>
+ <bool key="NS.compact">NO</bool>
+ <int key="NS.mantissa.bo">1</int>
+ <bytes key="NS.mantissa">AAAAAAAAAAAAAAAAAAAAAA</bytes>
+ </object>
+ <reference key="NS.max" ref="25668506"/>
+ <object class="NSDecimalNumberHandler" key="NS.rounding">
+ <int key="NS.roundingmode">3</int>
+ <bool key="NS.raise.overflow">YES</bool>
+ <bool key="NS.raise.underflow">YES</bool>
+ <bool key="NS.raise.dividebyzero">YES</bool>
+ </object>
+ <string key="NS.decimal">.</string>
+ <string key="NS.thousand"/>
+ <bool key="NS.hasthousands">NO</bool>
+ <bool key="NS.localized">YES</bool>
+ <bool key="NS.allowsfloats">YES</bool>
+ </object>
+ <reference key="NSControlView" ref="114692874"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <reference key="NSBackgroundColor" ref="1001357688"/>
+ <reference key="NSTextColor" ref="6928728"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="700415450">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{340, 152}, {113, 14}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="778006852">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">272761856</int>
+ <string key="NSContents">Delay (0.1 - 5.0 sec)</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="700415450"/>
+ <reference key="NSBackgroundColor" ref="700609571"/>
+ <reference key="NSTextColor" ref="1035618107"/>
+ </object>
+ </object>
+ <object class="NSButton" id="772670125">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{377, 12}, {109, 32}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="801182743">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134217728</int>
+ <string key="NSContents">Select Font</string>
+ <reference key="NSSupport" ref="320262838"/>
+ <reference key="NSControlView" ref="772670125"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="370133248">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{277, 59}, {203, 19}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="836533593">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">4327424</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="370133248"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <reference key="NSBackgroundColor" ref="1001357688"/>
+ <reference key="NSTextColor" ref="6928728"/>
+ </object>
+ </object>
+ <object class="NSStepper" id="856954183">
+ <reference key="NSNextResponder" ref="1033452264"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{314, 145}, {19, 27}}</string>
+ <reference key="NSSuperview" ref="1033452264"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSStepperCell" key="NSCell" id="235545889">
+ <int key="NSCellFlags">917024</int>
+ <int key="NSCellFlags2">0</int>
+ <reference key="NSControlView" ref="856954183"/>
+ <double key="NSValue">1.000000e+00</double>
+ <double key="NSMinValue">1.000000e-01</double>
+ <double key="NSMaxValue">5.000000e+00</double>
+ <double key="NSIncrement">1.000000e-01</double>
+ <bool key="NSAutorepeat">YES</bool>
+ </object>
+ </object>
+ </object>
+ <string key="NSFrameSize">{500, 309}</string>
+ <reference key="NSSuperview"/>
+ <string key="NSClassName">NSView</string>
+ </object>
<object class="NSUserDefaultsController" id="151174232">
+ <object class="NSMutableArray" key="NSDeclaredKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>CustomQueryAutohelpDelay</string>
+ </object>
<bool key="NSSharedInstance">YES</bool>
</object>
<object class="NSArrayController" id="937123943">
@@ -3168,6 +3755,334 @@ AQAAAAA</bytes>
</object>
<int key="connectionID">801</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorCommentColor</string>
+ <reference key="source" ref="384284042"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="384284042"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorCommentColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorCommentColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">841</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorNumericColor</string>
+ <reference key="source" ref="873950148"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="873950148"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorNumericColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorNumericColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">842</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorSQLKeywordColor</string>
+ <reference key="source" ref="868179656"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="868179656"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorSQLKeywordColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorSQLKeywordColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">843</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorVariableColor</string>
+ <reference key="source" ref="427231908"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="427231908"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorVariableColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorVariableColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">844</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorQuoteColor</string>
+ <reference key="source" ref="959599099"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="959599099"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorQuoteColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorQuoteColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">845</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorBacktickColor</string>
+ <reference key="source" ref="397713661"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="397713661"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorBacktickColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorBacktickColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">846</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorBackgroundColor</string>
+ <reference key="source" ref="752066946"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="752066946"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorBackgroundColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorBackgroundColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">847</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryEditorTextColor</string>
+ <reference key="source" ref="298138417"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="298138417"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryEditorTextColor</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryEditorTextColor</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSUnarchiveFromData</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">848</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutoindent</string>
+ <reference key="source" ref="709518715"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="709518715"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryAutoindent</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutoindent</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">866</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutopair</string>
+ <reference key="source" ref="608650319"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="608650319"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryAutopair</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutopair</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">870</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutouppercaseKeywords</string>
+ <reference key="source" ref="908716921"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="908716921"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryAutouppercaseKeywords</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutouppercaseKeywords</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">871</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutohelp</string>
+ <reference key="source" ref="493235282"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="493235282"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryAutohelp</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutohelp</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">872</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: values.CustomQueryAutohelp</string>
+ <reference key="source" ref="114692874"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="114692874"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">enabled: values.CustomQueryAutohelp</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">values.CustomQueryAutohelp</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">876</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">showCustomQueryFontPanel:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="772670125"/>
+ </object>
+ <int key="connectionID">926</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">editorView</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="1033452264"/>
+ </object>
+ <int key="connectionID">928</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">editorFontName</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="370133248"/>
+ </object>
+ <int key="connectionID">931</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">setDefaultColors:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="462361579"/>
+ </object>
+ <int key="connectionID">932</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">takeFloatValueFrom:</string>
+ <reference key="source" ref="114692874"/>
+ <reference key="destination" ref="856954183"/>
+ </object>
+ <int key="connectionID">938</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: values.CustomQueryAutohelp</string>
+ <reference key="source" ref="856954183"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="856954183"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">enabled: values.CustomQueryAutohelp</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">values.CustomQueryAutohelp</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">942</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutohelpDelay</string>
+ <reference key="source" ref="114692874"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="114692874"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryAutohelpDelay</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutohelpDelay</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">948</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: values.CustomQueryAutohelpDelay</string>
+ <reference key="source" ref="856954183"/>
+ <reference key="destination" ref="151174232"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="856954183"/>
+ <reference key="NSDestination" ref="151174232"/>
+ <string key="NSLabel">value: values.CustomQueryAutohelpDelay</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">values.CustomQueryAutohelpDelay</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">949</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -4484,6 +5399,372 @@ AQAAAAA</bytes>
<reference key="object" ref="202149751"/>
<reference key="parent" ref="875775803"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">802</int>
+ <reference key="object" ref="1033452264"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="868179656"/>
+ <reference ref="809667513"/>
+ <reference ref="700415450"/>
+ <reference ref="856954183"/>
+ <reference ref="114692874"/>
+ <reference ref="873950148"/>
+ <reference ref="384284042"/>
+ <reference ref="427231908"/>
+ <reference ref="959599099"/>
+ <reference ref="397713661"/>
+ <reference ref="298138417"/>
+ <reference ref="752066946"/>
+ <reference ref="1018180210"/>
+ <reference ref="517912602"/>
+ <reference ref="249980112"/>
+ <reference ref="43350429"/>
+ <reference ref="933737778"/>
+ <reference ref="456135086"/>
+ <reference ref="1064728960"/>
+ <reference ref="709518715"/>
+ <reference ref="608650319"/>
+ <reference ref="908716921"/>
+ <reference ref="493235282"/>
+ <reference ref="257938535"/>
+ <reference ref="260075995"/>
+ <reference ref="370133248"/>
+ <reference ref="462361579"/>
+ <reference ref="772670125"/>
+ </object>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">Editor</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">803</int>
+ <reference key="object" ref="868179656"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">804</int>
+ <reference key="object" ref="384284042"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">805</int>
+ <reference key="object" ref="959599099"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">806</int>
+ <reference key="object" ref="873950148"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">807</int>
+ <reference key="object" ref="427231908"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">808</int>
+ <reference key="object" ref="298138417"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">809</int>
+ <reference key="object" ref="809667513"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="184431884"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">810</int>
+ <reference key="object" ref="184431884"/>
+ <reference key="parent" ref="809667513"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">812</int>
+ <reference key="object" ref="1018180210"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="699025286"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">813</int>
+ <reference key="object" ref="699025286"/>
+ <reference key="parent" ref="1018180210"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">814</int>
+ <reference key="object" ref="517912602"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="993674697"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">815</int>
+ <reference key="object" ref="993674697"/>
+ <reference key="parent" ref="517912602"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">816</int>
+ <reference key="object" ref="249980112"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="98505250"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">817</int>
+ <reference key="object" ref="98505250"/>
+ <reference key="parent" ref="249980112"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">818</int>
+ <reference key="object" ref="43350429"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="251905330"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">819</int>
+ <reference key="object" ref="251905330"/>
+ <reference key="parent" ref="43350429"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">820</int>
+ <reference key="object" ref="456135086"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="477117553"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">821</int>
+ <reference key="object" ref="477117553"/>
+ <reference key="parent" ref="456135086"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">822</int>
+ <reference key="object" ref="752066946"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">823</int>
+ <reference key="object" ref="397713661"/>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">824</int>
+ <reference key="object" ref="933737778"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="984511657"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">825</int>
+ <reference key="object" ref="984511657"/>
+ <reference key="parent" ref="933737778"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">826</int>
+ <reference key="object" ref="1064728960"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="105589345"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">827</int>
+ <reference key="object" ref="105589345"/>
+ <reference key="parent" ref="1064728960"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">849</int>
+ <reference key="object" ref="462361579"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="603963569"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">850</int>
+ <reference key="object" ref="603963569"/>
+ <reference key="parent" ref="462361579"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">851</int>
+ <reference key="object" ref="709518715"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="280234954"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">852</int>
+ <reference key="object" ref="280234954"/>
+ <reference key="parent" ref="709518715"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">853</int>
+ <reference key="object" ref="608650319"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="643662109"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">854</int>
+ <reference key="object" ref="643662109"/>
+ <reference key="parent" ref="608650319"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">855</int>
+ <reference key="object" ref="493235282"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="766191255"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">856</int>
+ <reference key="object" ref="766191255"/>
+ <reference key="parent" ref="493235282"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">857</int>
+ <reference key="object" ref="908716921"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="637310941"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">858</int>
+ <reference key="object" ref="637310941"/>
+ <reference key="parent" ref="908716921"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">859</int>
+ <reference key="object" ref="257938535"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="155841135"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">860</int>
+ <reference key="object" ref="155841135"/>
+ <reference key="parent" ref="257938535"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">861</int>
+ <reference key="object" ref="114692874"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="765984818"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">862</int>
+ <reference key="object" ref="765984818"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="901625043"/>
+ </object>
+ <reference key="parent" ref="114692874"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">863</int>
+ <reference key="object" ref="700415450"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="778006852"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">864</int>
+ <reference key="object" ref="778006852"/>
+ <reference key="parent" ref="700415450"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">882</int>
+ <reference key="object" ref="260075995"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="390282422"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">883</int>
+ <reference key="object" ref="390282422"/>
+ <reference key="parent" ref="260075995"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">880</int>
+ <reference key="object" ref="772670125"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="801182743"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">881</int>
+ <reference key="object" ref="801182743"/>
+ <reference key="parent" ref="772670125"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">929</int>
+ <reference key="object" ref="370133248"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="836533593"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">930</int>
+ <reference key="object" ref="836533593"/>
+ <reference key="parent" ref="370133248"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">933</int>
+ <reference key="object" ref="856954183"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="235545889"/>
+ </object>
+ <reference key="parent" ref="1033452264"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">934</int>
+ <reference key="object" ref="235545889"/>
+ <reference key="parent" ref="856954183"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">943</int>
+ <reference key="object" ref="901625043"/>
+ <reference key="parent" ref="765984818"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -4749,8 +6030,60 @@ AQAAAAA</bytes>
<string>790.IBPluginDependency</string>
<string>791.IBPluginDependency</string>
<string>792.IBPluginDependency</string>
+ <string>802.IBEditorWindowLastContentRect</string>
+ <string>802.IBPluginDependency</string>
+ <string>802.IBUserGuides</string>
+ <string>803.IBPluginDependency</string>
+ <string>804.IBPluginDependency</string>
+ <string>805.IBPluginDependency</string>
+ <string>806.IBPluginDependency</string>
+ <string>807.IBPluginDependency</string>
+ <string>808.IBPluginDependency</string>
+ <string>809.IBPluginDependency</string>
+ <string>810.IBPluginDependency</string>
+ <string>812.IBPluginDependency</string>
+ <string>813.IBPluginDependency</string>
+ <string>814.IBPluginDependency</string>
+ <string>815.IBPluginDependency</string>
+ <string>816.IBPluginDependency</string>
+ <string>817.IBPluginDependency</string>
+ <string>818.IBPluginDependency</string>
+ <string>819.IBPluginDependency</string>
+ <string>820.IBPluginDependency</string>
+ <string>821.IBPluginDependency</string>
+ <string>822.IBPluginDependency</string>
+ <string>823.IBPluginDependency</string>
+ <string>824.IBPluginDependency</string>
+ <string>825.IBPluginDependency</string>
+ <string>826.IBPluginDependency</string>
+ <string>827.IBPluginDependency</string>
+ <string>849.IBPluginDependency</string>
+ <string>850.IBPluginDependency</string>
+ <string>851.IBPluginDependency</string>
+ <string>852.IBPluginDependency</string>
+ <string>853.IBPluginDependency</string>
+ <string>854.IBPluginDependency</string>
+ <string>855.IBPluginDependency</string>
+ <string>856.IBPluginDependency</string>
+ <string>857.IBPluginDependency</string>
+ <string>858.IBPluginDependency</string>
+ <string>859.IBPluginDependency</string>
+ <string>860.IBPluginDependency</string>
+ <string>861.IBPluginDependency</string>
+ <string>862.IBPluginDependency</string>
+ <string>863.IBPluginDependency</string>
+ <string>864.IBPluginDependency</string>
+ <string>880.IBPluginDependency</string>
+ <string>881.IBPluginDependency</string>
+ <string>882.IBPluginDependency</string>
+ <string>883.IBPluginDependency</string>
+ <string>929.IBPluginDependency</string>
+ <string>930.IBPluginDependency</string>
+ <string>933.IBPluginDependency</string>
+ <string>934.IBPluginDependency</string>
<string>94.IBPluginDependency</string>
<string>94.ImportedFromIB2</string>
+ <string>943.IBPluginDependency</string>
<string>95.IBPluginDependency</string>
<string>96.IBPluginDependency</string>
<string>97.IBPluginDependency</string>
@@ -4763,8 +6096,8 @@ AQAAAAA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilderKit</string>
<string>com.apple.InterfaceBuilderKit</string>
- <string>{{451, 196}, {500, 172}}</string>
- <string>{{451, 196}, {500, 172}}</string>
+ <string>{{124, 7}, {500, 172}}</string>
+ <string>{{124, 7}, {500, 172}}</string>
<reference ref="6"/>
<string>{196, 240}</string>
<string>{{202, 428}, {480, 270}}</string>
@@ -4778,7 +6111,7 @@ AQAAAAA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{4, 638}, {500, 218}}</string>
+ <string>{{100, 506}, {500, 218}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSMutableArray">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -4967,7 +6300,7 @@ AQAAAAA</bytes>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{398, 612}, {500, 244}}</string>
+ <string>{{415, 13}, {500, 244}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSMutableArray">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -5050,7 +6383,7 @@ AQAAAAA</bytes>
<int key="affinity">0</int>
</object>
</object>
- <string>{{15, 448}, {500, 93}}</string>
+ <string>{{117, 527}, {500, 93}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSMutableArray">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -5111,12 +6444,71 @@ AQAAAAA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{113, 109}, {500, 309}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <object class="NSMutableArray">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUserGuide">
+ <reference key="view" ref="1033452264"/>
+ <float key="location">1.450000e+02</float>
+ <int key="affinity">0</int>
+ </object>
+ </object>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
@@ -5141,30 +6533,16 @@ AQAAAAA</bytes>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">801</int>
+ <int key="maxID">949</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
- <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/CMImageView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/CMMCPConnection.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/SPWindowAdditions.h</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="211715013">
+ <string key="majorKey">IBDocumentRelativeSource</string>
+ <string key="minorKey">../../Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -5175,7 +6553,9 @@ AQAAAAA</bytes>
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>addFavorite:</string>
+ <string>changeFont:</string>
<string>displayAutoUpdatePreferences:</string>
+ <string>displayEditorPreferences:</string>
<string>displayFavoritePreferences:</string>
<string>displayGeneralPreferences:</string>
<string>displayNetworkPreferences:</string>
@@ -5184,6 +6564,8 @@ AQAAAAA</bytes>
<string>duplicateFavorite:</string>
<string>removeFavorite:</string>
<string>saveFavorite:</string>
+ <string>setDefaultColors:</string>
+ <string>showCustomQueryFontPanel:</string>
<string>updateDefaultFavorite:</string>
</object>
<object class="NSMutableArray" key="dict.values">
@@ -5199,6 +6581,10 @@ AQAAAAA</bytes>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
@@ -5208,6 +6594,8 @@ AQAAAAA</bytes>
<string>autoUpdateView</string>
<string>databaseField</string>
<string>defaultFavoritePopup</string>
+ <string>editorFontName</string>
+ <string>editorView</string>
<string>favoritesController</string>
<string>favoritesTableView</string>
<string>favoritesView</string>
@@ -5226,6 +6614,8 @@ AQAAAAA</bytes>
<string>NSView</string>
<string>NSTextField</string>
<string>NSPopUpButton</string>
+ <string>NSTextField</string>
+ <string>NSView</string>
<string>NSArrayController</string>
<string>NSTableView</string>
<string>NSView</string>
@@ -5241,18 +6631,8 @@ AQAAAAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/SPPreferenceController.h</string>
- </object>
- </object>
- </object>
- <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="211715013">
<string key="majorKey">IBDocumentRelativeSource</string>
- <string key="minorKey">../../Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h</string>
+ <string key="minorKey">../../Source/SPPreferenceController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
diff --git a/Resources/PreferenceDefaults.plist b/Resources/PreferenceDefaults.plist
index bc41f299..6e2431b4 100644
--- a/Resources/PreferenceDefaults.plist
+++ b/Resources/PreferenceDefaults.plist
@@ -36,6 +36,22 @@
<integer>60</integer>
<key>CustomQueryEditorFont</key>
<data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAZOU0ZvbnQehIQITlNPYmplY3QAhYQBaRiEBVsyNGNdBgAAAA4AAAD//k0AbwBuAGEAYwBvAAAAhAFmCoQBYwCYAZgAmACG</data>
+ <key>CustomQueryEditorBackgroundColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmAQEBAYY=</data>
+ <key>CustomQueryEditorBacktickColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmAACDqagoPwGG</data>
+ <key>CustomQueryEditorCommentColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmAIPp6Og+AAGG</data>
+ <key>CustomQueryEditorNumericColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmg4GAAD+Dh4aGPgABhg==</data>
+ <key>CustomQueryEditorQuoteColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmg8bFRT+DnXPOPYNba609AYY=</data>
+ <key>CustomQueryEditorSQLKeywordColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmg83MTD6DnXPOPQEBhg==</data>
+ <key>CustomQueryEditorTextColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmAAAAAYY=</data>
+ <key>CustomQueryEditorVariableColor</key>
+ <data>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARmZmZmg3zv/T6DfO/9PoN87/0+AYY=</data>
<key>CustomQueryAutoindent</key>
<true/>
<key>CustomQueryAutopair</key>
@@ -44,6 +60,8 @@
<false/>
<key>CustomQueryAutohelp</key>
<false/>
+ <key>CustomQueryAutohelpDelay</key>
+ <real>1.0</real>
<key>SelectLastFavoriteUsed</key>
<true/>
<key>LastFavoriteIndex</key>
diff --git a/Source/CMTextView.h b/Source/CMTextView.h
index 964598cd..a133d825 100644
--- a/Source/CMTextView.h
+++ b/Source/CMTextView.h
@@ -29,6 +29,7 @@
#import "CMMCPConnection.h"
#import "CMMCPResult.h"
+#define SP_TEXT_SIZE_TRIGGER_FOR_PARTLY_PARSING 10000
@interface CMTextView : NSTextView {
BOOL autoindentEnabled;
@@ -41,15 +42,15 @@
NSString *showMySQLHelpFor;
- BOOL sqlStringIsTooLarge;
-
IBOutlet NSScrollView *scrollView;
+
+ NSUserDefaults *prefs;
}
- (IBAction)showMySQLHelpForCurrentWord:(id)sender;
-- (BOOL) isNextCharMarkedBy:(id)attribute;
+- (BOOL) isNextCharMarkedBy:(id)attribute withValue:(id)aValue;
- (BOOL) areAdjacentCharsLinked;
- (BOOL) wrapSelectionWithPrefix:(NSString *)prefix suffix:(NSString *)suffix;
- (BOOL) shiftSelectionRight;
@@ -69,6 +70,6 @@
- (void) selectLineNumber:(unsigned int)lineNumber ignoreLeadingNewLines:(BOOL)ignLeadingNewLines;
- (unsigned int) getLineNumberForCharacterIndex:(unsigned int)anIndex;
- (void) autoHelp;
-- (void) doSyntaxHighlighting:(NSTextStorage*)textStore;
+- (void) doSyntaxHighlighting;
@end
diff --git a/Source/CMTextView.m b/Source/CMTextView.m
index 982cd9c6..85f4f8bf 100644
--- a/Source/CMTextView.m
+++ b/Source/CMTextView.m
@@ -37,18 +37,21 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
void yy_switch_to_buffer(YY_BUFFER_STATE);
YY_BUFFER_STATE yy_scan_string (const char *);
-#define kAPlinked @"Linked" // attribute for a via auto-pair inserted char
-#define kAPval @"linked"
-#define kWQquoted @"Quoted" // set via lex to indicate a quoted string
-#define kSQLkeyword @"SQLkw" // attribute for found SQL keywords
-#define kQuote @"Quote"
-#define kQuoteValue @"isQuoted"
-#define kValue @"dummy"
-#define kBTQuote @"BTQuote"
-#define kBTQuoteValue @"isBTQuoted"
+#define kAPlinked @"Linked" // attribute for a via auto-pair inserted char
+#define kAPval @"linked"
+#define kLEXToken @"Quoted" // set via lex to indicate a quoted string
+#define kLEXTokenValue @"isMarked"
+#define kSQLkeyword @"SQLkw" // attribute for found SQL keywords
+#define kQuote @"Quote"
+#define kQuoteValue @"isQuoted"
+#define kValue @"dummy"
+#define kBTQuote @"BTQuote"
+#define kBTQuoteValue @"isBTQuoted"
#define SP_CQ_SEARCH_IN_MYSQL_HELP_MENU_ITEM_TAG 1000
+#define SP_SYNTAX_HILITE_BIAS 2000
+
#define MYSQL_DOC_SEARCH_URL @"http://dev.mysql.com/doc/refman/%@/en/%@.html"
@@ -115,7 +118,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
/*
* Checks if the char after the current caret position/selection matches a supplied attribute
*/
-- (BOOL) isNextCharMarkedBy:(id)attribute
+- (BOOL) isNextCharMarkedBy:(id)attribute withValue:(id)aValue
{
unsigned int caretPosition = [self selectedRange].location;
@@ -123,7 +126,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
if (caretPosition >= [[self string] length]) return NO;
// Perform the check
- if ([[self textStorage] attribute:attribute atIndex:caretPosition effectiveRange:nil])
+ if ([[[self textStorage] attribute:attribute atIndex:caretPosition effectiveRange:nil] isEqualToString:aValue])
return YES;
return NO;
@@ -154,7 +157,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
// Check that the pairing character exists after the caret, and is tagged with the link attribute
if (matchingChar == [[self string] characterAtIndex:caretPosition]
- && [[self textStorage] attribute:kAPlinked atIndex:caretPosition effectiveRange:nil]) {
+ && [[[self textStorage] attribute:kAPlinked atIndex:caretPosition effectiveRange:nil] isEqualToString:kAPval]) {
return YES;
}
@@ -233,6 +236,25 @@ YY_BUFFER_STATE yy_scan_string (const char *);
[self scrollRangeToVisible:selRange];
}
+/*
+ * Used for autoHelp update if the user changed the caret position by using the mouse.
+ */
+- (void) mouseDown:(NSEvent *)theEvent
+{
+
+ // Cancel autoHelp timer
+ if([prefs boolForKey:@"CustomQueryAutohelp"])
+ [NSObject cancelPreviousPerformRequestsWithTarget:self
+ selector:@selector(autoHelp)
+ object:nil];
+
+ [super mouseDown:theEvent];
+
+ // Start autoHelp timer
+ if([prefs boolForKey:@"CustomQueryAutohelp"])
+ [self performSelector:@selector(autoHelp) withObject:nil afterDelay:[[[prefs valueForKey:@"CustomQueryAutohelpDelay"] retain] floatValue]];
+
+}
/*
* Handle some keyDown events in order to provide autopairing functionality (if enabled).
@@ -240,7 +262,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
- (void) keyDown:(NSEvent *)theEvent
{
- if(autohelpEnabled) // cancel autoHelp request
+ if([prefs boolForKey:@"CustomQueryAutohelp"]) // cancel autoHelp request
[NSObject cancelPreviousPerformRequestsWithTarget:self
selector:@selector(autoHelp)
object:nil];
@@ -262,7 +284,6 @@ YY_BUFFER_STATE yy_scan_string (const char *);
unichar insertedCharacter = [characters characterAtIndex:0];
long curFlags = ([theEvent modifierFlags] & allFlags);
-
// Note: switch(insertedCharacter) {} does not work instead use charactersIgnoringModifiers
if([charactersIgnMod isEqualToString:@"c"]) // ^C copy as RTF
if(curFlags==(NSControlKeyMask))
@@ -279,7 +300,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
}
// Only process for character autopairing if autopairing is enabled and a single character is being added.
- if (autopairEnabled && characters && [characters length] == 1) {
+ if ([prefs boolForKey:@"CustomQueryAutopair"] && characters && [characters length] == 1) {
delBackwardsWasPressed = NO;
@@ -295,10 +316,10 @@ YY_BUFFER_STATE yy_scan_string (const char *);
(insertedCharacter == '\'' || insertedCharacter == '"' || insertedCharacter == '`')
// And if the next char marked as linked auto-pair
- && [self isNextCharMarkedBy:kAPlinked]
+ && [self isNextCharMarkedBy:kAPlinked withValue:kAPval]
// And we are inside a quoted string
- && [self isNextCharMarkedBy:kWQquoted]
+ && [self isNextCharMarkedBy:kLEXToken withValue:kLEXTokenValue]
// And there is no selection, just the text caret
&& ![self selectedRange].length
@@ -320,7 +341,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
// There is one exception to this - if the caret is before a linked pair character,
// processing continues in order to check whether the next character should be jumped
// over; e.g. [| := caret]: "foo|" and press " => only caret will be moved "foo"|
- if(![self isNextCharMarkedBy:kAPlinked] && [self isNextCharMarkedBy:kWQquoted] && ![self selectedRange].length) {
+ if(![self isNextCharMarkedBy:kAPlinked withValue:kAPval] && [self isNextCharMarkedBy:kLEXToken withValue:kLEXTokenValue] && ![self selectedRange].length) {
[super keyDown:theEvent];
return;
}
@@ -360,7 +381,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
if (skipTypedLinkedCharacter) {
currentRange = [self selectedRange];
if (currentRange.location != NSNotFound && currentRange.length == 0) {
- if ([self isNextCharMarkedBy:kAPlinked]) {
+ if ([self isNextCharMarkedBy:kAPlinked withValue:kAPval]) {
if ([[[self textStorage] string] characterAtIndex:currentRange.location] == insertedCharacter) {
currentRange.length = 1;
[self setSelectedRange:currentRange];
@@ -405,29 +426,12 @@ YY_BUFFER_STATE yy_scan_string (const char *);
// The default action is to perform the normal key-down action.
[super keyDown:theEvent];
- if(autohelpEnabled)
- [self performSelector:@selector(autoHelp) withObject:nil afterDelay:1];
+ if([prefs boolForKey:@"CustomQueryAutohelp"])
+ [self performSelector:@selector(autoHelp) withObject:nil afterDelay:[[[prefs valueForKey:@"CustomQueryAutohelpDelay"] retain] floatValue]];
}
-/*
- * Notify autoHelp if user changed the insertion point
- */
-- (void)mouseDown:(NSEvent *)theEvent
-{
-
- if(autohelpEnabled) // cancel autoHelp request
- [NSObject cancelPreviousPerformRequestsWithTarget:self
- selector:@selector(autoHelp)
- object:nil];
-
- [super mouseDown:theEvent];
- if(autohelpEnabled)
- [self performSelector:@selector(autoHelp) withObject:nil afterDelay:1];
-
-}
-
- (void) deleteBackward:(id)sender
{
@@ -456,7 +460,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
// Handle newlines, adding any indentation found on the current line to the new line - ignoring the enter key if appropriate
if (aSelector == @selector(insertNewline:)
- && autoindentEnabled
+ && [prefs boolForKey:@"CustomQueryAutoindent"]
&& (!autoindentIgnoresEnter || [[NSApp currentEvent] keyCode] != 0x4C))
{
NSString *textViewString = [[self textStorage] string];
@@ -629,7 +633,7 @@ YY_BUFFER_STATE yy_scan_string (const char *);
// Check if the caret is inside quotes "" or ''; if so
// return the normal word suggestion due to the spelling's settings
- if(!sqlStringIsTooLarge && [[[self textStorage] attribute:kQuote atIndex:charRange.location effectiveRange:nil] isEqualToString:kQuoteValue] )
+ if([[[self textStorage] attribute:kQuote atIndex:charRange.location effectiveRange:nil] isEqualToString:kQuoteValue] )
return [[NSSpellChecker sharedSpellChecker] completionsForPartialWordRange:NSMakeRange(0,charRange.length) inString:[[self string] substringWithRange:charRange] language:nil inSpellDocumentWithTag:0];
@@ -665,12 +669,15 @@ YY_BUFFER_STATE yy_scan_string (const char *);
}
// If caret is not inside backticks add keywords and all words coming from the view.
- if(!sqlStringIsTooLarge && ![[[self textStorage] attribute:kBTQuote atIndex:charRange.location effectiveRange:nil] isEqualToString:kBTQuoteValue] )
+ if(![[[self textStorage] attribute:kBTQuote atIndex:charRange.location effectiveRange:nil] isEqualToString:kBTQuoteValue] )
{
- NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" \t\r\n,()\"'`-!;=+|?:~"];
- NSArray *textViewWords = [[self string] componentsSeparatedByCharactersInSet:separators];
-
- [possibleCompletions addObjectsFromArray:textViewWords];
+ // Only parse for words if text size is less than 6MB
+ if([[self string] length]<6000000)
+ {
+ NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" \t\r\n,()\"'`-!;=+|?:~"];
+ NSArray *textViewWords = [[self string] componentsSeparatedByCharactersInSet:separators];
+ [possibleCompletions addObjectsFromArray:textViewWords];
+ }
[possibleCompletions addObjectsFromArray:[self keywords]];
}
@@ -1762,32 +1769,58 @@ SYNTAX HIGHLIGHTING!
autohelpEnabled = NO;
delBackwardsWasPressed = NO;
- // commentColor = [NSColor colorWithDeviceRed:0.000 green:0.455 blue:0.000 alpha:1.000];
- // quoteColor = [NSColor colorWithDeviceRed:0.769 green:0.102 blue:0.086 alpha:1.000];
- // keywordColor = [NSColor colorWithDeviceRed:0.200 green:0.250 blue:1.000 alpha:1.000];
- // backtickColor = [NSColor colorWithDeviceRed:0.0 green:0.0 blue:0.658 alpha:1.000];
- // numericColor = [NSColor colorWithDeviceRed:0.506 green:0.263 blue:0.0 alpha:1.000];
- // variableColor = [NSColor colorWithDeviceRed:0.5 green:0.5 blue:0.5 alpha:1.000];
-
lineNumberView = [[NoodleLineNumberView alloc] initWithScrollView:scrollView];
[scrollView setVerticalRulerView:lineNumberView];
[scrollView setHasHorizontalRuler:NO];
[scrollView setHasVerticalRuler:YES];
[scrollView setRulersVisible:YES];
+
+ // disabled to get the current text range in textView safer
+ [[self layoutManager] setBackgroundLayoutEnabled:NO];
+
+ // add NSViewBoundsDidChangeNotification to scrollView
+ [[scrollView contentView] setPostsBoundsChangedNotifications:YES];
+ NSNotificationCenter *aNotificationCenter = [NSNotificationCenter defaultCenter];
+ [aNotificationCenter addObserver:self selector:@selector(boundsDidChangeNotification:) name:@"NSViewBoundsDidChangeNotification" object:[scrollView contentView]];
+
+ prefs = [[NSUserDefaults standardUserDefaults] retain];
}
+/*
+ * Scrollview delegate after the textView's view port was changed.
+ * Manily used to update the syntax highlighting for a large text size.
+ */
+- (void) boundsDidChangeNotification:(NSNotification *)notification
+{
+ // Invoke syntax highlighting if text view port was changed for large text
+ if([[self string] length] > SP_TEXT_SIZE_TRIGGER_FOR_PARTLY_PARSING)
+ {
+ [NSObject cancelPreviousPerformRequestsWithTarget:self
+ selector:@selector(doSyntaxHighlighting)
+ object:nil];
+
+ if(![[self textStorage] changeInLength])
+ [self performSelector:@selector(doSyntaxHighlighting) withObject:nil afterDelay:0.4];
+ }
+
+}
+/*
+ * If enabled it shows the MySQL Help for the current word (not inside quotes) or for the selection
+ * after an adjustable delay if the textView is idle, i.e. no user interaction.
+ */
- (void)autoHelp
{
- if(!autohelpEnabled) return;
+ if(![prefs boolForKey:@"CustomQueryAutohelp"]) return;
+ // If selection show Help for it
if([self selectedRange].length)
{
[[[[self window] delegate] valueForKeyPath:@"customQueryInstance"] performSelector:@selector(showHelpForCurrentWord:) withObject:self afterDelay:0.1];
return;
}
-
+ // Otherwise show Help if caret is not inside quotes
long cursorPosition = [self selectedRange].location;
if (cursorPosition >= [[self string] length]) cursorPosition--;
if(cursorPosition > -1 && (![[self textStorage] attribute:kQuote atIndex:cursorPosition effectiveRange:nil]||[[self textStorage] attribute:kSQLkeyword atIndex:cursorPosition effectiveRange:nil]))
@@ -1795,33 +1828,102 @@ SYNTAX HIGHLIGHTING!
}
-- (void)doSyntaxHighlighting:(NSTextStorage*)textStore
+/*
+ * Syntax Highlighting.
+ *
+ * (The main bottleneck is the [NSTextStorage addAttribute:value:range:] method - the parsing itself is really fast!)
+ * Some sample code from Andrew Choi ( http://members.shaw.ca/akochoi-old/blog/2003/11-09/index.html#3 ) has been reused.
+ */
+- (void)doSyntaxHighlighting
{
+
+ NSTextStorage *textStore = [self textStorage];
+ NSRange textRange;
+
+ // If text larger than SP_TEXT_SIZE_TRIGGER_FOR_PARTLY_PARSING
+ // do highlighting partly (max SP_SYNTAX_HILITE_BIAS*2).
+ // The approach is to take the middle position of the current view port
+ // and highlight only ±SP_SYNTAX_HILITE_BIAS of that middle position
+ // considering of line starts resp. ends
+ if([[self string] length] > SP_TEXT_SIZE_TRIGGER_FOR_PARTLY_PARSING)
+ {
+
+ // Cancel all doSyntaxHighlighting requests
+ [NSObject cancelPreviousPerformRequestsWithTarget:self
+ selector:@selector(doSyntaxHighlighting)
+ object:nil];
+
+ // Get the text range currently displayed in the view port
+ NSRect visibleRect = [[[self enclosingScrollView] contentView] documentVisibleRect];
+ NSRange visibleRange = [[self layoutManager] glyphRangeForBoundingRectWithoutAdditionalLayout:visibleRect inTextContainer:[self textContainer]];
+ if(!visibleRange.length) return;
+
+ // Take roughly the middle position in the current view port
+ int curPos = visibleRange.location+(int)(visibleRange.length/2);
+
+ int strlength = [[self string] length];
+
+ // get the last line to parse due to SP_SYNTAX_HILITE_BIAS
+ int end = curPos + SP_SYNTAX_HILITE_BIAS;
+ if (end > strlength )
+ {
+ end = strlength;
+ } else {
+ while(end < strlength)
+ {
+ if([[self string] characterAtIndex:end]=='\n')
+ break;
+ end++;
+ }
+ }
+
+ // get the first line to parse due to SP_SYNTAX_HILITE_BIAS
+ int start = end - (SP_SYNTAX_HILITE_BIAS*2);
+ if (start > 0)
+ while(start>-1)
+ {
+ if([[self string] characterAtIndex:start]=='\n')
+ break;
+ start--;
+ }
+ else
+ start = 0;
+
+
+ textRange = NSMakeRange(start, end-start);
+ // only to be sure that nothing went wrongly
+ textRange = NSIntersectionRange(textRange, NSMakeRange(0, [textStore length]));
+ if (!textRange.length)
+ return;
+ } else {
+ // If text size is less SP_TEXT_SIZE_TRIGGER_FOR_PARTLY_PARSING
+ // process syntax highlighting for the entire text view buffer
+ textRange = NSMakeRange(0,[[self string] length]);
+ }
+
NSColor *tokenColor;
- NSColor *commentColor = [NSColor colorWithDeviceRed:0.000 green:0.455 blue:0.000 alpha:1.000];
- NSColor *quoteColor = [NSColor colorWithDeviceRed:0.769 green:0.102 blue:0.086 alpha:1.000];
- NSColor *keywordColor = [NSColor colorWithDeviceRed:0.200 green:0.250 blue:1.000 alpha:1.000];
- NSColor *backtickColor = [NSColor colorWithDeviceRed:0.0 green:0.0 blue:0.658 alpha:1.000];
- NSColor *numericColor = [NSColor colorWithDeviceRed:0.506 green:0.263 blue:0.0 alpha:1.000];
- NSColor *variableColor = [NSColor colorWithDeviceRed:0.5 green:0.5 blue:0.5 alpha:1.000];
+
+ NSColor *commentColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorCommentColor"]] retain];//[NSColor colorWithDeviceRed:0.000 green:0.455 blue:0.000 alpha:1.000];
+ NSColor *quoteColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorQuoteColor"]] retain];//[NSColor colorWithDeviceRed:0.769 green:0.102 blue:0.086 alpha:1.000];
+ NSColor *keywordColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorSQLKeywordColor"]] retain];//[NSColor colorWithDeviceRed:0.200 green:0.250 blue:1.000 alpha:1.000];
+ NSColor *backtickColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorBacktickColor"]] retain];//[NSColor colorWithDeviceRed:0.0 green:0.0 blue:0.658 alpha:1.000];
+ NSColor *numericColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorNumericColor"]] retain];//[NSColor colorWithDeviceRed:0.506 green:0.263 blue:0.0 alpha:1.000];
+ NSColor *variableColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorVariableColor"]] retain];//[NSColor colorWithDeviceRed:0.5 green:0.5 blue:0.5 alpha:1.000];
+ NSColor *textColor = [[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorTextColor"]] retain];//[NSColor colorWithDeviceRed:0.5 green:0.5 blue:0.5 alpha:1.000];
- int token;
- NSRange textRange, tokenRange;
+ BOOL autouppercaseKeywords = [prefs boolForKey:@"CustomQueryAutouppercaseKeywords"];
- textRange = NSMakeRange(0, [textStore length]);
+ unsigned long tokenEnd, token;
+ NSRange tokenRange;
//first remove the old colors and kQuote
[textStore removeAttribute:NSForegroundColorAttributeName range:textRange];
[textStore removeAttribute:kQuote range:textRange];
-
- //don't color texts longer than about 20KB. would be too slow
- sqlStringIsTooLarge = (textRange.length > 20000);
- if(sqlStringIsTooLarge) return;
-
+ [textStore removeAttribute:kLEXToken range:textRange];
//initialise flex
- yyuoffset = 0; yyuleng = 0;
- yy_switch_to_buffer(yy_scan_string([[textStore string] UTF8String]));
+ yyuoffset = textRange.location; yyuleng = 0;
+ yy_switch_to_buffer(yy_scan_string([[[self string] substringWithRange:textRange] UTF8String]));
//now loop through all the tokens
while (token=yylex()){
@@ -1845,8 +1947,11 @@ SYNTAX HIGHLIGHTING!
case SPT_VARIABLE:
tokenColor = variableColor;
break;
- default:
+ case SPT_WHITESPACE:
tokenColor = nil;
+ break;
+ default:
+ tokenColor = textColor;
}
if (!tokenColor) continue;
@@ -1859,19 +1964,20 @@ SYNTAX HIGHLIGHTING!
if (!tokenRange.length) continue;
// If the current token is marked as SQL keyword, uppercase it if required.
- unsigned long tokenEnd = tokenRange.location+tokenRange.length-1;
+ tokenEnd = tokenRange.location+tokenRange.length-1;
// Check the end of the token
- if (autouppercaseKeywordsEnabled && !delBackwardsWasPressed
+ if (autouppercaseKeywords && !delBackwardsWasPressed
&& [[self textStorage] attribute:kSQLkeyword atIndex:tokenEnd effectiveRange:nil])
// check if next char is not a kSQLkeyword or current kSQLkeyword is at the end;
// if so then upper case keyword if not already done
// @try catch() for catching valid index esp. after deleteBackward:
{
+
NSString* curTokenString = [[self string] substringWithRange:tokenRange];
BOOL doIt = NO;
@try
{
- doIt = ![[self textStorage] attribute:kSQLkeyword atIndex:tokenEnd+1 effectiveRange:nil];
+ doIt = ![[self textStorage] attribute:kSQLkeyword atIndex:tokenEnd+1 effectiveRange:nil];
} @catch(id ae) { doIt = YES; }
if(doIt && ![[curTokenString uppercaseString] isEqualToString:curTokenString])
@@ -1889,10 +1995,11 @@ SYNTAX HIGHLIGHTING!
// Add an attribute to be used in the auto-pairing (keyDown:)
// to disable auto-pairing if caret is inside of any token found by lex.
// For discussion: maybe change it later (only for quotes not keywords?)
- [textStore addAttribute: kWQquoted
- value: kValue
+ if(token < 6)
+ [textStore addAttribute: kLEXToken
+ value: kLEXTokenValue
range: tokenRange ];
-
+
// Mark each SQL keyword for auto-uppercasing and do it for the next textStorageDidProcessEditing: event.
// Performing it one token later allows words which start as reserved keywords to be entered.
@@ -1906,34 +2013,44 @@ SYNTAX HIGHLIGHTING!
[textStore addAttribute: kQuote
value: kQuoteValue
range: tokenRange ];
+ //distinguish backtick quoted word for completion
else if(token == SPT_BACKTICK_QUOTED_TEXT)
[textStore addAttribute: kBTQuote
value: kBTQuoteValue
range: tokenRange ];
+
}
}
/*
- * Performs syntax highlighting.
- * This method recolors the entire text on every keypress. For performance reasons, this function does
- * nothing if the text is more than 20 KB.
- *
- * The main bottleneck is the [NSTextStorage addAttribute:value:range:] method - the parsing itself is really fast!
- *
- * Some sample code from Andrew Choi ( http://members.shaw.ca/akochoi-old/blog/2003/11-09/index.html#3 ) has been reused.
+ * Performs syntax highlighting after a text change.
*/
- (void)textStorageDidProcessEditing:(NSNotification *)notification
{
-
NSTextStorage *textStore = [notification object];
//make sure that the notification is from the correct textStorage object
if (textStore!=[self textStorage]) return;
- [self doSyntaxHighlighting:textStore];
-
+ [NSObject cancelPreviousPerformRequestsWithTarget:self
+ selector:@selector(doSyntaxHighlighting)
+ object:nil];
+
+ [self doSyntaxHighlighting];
+
+}
+
+/*
+ * Show only setable modes in the font panel
+ */
+- (unsigned int)validModesForFontPanel:(NSFontPanel *)fontPanel
+{
+ return (NSFontPanelFaceModeMask | NSFontPanelSizeModeMask);
}
+
+
@end
+
diff --git a/Source/CustomQuery.m b/Source/CustomQuery.m
index 2289b561..5efc0ffc 100644
--- a/Source/CustomQuery.m
+++ b/Source/CustomQuery.m
@@ -190,7 +190,6 @@ closes the sheet
[NSApp stopModal];
}
-
/*
* Perform simple actions (which don't require their own method), triggered by selecting the appropriate menu item
* in the "gear" action menu displayed beneath the cusotm query view.
@@ -228,7 +227,7 @@ closes the sheet
// "Indent new lines" toggle
if (sender == autoindentMenuItem) {
- BOOL enableAutoindent = ([autoindentMenuItem state] == NSOffState);
+ BOOL enableAutoindent = !([autoindentMenuItem state] == NSOffState);
[prefs setBool:enableAutoindent forKey:@"CustomQueryAutoindent"];
[prefs synchronize];
[autoindentMenuItem setState:enableAutoindent?NSOnState:NSOffState];
@@ -237,7 +236,7 @@ closes the sheet
// "Auto-pair characters" toggle
if (sender == autopairMenuItem) {
- BOOL enableAutopair = ([autopairMenuItem state] == NSOffState);
+ BOOL enableAutopair = !([autopairMenuItem state] == NSOffState);
[prefs setBool:enableAutopair forKey:@"CustomQueryAutopair"];
[prefs synchronize];
[autopairMenuItem setState:enableAutopair?NSOnState:NSOffState];
@@ -246,7 +245,7 @@ closes the sheet
// "Auto-help" toggle
if (sender == autohelpMenuItem) {
- BOOL enableAutohelp = ([autohelpMenuItem state] == NSOffState);
+ BOOL enableAutohelp = !([autohelpMenuItem state] == NSOffState);
[prefs setBool:enableAutohelp forKey:@"CustomQueryAutohelp"];
[prefs synchronize];
[autohelpMenuItem setState:enableAutohelp?NSOnState:NSOffState];
@@ -255,7 +254,7 @@ closes the sheet
// "Auto-uppercase keywords" toggle
if (sender == autouppercaseKeywordsMenuItem) {
- BOOL enableAutouppercaseKeywords = ([autouppercaseKeywordsMenuItem state] == NSOffState);
+ BOOL enableAutouppercaseKeywords = !([autouppercaseKeywordsMenuItem state] == NSOffState);
[prefs setBool:enableAutouppercaseKeywords forKey:@"CustomQueryAutouppercaseKeywords"];
[prefs synchronize];
[autouppercaseKeywordsMenuItem setState:enableAutouppercaseKeywords?NSOnState:NSOffState];
@@ -910,8 +909,20 @@ sets the connection (received from TableDocument) and makes things that have to
}
// Set up the interface
- [customQueryView setVerticalMotionCanBeginDrag:NO];
+ // Bind backgroundColor
+ [textView setAllowsDocumentBackgroundColorChange:YES];
+ NSMutableDictionary *bindingOptions = [NSMutableDictionary dictionary];
+ [bindingOptions setObject:NSUnarchiveFromDataTransformerName
+ forKey:@"NSValueTransformerName"];
+ [textView bind: @"backgroundColor"
+ toObject: [NSUserDefaultsController sharedUserDefaultsController]
+ withKeyPath:@"values.CustomQueryEditorBackgroundColor"
+ options:bindingOptions];
[textView setFont:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorFont"]]];
+ [textView setBackgroundColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorBackgroundColor"]]];
+ [textView setTextColor:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorTextColor"]]];
+
+ [customQueryView setVerticalMotionCanBeginDrag:NO];
[textView setContinuousSpellCheckingEnabled:NO];
[autoindentMenuItem setState:([prefs boolForKey:@"CustomQueryAutoindent"]?NSOnState:NSOffState)];
[textView setAutoindent:[prefs boolForKey:@"CustomQueryAutoindent"]];
@@ -1343,23 +1354,9 @@ traps enter key and
[runSelectionMenuItem setTitle:NSLocalizedString(@"Run Selected Text", @"Title of action menu item to run selected text in custom query view")];
[runSelectionMenuItem setEnabled:YES];
}
-}
-
-
-/*
- * Save the custom query editor font if it is changed.
- */
-- (void)textViewDidChangeTypingAttributes:(NSNotification *)aNotification
-{
- // Only save the font if prefs have been loaded, ensuring the saved font has been applied once.
- if (prefs) {
- [prefs setObject:[NSArchiver archivedDataWithRootObject:[textView font]] forKey:@"CustomQueryEditorFont"];
- }
}
-
-
#pragma mark -
#pragma mark TableView notifications
@@ -1377,6 +1374,16 @@ traps enter key and
}
}
+/*
+ * Save the custom query editor font if it is changed.
+ */
+- (void)textViewDidChangeTypingAttributes:(NSNotification *)aNotification
+{
+
+ // Only save the font if prefs have been loaded, ensuring the saved font has been applied once.
+ if (prefs)
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[textView font]] forKey:@"CustomQueryEditorFont"];
+}
#pragma mark -
@@ -1403,6 +1410,7 @@ traps enter key and
*/
- (void)showHelpFor:(NSString *)searchString addToHistory:(BOOL)addToHistory
{
+
NSString * helpString = [self getHTMLformattedMySQLHelpFor:searchString];
// Order out resp. init the Help window if not visible
diff --git a/Source/NoodleLineNumberView.m b/Source/NoodleLineNumberView.m
index a4383102..1c5e8281 100644
--- a/Source/NoodleLineNumberView.m
+++ b/Source/NoodleLineNumberView.m
@@ -240,6 +240,14 @@
text = [view string];
stringLength = [text length];
+ // Switch off line numbering if text larger than 6MB
+ // for performance reasons.
+ // TODO improve performance maybe via threading
+ if(stringLength>6000000)
+ {
+ NSLog(@"Line Numbering switched off. Text length larger than 6MB.");
+ return;
+ }
[lineIndices release];
lineIndices = [[NSMutableArray alloc] init];
diff --git a/Source/SPEditorTokens.h b/Source/SPEditorTokens.h
index 65aba747..efa7167c 100644
--- a/Source/SPEditorTokens.h
+++ b/Source/SPEditorTokens.h
@@ -13,7 +13,7 @@
#define SPT_BACKTICK_QUOTED_TEXT 4
#define SPT_RESERVED_WORD 5
#define SPT_WHITESPACE 6
-#define SPT_WORD 7
-#define SPT_OTHER 8
-#define SPT_NUMERIC 9
-#define SPT_VARIABLE 10
+#define SPT_NUMERIC 7
+#define SPT_VARIABLE 8
+#define SPT_WORD 9
+#define SPT_OTHER 10
diff --git a/Source/SPPreferenceController.h b/Source/SPPreferenceController.h
index cb12cde1..5f949a5f 100644
--- a/Source/SPPreferenceController.h
+++ b/Source/SPPreferenceController.h
@@ -35,6 +35,9 @@
IBOutlet NSView *favoritesView;
IBOutlet NSView *autoUpdateView;
IBOutlet NSView *networkView;
+ IBOutlet NSView *editorView;
+
+
IBOutlet NSPopUpButton *defaultFavoritePopup;
@@ -47,7 +50,9 @@
IBOutlet NSTextField *databaseField;
IBOutlet NSSecureTextField *passwordField;
KeyChain *keychain;
-
+
+ IBOutlet NSTextField *editorFontName;
+
NSToolbar *toolbar;
NSToolbarItem *generalItem;
@@ -56,6 +61,7 @@
NSToolbarItem *favoritesItem;
NSToolbarItem *autoUpdateItem;
NSToolbarItem *networkItem;
+ NSToolbarItem *editorItem;
NSUserDefaults *prefs;
}
@@ -68,6 +74,8 @@
- (IBAction)duplicateFavorite:(id)sender;
- (IBAction)saveFavorite:(id)sender;
- (IBAction)updateDefaultFavorite:(id)sender;
+- (IBAction)showCustomQueryFontPanel:(id)sender;
+- (IBAction)setDefaultColors:(id)sender;
// Toolbar item IBAction methods
- (IBAction)displayGeneralPreferences:(id)sender;
@@ -76,9 +84,11 @@
- (IBAction)displayNotificationPreferences:(id)sender;
- (IBAction)displayAutoUpdatePreferences:(id)sender;
- (IBAction)displayNetworkPreferences:(id)sender;
+- (IBAction)displayEditorPreferences:(id)sender;
// Other
- (void)updateDefaultFavoritePopup;
- (void)selectFavorites:(NSArray *)favorite;
+- (void)changeFont:(id)sender;
@end
diff --git a/Source/SPPreferenceController.m b/Source/SPPreferenceController.m
index 0d44a373..de17860c 100644
--- a/Source/SPPreferenceController.m
+++ b/Source/SPPreferenceController.m
@@ -25,6 +25,7 @@
#import "SPWindowAdditions.h"
#import "SPFavoriteTextFieldCell.h"
#import "KeyChain.h"
+#import "TableDocument.h"
#define FAVORITES_PB_DRAG_TYPE @"SequelProPreferencesPasteboard"
@@ -34,6 +35,7 @@
#define PREFERENCE_TOOLBAR_NOTIFICATIONS @"Preference Toolbar Notifications"
#define PREFERENCE_TOOLBAR_AUTOUPDATE @"Preference Toolbar Auto Update"
#define PREFERENCE_TOOLBAR_NETWORK @"Preference Toolbar Network"
+#define PREFERENCE_TOOLBAR_EDITOR @"Preference Toolbar Editor"
#pragma mark -
@@ -57,6 +59,7 @@
prefs = [NSUserDefaults standardUserDefaults];
[self applyRevisionChanges];
}
+
return self;
}
@@ -82,6 +85,8 @@
[favoritesTableView reloadData];
[self updateDefaultFavoritePopup];
+
+ [prefs synchronize];
}
#pragma mark -
@@ -355,6 +360,17 @@
}
// -------------------------------------------------------------------------------
+// displayEditorPreferences:
+// -------------------------------------------------------------------------------
+- (IBAction)displayEditorPreferences:(id)sender
+{
+ [toolbar setSelectedItemIdentifier:PREFERENCE_TOOLBAR_EDITOR];
+ NSFont *nf = [NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorFont"]];
+ [editorFontName setStringValue:[NSString stringWithFormat:@"%@, %.1f pt", [nf displayName], [nf pointSize]]];
+ [self _resizeWindowForContentView:editorView];
+}
+
+// -------------------------------------------------------------------------------
// displayFavoritePreferences:
// -------------------------------------------------------------------------------
- (IBAction)displayFavoritePreferences:(id)sender
@@ -567,6 +583,9 @@
else if ([itemIdentifier isEqualToString:PREFERENCE_TOOLBAR_NETWORK]) {
return networkItem;
}
+ else if ([itemIdentifier isEqualToString:PREFERENCE_TOOLBAR_EDITOR]) {
+ return editorItem;
+ }
return [[[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier] autorelease];
}
@@ -576,7 +595,7 @@
// -------------------------------------------------------------------------------
- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar
{
- return [NSArray arrayWithObjects:PREFERENCE_TOOLBAR_GENERAL, PREFERENCE_TOOLBAR_TABLES, PREFERENCE_TOOLBAR_FAVORITES, PREFERENCE_TOOLBAR_NOTIFICATIONS, PREFERENCE_TOOLBAR_AUTOUPDATE, PREFERENCE_TOOLBAR_NETWORK, nil];
+ return [NSArray arrayWithObjects:PREFERENCE_TOOLBAR_GENERAL, PREFERENCE_TOOLBAR_TABLES, PREFERENCE_TOOLBAR_FAVORITES, PREFERENCE_TOOLBAR_NOTIFICATIONS, PREFERENCE_TOOLBAR_AUTOUPDATE, PREFERENCE_TOOLBAR_NETWORK, PREFERENCE_TOOLBAR_EDITOR, nil];
}
// -------------------------------------------------------------------------------
@@ -584,7 +603,7 @@
// -------------------------------------------------------------------------------
- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar
{
- return [NSArray arrayWithObjects:PREFERENCE_TOOLBAR_GENERAL, PREFERENCE_TOOLBAR_TABLES, PREFERENCE_TOOLBAR_FAVORITES, PREFERENCE_TOOLBAR_NOTIFICATIONS, PREFERENCE_TOOLBAR_AUTOUPDATE, PREFERENCE_TOOLBAR_NETWORK, nil];
+ return [NSArray arrayWithObjects:PREFERENCE_TOOLBAR_GENERAL, PREFERENCE_TOOLBAR_TABLES, PREFERENCE_TOOLBAR_FAVORITES, PREFERENCE_TOOLBAR_NOTIFICATIONS, PREFERENCE_TOOLBAR_AUTOUPDATE, PREFERENCE_TOOLBAR_NETWORK, PREFERENCE_TOOLBAR_EDITOR, nil];
}
// -------------------------------------------------------------------------------
@@ -592,7 +611,7 @@
// -------------------------------------------------------------------------------
- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{
- return [NSArray arrayWithObjects:PREFERENCE_TOOLBAR_GENERAL, PREFERENCE_TOOLBAR_TABLES, PREFERENCE_TOOLBAR_FAVORITES, PREFERENCE_TOOLBAR_NOTIFICATIONS, PREFERENCE_TOOLBAR_AUTOUPDATE, PREFERENCE_TOOLBAR_NETWORK, nil];
+ return [NSArray arrayWithObjects:PREFERENCE_TOOLBAR_GENERAL, PREFERENCE_TOOLBAR_TABLES, PREFERENCE_TOOLBAR_FAVORITES, PREFERENCE_TOOLBAR_NOTIFICATIONS, PREFERENCE_TOOLBAR_AUTOUPDATE, PREFERENCE_TOOLBAR_NETWORK, PREFERENCE_TOOLBAR_EDITOR, nil];
}
#pragma mark -
@@ -683,6 +702,7 @@
// Mark the currently selected field in the window as having finished editing, to trigger saves.
if ([preferencesWindow firstResponder])
[preferencesWindow endEditingFor:[preferencesWindow firstResponder]];
+
}
#pragma mark -
@@ -729,6 +749,43 @@
}
// -------------------------------------------------------------------------------
+// query editor font selection
+//
+// -------------------------------------------------------------------------------
+// show the font panel
+- (IBAction)showCustomQueryFontPanel:(id)sender
+{
+ [[NSFontPanel sharedFontPanel] setPanelFont:[NSUnarchiver unarchiveObjectWithData:[prefs dataForKey:@"CustomQueryEditorFont"]] 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 blackColor]] forKey:@"CustomQueryEditorTextColor"];
+ [prefs setObject:[NSArchiver archivedDataWithRootObject:[NSColor whiteColor]] forKey:@"CustomQueryEditorBackgroundColor"];
+
+}
+// set font panel's valid modes
+- (unsigned int)validModesForFontPanel:(NSFontPanel *)fontPanel
+{
+ return (NSFontPanelFaceModeMask | NSFontPanelSizeModeMask);
+}
+// 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"];
+ [editorFontName setStringValue:[NSString stringWithFormat:@"%@, %.1f pt", [nf displayName], [nf pointSize]]];
+}
+
+// -------------------------------------------------------------------------------
// dealloc
// -------------------------------------------------------------------------------
- (void)dealloc
@@ -752,62 +809,71 @@
- (void)_setupToolbar
{
toolbar = [[[NSToolbar alloc] initWithIdentifier:@"Preference Toolbar"] autorelease];
-
+
// General preferences
generalItem = [[NSToolbarItem alloc] initWithItemIdentifier:PREFERENCE_TOOLBAR_GENERAL];
-
+
[generalItem setLabel:NSLocalizedString(@"General", @"")];
- [generalItem setImage:[NSImage imageNamed:@"toolbar-preferences-general"]];
- [generalItem setTarget:self];
- [generalItem setAction:@selector(displayGeneralPreferences:)];
-
+ [generalItem setImage:[NSImage imageNamed:@"toolbar-preferences-general"]];
+ [generalItem setTarget:self];
+ [generalItem setAction:@selector(displayGeneralPreferences:)];
+
// Table preferences
tablesItem = [[NSToolbarItem alloc] initWithItemIdentifier:PREFERENCE_TOOLBAR_TABLES];
-
+
[tablesItem setLabel:NSLocalizedString(@"Tables", @"")];
[tablesItem setImage:[NSImage imageNamed:@"toolbar-preferences-tables"]];
[tablesItem setTarget:self];
[tablesItem setAction:@selector(displayTablePreferences:)];
-
+
// Favorite preferences
favoritesItem = [[NSToolbarItem alloc] initWithItemIdentifier:PREFERENCE_TOOLBAR_FAVORITES];
-
+
[favoritesItem setLabel:NSLocalizedString(@"Favorites", @"")];
- [favoritesItem setImage:[NSImage imageNamed:@"toolbar-preferences-favorites"]];
- [favoritesItem setTarget:self];
- [favoritesItem setAction:@selector(displayFavoritePreferences:)];
-
+ [favoritesItem setImage:[NSImage imageNamed:@"toolbar-preferences-favorites"]];
+ [favoritesItem setTarget:self];
+ [favoritesItem setAction:@selector(displayFavoritePreferences:)];
+
// Notification preferences
notificationsItem = [[NSToolbarItem alloc] initWithItemIdentifier:PREFERENCE_TOOLBAR_NOTIFICATIONS];
-
+
[notificationsItem setLabel:NSLocalizedString(@"Notifications", @"")];
- [notificationsItem setImage:[NSImage imageNamed:@"toolbar-preferences-notifications"]];
- [notificationsItem setTarget:self];
- [notificationsItem setAction:@selector(displayNotificationPreferences:)];
+ [notificationsItem setImage:[NSImage imageNamed:@"toolbar-preferences-notifications"]];
+ [notificationsItem setTarget:self];
+ [notificationsItem setAction:@selector(displayNotificationPreferences:)];
// AutoUpdate preferences
autoUpdateItem = [[NSToolbarItem alloc] initWithItemIdentifier:PREFERENCE_TOOLBAR_AUTOUPDATE];
-
+
[autoUpdateItem setLabel:NSLocalizedString(@"Auto Update", @"")];
- [autoUpdateItem setImage:[NSImage imageNamed:@"toolbar-preferences-autoupdate"]];
- [autoUpdateItem setTarget:self];
- [autoUpdateItem setAction:@selector(displayAutoUpdatePreferences:)];
-
+ [autoUpdateItem setImage:[NSImage imageNamed:@"toolbar-preferences-autoupdate"]];
+ [autoUpdateItem setTarget:self];
+ [autoUpdateItem setAction:@selector(displayAutoUpdatePreferences:)];
+
// Network preferences
networkItem = [[NSToolbarItem alloc] initWithItemIdentifier:PREFERENCE_TOOLBAR_NETWORK];
-
+
[networkItem setLabel:NSLocalizedString(@"Network", @"")];
- [networkItem setImage:[NSImage imageNamed:@"toolbar-preferences-network"]];
- [networkItem setTarget:self];
- [networkItem setAction:@selector(displayNetworkPreferences:)];
-
+ [networkItem setImage:[NSImage imageNamed:@"toolbar-preferences-network"]];
+ [networkItem setTarget:self];
+ [networkItem setAction:@selector(displayNetworkPreferences:)];
+
+ // Editor preferences
+ editorItem = [[NSToolbarItem alloc] initWithItemIdentifier:PREFERENCE_TOOLBAR_EDITOR];
+
+ [editorItem setLabel:NSLocalizedString(@"Query Editor", @"")];
+ [editorItem setImage:[NSImage imageNamed:@"toolbar-switch-to-sql"]];
+ [editorItem setTarget:self];
+ [editorItem setAction:@selector(displayEditorPreferences:)];
+
+
[toolbar setDelegate:self];
[toolbar setSelectedItemIdentifier:PREFERENCE_TOOLBAR_GENERAL];
[toolbar setAllowsUserCustomization:NO];
-
+
[preferencesWindow setToolbar:toolbar];
[preferencesWindow setShowsToolbarButton:NO];
-
+
[self displayGeneralPreferences:nil];
}