diff options
author | Bibiko <bibiko@eva.mpg.de> | 2009-05-07 08:29:42 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2009-05-07 08:29:42 +0000 |
commit | 166b844e7a4e84b79d2cfad5cac1d5d8333988f5 (patch) | |
tree | 21b9eb5bd92f22e4114688c0aaaf11d231a1efb4 | |
parent | 2a4bbd2e425fbbf0ffd20a9c36921778b92963ae (diff) | |
download | sequelpro-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.xib | 365 | ||||
-rw-r--r-- | Interfaces/English.lproj/Preferences.xib | 1468 | ||||
-rw-r--r-- | Resources/PreferenceDefaults.plist | 18 | ||||
-rw-r--r-- | Source/CMTextView.h | 9 | ||||
-rw-r--r-- | Source/CMTextView.m | 293 | ||||
-rw-r--r-- | Source/CustomQuery.m | 48 | ||||
-rw-r--r-- | Source/NoodleLineNumberView.m | 8 | ||||
-rw-r--r-- | Source/SPEditorTokens.h | 8 | ||||
-rw-r--r-- | Source/SPPreferenceController.h | 12 | ||||
-rw-r--r-- | Source/SPPreferenceController.m | 130 |
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]; } |