aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2009-02-28 02:03:50 +0000
committerstuconnolly <stuart02@gmail.com>2009-02-28 02:03:50 +0000
commit52784a1b02f5ff32bc8d9661d948d2ebee93f610 (patch)
treef2e8250e7204613805e742cdce609f8c10106d82
parent2ca51225df3ee5badc4029761db3f32a68bfb140 (diff)
downloadsequelpro-52784a1b02f5ff32bc8d9661d948d2ebee93f610.tar.gz
sequelpro-52784a1b02f5ff32bc8d9661d948d2ebee93f610.tar.bz2
sequelpro-52784a1b02f5ff32bc8d9661d948d2ebee93f610.zip
+ Separate the console from being drawer based to its own panel. New console panel also adds the ability to save the current console content to a file on disk. Speed up the updating of the text view by removing the re-draw of the view after each message is appended. The console is still very basic, but is a starting point for more functionality to be added now that it is all handled in a single class.
+ Add the ability to specify the encoding when creating a new database. Addresses issue #125. Also improve the usability of the create database sheet by only enabling the 'Add' button if the database name length is greater than zero. This elimates the check that is done and the error panel that is displayed if the name is empty.
-rw-r--r--Interfaces/English.lproj/DBView.xib1326
-rw-r--r--Interfaces/English.lproj/MainMenu.xib72
-rw-r--r--Source/SPQueryConsole.h38
-rw-r--r--Source/SPQueryConsole.m135
-rw-r--r--Source/TableContent.h8
-rw-r--r--Source/TableContent.m4
-rw-r--r--Source/TableDocument.h15
-rw-r--r--Source/TableDocument.m130
-rw-r--r--sequel-pro.xcodeproj/project.pbxproj6
9 files changed, 1313 insertions, 421 deletions
diff --git a/Interfaces/English.lproj/DBView.xib b/Interfaces/English.lproj/DBView.xib
index 978f8323..eabc24d3 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="2268"/>
- <integer value="670"/>
+ <integer value="557"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -46,7 +45,7 @@
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSWindowContentMinSize">{780, 480}</string>
<object class="NSView" key="NSWindowView" id="579726586">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -974,7 +973,6 @@
</object>
<string key="NSFrame">{{1, 1}, {194, 396}}</string>
<reference key="NSSuperview" ref="233472824"/>
- <reference key="NSNextKeyView" ref="251040077"/>
<reference key="NSDocView" ref="251040077"/>
<reference key="NSBGColor" ref="1024678221"/>
<int key="NScvFlags">4</int>
@@ -1001,7 +999,6 @@
</object>
<string key="NSFrameSize">{196, 398}</string>
<reference key="NSSuperview" ref="355288374"/>
- <reference key="NSNextKeyView" ref="73685676"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="693168867"/>
<reference key="NSHScroller" ref="656188692"/>
@@ -1086,7 +1083,6 @@
</object>
<string key="NSFrame">{{1, 1}, {194, 123}}</string>
<reference key="NSSuperview" ref="298226231"/>
- <reference key="NSNextKeyView" ref="347093764"/>
<reference key="NSDocView" ref="347093764"/>
<reference key="NSBGColor" ref="1024678221"/>
<int key="NScvFlags">4</int>
@@ -1113,7 +1109,6 @@
</object>
<string key="NSFrame">{{0, 407}, {196, 125}}</string>
<reference key="NSSuperview" ref="355288374"/>
- <reference key="NSNextKeyView" ref="685057119"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="245346414"/>
<reference key="NSHScroller" ref="353686052"/>
@@ -3139,29 +3134,6 @@
<object class="NSTextView" id="1055190999">
<reference key="NSNextResponder" ref="1072692119"/>
<int key="NSvFlags">6418</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">{626, 14}</string>
<reference key="NSSuperview" ref="1072692119"/>
<object class="NSTextContainer" key="NSTextContainer" id="326170846">
@@ -3222,7 +3194,6 @@
</object>
<string key="NSFrame">{{1, 1}, {626, 155}}</string>
<reference key="NSSuperview" ref="71560786"/>
- <reference key="NSNextKeyView" ref="1055190999"/>
<reference key="NSDocView" ref="1055190999"/>
<reference key="NSBGColor" ref="449903125"/>
<object class="NSCursor" key="NSCursor" id="32917531">
@@ -3254,7 +3225,6 @@
</object>
<string key="NSFrameSize">{628, 157}</string>
<reference key="NSSuperview" ref="873437769"/>
- <reference key="NSNextKeyView" ref="1072692119"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="413233170"/>
<reference key="NSHScroller" ref="783638826"/>
@@ -3341,7 +3311,6 @@
</object>
<string key="NSFrame">{{1, 17}, {626, 226}}</string>
<reference key="NSSuperview" ref="678281118"/>
- <reference key="NSNextKeyView" ref="581095761"/>
<reference key="NSDocView" ref="581095761"/>
<reference key="NSBGColor" ref="1024678221"/>
<int key="NScvFlags">4</int>
@@ -3374,7 +3343,6 @@
</object>
<string key="NSFrame">{{1, 0}, {626, 17}}</string>
<reference key="NSSuperview" ref="678281118"/>
- <reference key="NSNextKeyView" ref="1038415606"/>
<reference key="NSDocView" ref="1038415606"/>
<reference key="NSBGColor" ref="1024678221"/>
<int key="NScvFlags">4</int>
@@ -3383,7 +3351,6 @@
</object>
<string key="NSFrameSize">{628, 244}</string>
<reference key="NSSuperview" ref="345834048"/>
- <reference key="NSNextKeyView" ref="90844306"/>
<int key="NSsFlags">562</int>
<reference key="NSVScroller" ref="472831765"/>
<reference key="NSHScroller" ref="851610321"/>
@@ -4033,7 +4000,6 @@
</object>
</object>
<string key="NSFrameSize">{863, 550}</string>
- <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMinSize">{780, 502}</string>
@@ -4053,7 +4019,7 @@
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSWindowContentMinSize">{256, 191}</string>
<object class="NSView" key="NSWindowView" id="586457094">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -4460,7 +4426,6 @@
</object>
<string key="NSFrame">{{1, 17}, {213, 157}}</string>
<reference key="NSSuperview" ref="112292194"/>
- <reference key="NSNextKeyView" ref="158332213"/>
<reference key="NSDocView" ref="158332213"/>
<reference key="NSBGColor" ref="1024678221"/>
<int key="NScvFlags">4</int>
@@ -4493,7 +4458,6 @@
</object>
<string key="NSFrame">{{1, 0}, {213, 17}}</string>
<reference key="NSSuperview" ref="112292194"/>
- <reference key="NSNextKeyView" ref="975843240"/>
<reference key="NSDocView" ref="975843240"/>
<reference key="NSBGColor" ref="1024678221"/>
<int key="NScvFlags">4</int>
@@ -4502,7 +4466,6 @@
</object>
<string key="NSFrame">{{12, 34}, {215, 175}}</string>
<reference key="NSSuperview" ref="781284031"/>
- <reference key="NSNextKeyView" ref="131927425"/>
<int key="NSsFlags">562</int>
<reference key="NSVScroller" ref="785468991"/>
<reference key="NSHScroller" ref="710690013"/>
@@ -4632,7 +4595,6 @@
</object>
</object>
<string key="NSFrameSize">{519, 335}</string>
- <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMinSize">{256, 213}</string>
@@ -4791,7 +4753,7 @@
<object class="NSTextView" id="798764405">
<reference key="NSNextResponder" ref="593223452"/>
<int key="NSvFlags">2322</int>
- <string key="NSFrameSize">{588, 0}</string>
+ <string key="NSFrameSize">{588, 72}</string>
<reference key="NSSuperview" ref="593223452"/>
<object class="NSTextContainer" key="NSTextContainer" id="623412409">
<object class="NSLayoutManager" key="NSLayoutManager">
@@ -5037,7 +4999,6 @@
</object>
<string key="NSFrameSize">{588, 316}</string>
<reference key="NSSuperview" ref="541887300"/>
- <reference key="NSNextKeyView" ref="798764405"/>
<reference key="NSDocView" ref="798764405"/>
<object class="NSColor" key="NSBGColor">
<int key="NSColorSpace">1</int>
@@ -5069,7 +5030,6 @@
</object>
<string key="NSFrame">{{0, 34}, {588, 316}}</string>
<reference key="NSSuperview" ref="661948784"/>
- <reference key="NSNextKeyView" ref="593223452"/>
<int key="NSsFlags">528</int>
<reference key="NSVScroller" ref="142711676"/>
<reference key="NSHScroller" ref="705947940"/>
@@ -5105,40 +5065,56 @@
<object class="NSWindowTemplate" id="554105051">
<int key="NSWindowStyleMask">1</int>
<int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{343, 483}, {220, 112}}</string>
+ <string key="NSWindowRect">{{343, 483}, {292, 112}}</string>
<int key="NSWTFlags">1886912512</int>
<string key="NSWindowTitle">databaseSheet</string>
<string key="NSWindowClass">NSWindow</string>
<object class="NSMutableString" key="NSViewClass">
<characters key="NS.bytes">View</characters>
</object>
- <string key="NSWindowContentMaxSize">{256, 191}</string>
- <string key="NSWindowContentMinSize">{162.05, 5}</string>
+ <string key="NSWindowContentMaxSize">{292, 112}</string>
+ <string key="NSWindowContentMinSize">{292, 112}</string>
<object class="NSView" key="NSWindowView" id="70075497">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTextField" id="823440790">
<reference key="NSNextResponder" ref="70075497"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{17, 78}, {88, 14}}</string>
+ <string key="NSFrame">{{17, 78}, {95, 14}}</string>
<reference key="NSSuperview" ref="70075497"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="45988560">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">4194304</int>
- <string key="NSContents">Database Name</string>
+ <string key="NSContents">Database Name:</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="823440790"/>
<reference key="NSBackgroundColor" ref="62854682"/>
<reference key="NSTextColor" ref="454249633"/>
</object>
</object>
- <object class="NSTextField" id="839031135">
+ <object class="NSTextField" id="602251216">
<reference key="NSNextResponder" ref="70075497"/>
<int key="NSvFlags">256</int>
- <string key="NSFrame">{{20, 52}, {180, 18}}</string>
+ <string key="NSFrame">{{17, 53}, {113, 14}}</string>
+ <reference key="NSSuperview" ref="70075497"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="410467805">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">4194304</int>
+ <string key="NSContents">Database Encoding:</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="602251216"/>
+ <reference key="NSBackgroundColor" ref="62854682"/>
+ <reference key="NSTextColor" ref="454249633"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="839031135">
+ <reference key="NSNextResponder" ref="70075497"/>
+ <int key="NSvFlags">258</int>
+ <string key="NSFrame">{{135, 77}, {137, 18}}</string>
<reference key="NSSuperview" ref="70075497"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="212969926">
@@ -5154,13 +5130,13 @@
</object>
<object class="NSButton" id="875952722">
<reference key="NSNextResponder" ref="70075497"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{135, 13}, {70, 28}}</string>
+ <int key="NSvFlags">259</int>
+ <string key="NSFrame">{{207, 13}, {70, 28}}</string>
<reference key="NSSuperview" ref="70075497"/>
<int key="NSTag">1</int>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="169260261">
- <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags">604110336</int>
<int key="NSCellFlags2">138018816</int>
<string key="NSContents">Add</string>
<reference key="NSSupport" ref="26"/>
@@ -5177,8 +5153,8 @@
</object>
<object class="NSButton" id="681100483">
<reference key="NSNextResponder" ref="70075497"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{67, 13}, {70, 28}}</string>
+ <int key="NSvFlags">259</int>
+ <string key="NSFrame">{{139, 13}, {70, 28}}</string>
<reference key="NSSuperview" ref="70075497"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="994559297">
@@ -5196,12 +5172,326 @@
<int key="NSPeriodicInterval">25</int>
</object>
</object>
+ <object class="NSPopUpButton" id="437431578">
+ <reference key="NSNextResponder" ref="70075497"/>
+ <int key="NSvFlags">258</int>
+ <string key="NSFrame">{{132, 48}, {143, 22}}</string>
+ <reference key="NSSuperview" ref="70075497"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSPopUpButtonCell" key="NSCell" id="1000126742">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">132096</int>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="437431578"/>
+ <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags2">1</int>
+ <reference key="NSAlternateImage" ref="26"/>
+ <string key="NSAlternateContents"/>
+ <object class="NSMutableString" key="NSKeyEquivalent">
+ <characters key="NS.bytes"/>
+ </object>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <object class="NSMenuItem" key="NSMenuItem" id="410007925">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Default</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="38191244">
+ <string key="NSTitle">OtherViews</string>
+ <object class="NSMutableArray" key="NSMenuItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="410007925"/>
+ <object class="NSMenuItem" id="936262700">
+ <reference key="NSMenu" ref="38191244"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="75240407">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">UCS-2 Unicode (ucs2)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="410304104">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">UTF-8 Unicode (utf8)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="1022552442">
+ <reference key="NSMenu" ref="38191244"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="4256">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">US ASCII (ascii)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="941593702">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">ISO Latin 1 (latin1)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="266800360">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Mac Roman (macroman)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="510465377">
+ <reference key="NSMenu" ref="38191244"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="706333609">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Windows Latin 2 (cp1250)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="430273312">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">ISO Latin 2 (latin2)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="416176514">
+ <reference key="NSMenu" ref="38191244"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="164789390">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Windows Arabic (cp1256)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="564953861">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">ISO Greek (greek)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="21931488">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">ISO Hebrew (hebrew)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="215456235">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">ISO Turkish (latin5)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="100280668">
+ <reference key="NSMenu" ref="38191244"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="877852446">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Windows Baltic (cp1257)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="284223347">
+ <reference key="NSMenu" ref="38191244"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="199319595">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Windows Cyrillic (cp1251)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="129898533">
+ <reference key="NSMenu" ref="38191244"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="965264484">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Big5 Traditional Chinese (big5)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="706919296">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">Shift-JIS Japanese (sjis)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ <object class="NSMenuItem" id="646927594">
+ <reference key="NSMenu" ref="38191244"/>
+ <string key="NSTitle">EUC-JP Japanese (ujis)</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="685805499"/>
+ <reference key="NSMixedImage" ref="400866889"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="1000126742"/>
+ </object>
+ </object>
+ </object>
+ <int key="NSPreferredEdge">3</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">1</int>
+ </object>
+ </object>
</object>
- <string key="NSFrameSize">{220, 112}</string>
+ <string key="NSFrameSize">{292, 112}</string>
+ <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
- <string key="NSMinSize">{162.05, 27}</string>
- <string key="NSMaxSize">{256, 213}</string>
+ <string key="NSMinSize">{292, 134}</string>
+ <string key="NSMaxSize">{292, 134}</string>
</object>
<object class="NSWindowTemplate" id="400229091">
<int key="NSWindowStyleMask">9</int>
@@ -5360,7 +5650,6 @@
</object>
<string key="NSFrame">{{1, 1}, {574, 293}}</string>
<reference key="NSSuperview" ref="1020679422"/>
- <reference key="NSNextKeyView" ref="1011820278"/>
<reference key="NSDocView" ref="1011820278"/>
<reference key="NSBGColor" ref="449903125"/>
<reference key="NSCursor" ref="32917531"/>
@@ -5390,7 +5679,6 @@
</object>
<string key="NSFrame">{{20, 20}, {587, 295}}</string>
<reference key="NSSuperview" ref="375414526"/>
- <reference key="NSNextKeyView" ref="134546146"/>
<int key="NSsFlags">18</int>
<reference key="NSVScroller" ref="435247014"/>
<reference key="NSHScroller" ref="767953750"/>
@@ -7310,131 +7598,177 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string key="NSMinSize">{300, 222}</string>
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
</object>
- <object class="NSCustomView" id="236537518">
- <nil key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSScrollView" id="509069545">
- <reference key="NSNextResponder" ref="236537518"/>
- <int key="NSvFlags">274</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSClipView" id="163616264">
- <reference key="NSNextResponder" ref="509069545"/>
- <int key="NSvFlags">2304</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextView" id="409075923">
- <reference key="NSNextResponder" ref="163616264"/>
- <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>CorePasteboardFlavorType 0x6D6F6F76</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>
- </object>
- </object>
- <string key="NSFrameSize">{770, 14}</string>
- <reference key="NSSuperview" ref="163616264"/>
- <object class="NSTextContainer" key="NSTextContainer" id="289536112">
- <object class="NSLayoutManager" key="NSLayoutManager">
- <object class="NSTextStorage" key="NSTextStorage">
- <object class="NSMutableString" key="NSString">
- <characters key="NS.bytes"/>
+ <object class="NSWindowTemplate" id="105314919">
+ <int key="NSWindowStyleMask">15</int>
+ <int key="NSWindowBacking">2</int>
+ <string key="NSWindowRect">{{426, 353}, {575, 181}}</string>
+ <int key="NSWTFlags">-1535638528</int>
+ <string key="NSWindowTitle">Console</string>
+ <string key="NSWindowClass">NSPanel</string>
+ <nil key="NSViewClass"/>
+ <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+ <string key="NSWindowContentMinSize">{300, 130}</string>
+ <object class="NSView" key="NSWindowView" id="792706941">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSScrollView" id="1028281149">
+ <reference key="NSNextResponder" ref="792706941"/>
+ <int key="NSvFlags">274</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSClipView" id="384949545">
+ <reference key="NSNextResponder" ref="1028281149"/>
+ <int key="NSvFlags">2304</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSTextView" id="577288167">
+ <reference key="NSNextResponder" ref="384949545"/>
+ <int key="NSvFlags">2322</int>
+ <string key="NSFrameSize">{533, 14}</string>
+ <reference key="NSSuperview" ref="384949545"/>
+ <object class="NSTextContainer" key="NSTextContainer" id="330836813">
+ <object class="NSLayoutManager" key="NSLayoutManager">
+ <object class="NSTextStorage" key="NSTextStorage">
+ <object class="NSMutableString" key="NSString">
+ <characters key="NS.bytes"/>
+ </object>
+ <nil key="NSDelegate"/>
+ </object>
+ <object class="NSMutableArray" key="NSTextContainers">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="330836813"/>
</object>
+ <int key="NSLMFlags">6</int>
<nil key="NSDelegate"/>
</object>
- <object class="NSMutableArray" key="NSTextContainers">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="289536112"/>
- </object>
- <int key="NSLMFlags">6</int>
- <nil key="NSDelegate"/>
+ <reference key="NSTextView" ref="577288167"/>
+ <double key="NSWidth">5.330000e+02</double>
+ <int key="NSTCFlags">1</int>
</object>
- <reference key="NSTextView" ref="409075923"/>
- <double key="NSWidth">7.700000e+02</double>
- <int key="NSTCFlags">1</int>
- </object>
- <object class="NSTextViewSharedData" key="NSSharedData">
- <int key="NSFlags">3041</int>
- <reference key="NSBackgroundColor" ref="449903125"/>
- <reference key="NSInsertionColor" ref="304829493"/>
- <object class="NSDictionary" key="NSSelectedAttributes">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSTextViewSharedData" key="NSSharedData">
+ <int key="NSFlags">2049</int>
+ <reference key="NSBackgroundColor" ref="449903125"/>
+ <reference key="NSInsertionColor" ref="304829493"/>
+ <object class="NSDictionary" key="NSSelectedAttributes">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>NSBackgroundColor</string>
- <string>NSColor</string>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSBackgroundColor</string>
+ <string>NSColor</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="905060551"/>
+ <reference ref="63182758"/>
+ </object>
</object>
- <object class="NSMutableArray" key="dict.values">
+ <nil key="NSMarkedAttributes"/>
+ <object class="NSDictionary" key="NSLinkAttributes">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="905060551"/>
- <reference ref="63182758"/>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSColor</string>
+ <string>NSUnderline</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="114422645"/>
+ <reference ref="9"/>
+ </object>
</object>
+ <nil key="NSDefaultParagraphStyle"/>
</object>
- <nil key="NSMarkedAttributes"/>
- <nil key="NSLinkAttributes"/>
- <nil key="NSDefaultParagraphStyle"/>
+ <int key="NSTVFlags">6</int>
+ <string key="NSMaxSize">{1068, 1e+07}</string>
+ <string key="NSMinize">{223, 0}</string>
+ <nil key="NSDelegate"/>
</object>
- <int key="NSTVFlags">6</int>
- <string key="NSMaxSize">{1553, 1e+07}</string>
- <string key="NSMinize">{87, 0}</string>
- <nil key="NSDelegate"/>
</object>
+ <string key="NSFrame">{{1, 1}, {533, 114}}</string>
+ <reference key="NSSuperview" ref="1028281149"/>
+ <reference key="NSNextKeyView" ref="577288167"/>
+ <reference key="NSDocView" ref="577288167"/>
+ <reference key="NSBGColor" ref="449903125"/>
+ <reference key="NSCursor" ref="32917531"/>
+ <int key="NScvFlags">6</int>
+ </object>
+ <object class="NSScroller" id="853817378">
+ <reference key="NSNextResponder" ref="1028281149"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{1054, 1}, {15, 230}}</string>
+ <reference key="NSSuperview" ref="1028281149"/>
+ <reference key="NSTarget" ref="1028281149"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">9.829060e-01</double>
+ </object>
+ <object class="NSScroller" id="277454734">
+ <reference key="NSNextResponder" ref="1028281149"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrame">{{-100, -100}, {518, 15}}</string>
+ <reference key="NSSuperview" ref="1028281149"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="1028281149"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSCurValue">1.000000e+00</double>
+ <double key="NSPercent">9.456522e-01</double>
</object>
- <string key="NSFrame">{{1, 1}, {770, 78}}</string>
- <reference key="NSSuperview" ref="509069545"/>
- <reference key="NSNextKeyView" ref="409075923"/>
- <reference key="NSDocView" ref="409075923"/>
- <reference key="NSBGColor" ref="449903125"/>
- <reference key="NSCursor" ref="32917531"/>
- <int key="NScvFlags">4</int>
</object>
- <object class="NSScroller" id="23342417">
- <reference key="NSNextResponder" ref="509069545"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{771, 1}, {11, 78}}</string>
- <reference key="NSSuperview" ref="509069545"/>
- <int key="NSsFlags">256</int>
- <reference key="NSTarget" ref="509069545"/>
- <string key="NSAction">_doScroller:</string>
- <double key="NSCurValue">1.000000e+00</double>
+ <string key="NSFrame">{{20, 45}, {535, 116}}</string>
+ <reference key="NSSuperview" ref="792706941"/>
+ <reference key="NSNextKeyView" ref="384949545"/>
+ <int key="NSsFlags">530</int>
+ <reference key="NSVScroller" ref="853817378"/>
+ <reference key="NSHScroller" ref="277454734"/>
+ <reference key="NSContentView" ref="384949545"/>
+ </object>
+ <object class="NSButton" id="938900699">
+ <reference key="NSNextResponder" ref="792706941"/>
+ <int key="NSvFlags">289</int>
+ <string key="NSFrame">{{360, 13}, {101, 28}}</string>
+ <reference key="NSSuperview" ref="792706941"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="602747131">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134348800</int>
+ <string key="NSContents">Save As...</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="938900699"/>
+ <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 class="NSScroller" id="897393774">
- <reference key="NSNextResponder" ref="509069545"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{-100, -100}, {87, 18}}</string>
- <reference key="NSSuperview" ref="509069545"/>
- <int key="NSsFlags">257</int>
- <reference key="NSTarget" ref="509069545"/>
- <string key="NSAction">_doScroller:</string>
- <double key="NSCurValue">1.000000e+00</double>
- <double key="NSPercent">9.456522e-01</double>
+ </object>
+ <object class="NSButton" id="811773728">
+ <reference key="NSNextResponder" ref="792706941"/>
+ <int key="NSvFlags">289</int>
+ <string key="NSFrame">{{459, 13}, {101, 28}}</string>
+ <reference key="NSSuperview" ref="792706941"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="304768838">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134348800</int>
+ <string key="NSContents">Clear</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="811773728"/>
+ <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>
- <string key="NSFrame">{{8, 8}, {783, 80}}</string>
- <reference key="NSSuperview" ref="236537518"/>
- <reference key="NSNextKeyView" ref="163616264"/>
- <int key="NSsFlags">18</int>
- <reference key="NSVScroller" ref="23342417"/>
- <reference key="NSHScroller" ref="897393774"/>
- <reference key="NSContentView" ref="163616264"/>
</object>
+ <string key="NSFrameSize">{575, 181}</string>
</object>
- <string key="NSFrameSize">{800, 96}</string>
- <string key="NSClassName">NSView</string>
- <string key="NSExtension">NSResponder</string>
+ <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
+ <string key="NSMinSize">{300, 152}</string>
+ <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
</object>
<object class="NSCustomView" id="139279766">
<nil key="NSNextResponder"/>
@@ -9602,17 +9936,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<bool key="NSFilterRestrictsInsertion">YES</bool>
<bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
</object>
- <object class="NSDrawer" id="81457726">
- <nil key="NSNextResponder"/>
- <string key="NSContentSize">{200, 572}</string>
- <string key="NSMinContentSize">{100, 80}</string>
- <string key="NSMaxContentSize">{2000, 1000}</string>
- <int key="NSPreferredEdge">1</int>
- <double key="NSLeadingOffset">0.000000e+00</double>
- <double key="NSTrailingOffset">0.000000e+00</double>
- <nil key="NSParentWindow"/>
- <nil key="NSDelegate"/>
- </object>
<object class="NSCustomObject" id="601471102">
<string key="NSClassName">CustomQuery</string>
</object>
@@ -9640,6 +9963,9 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<object class="NSCustomObject" id="1006422530">
<string key="NSClassName">SPTableData</string>
</object>
+ <object class="NSCustomObject" id="1017299506">
+ <string key="NSClassName">SPQueryConsole</string>
+ </object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
@@ -10549,38 +10875,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<int key="connectionID">819</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">contentView</string>
- <reference key="source" ref="81457726"/>
- <reference key="destination" ref="236537518"/>
- </object>
- <int key="connectionID">826</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">parentWindow</string>
- <reference key="source" ref="81457726"/>
- <reference key="destination" ref="207157706"/>
- </object>
- <int key="connectionID">827</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">consoleTextView</string>
- <reference key="source" ref="427689665"/>
- <reference key="destination" ref="409075923"/>
- </object>
- <int key="connectionID">830</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">consoleDrawer</string>
- <reference key="source" ref="427689665"/>
- <reference key="destination" ref="81457726"/>
- </object>
- <int key="connectionID">832</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">closeSheet:</string>
<reference key="source" ref="427689665"/>
@@ -11960,6 +12254,78 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
</object>
<int key="connectionID">4719</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">queryConsoleInstance</string>
+ <reference key="source" ref="427689665"/>
+ <reference key="destination" ref="1017299506"/>
+ </object>
+ <int key="connectionID">4721</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">queryConsoleInstance</string>
+ <reference key="source" ref="392169872"/>
+ <reference key="destination" ref="1017299506"/>
+ </object>
+ <int key="connectionID">4722</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="1017299506"/>
+ <reference key="destination" ref="105314919"/>
+ </object>
+ <int key="connectionID">4729</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">consoleTextView</string>
+ <reference key="source" ref="1017299506"/>
+ <reference key="destination" ref="577288167"/>
+ </object>
+ <int key="connectionID">4734</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">saveConsoleAs:</string>
+ <reference key="source" ref="1017299506"/>
+ <reference key="destination" ref="938900699"/>
+ </object>
+ <int key="connectionID">4739</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">clearConsole:</string>
+ <reference key="source" ref="1017299506"/>
+ <reference key="destination" ref="811773728"/>
+ </object>
+ <int key="connectionID">4740</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">databaseEncodingButton</string>
+ <reference key="source" ref="427689665"/>
+ <reference key="destination" ref="437431578"/>
+ </object>
+ <int key="connectionID">4778</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">addDatabaseButton</string>
+ <reference key="source" ref="427689665"/>
+ <reference key="destination" ref="875952722"/>
+ </object>
+ <int key="connectionID">4780</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="839031135"/>
+ <reference key="destination" ref="427689665"/>
+ </object>
+ <int key="connectionID">4781</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -12389,6 +12755,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="823440790"/>
+ <reference ref="602251216"/>
+ <reference ref="437431578"/>
<reference ref="839031135"/>
<reference ref="875952722"/>
<reference ref="681100483"/>
@@ -12836,38 +13204,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<reference key="parent" ref="139279766"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">821</int>
- <reference key="object" ref="81457726"/>
- <reference key="parent" ref="1043842561"/>
- <string key="objectName">consoleDrawer</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">824</int>
- <reference key="object" ref="236537518"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="509069545"/>
- </object>
- <reference key="parent" ref="1043842561"/>
- <string key="objectName">consoleDrawerView</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">828</int>
- <reference key="object" ref="509069545"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="409075923"/>
- <reference ref="23342417"/>
- <reference ref="897393774"/>
- </object>
- <reference key="parent" ref="236537518"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">829</int>
- <reference key="object" ref="409075923"/>
- <reference key="parent" ref="509069545"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">839</int>
<reference key="object" ref="202784209"/>
<object class="NSMutableArray" key="children">
@@ -13920,16 +14256,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<reference key="parent" ref="597878738"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">3944</int>
- <reference key="object" ref="23342417"/>
- <reference key="parent" ref="509069545"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">3945</int>
- <reference key="object" ref="897393774"/>
- <reference key="parent" ref="509069545"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">3946</int>
<reference key="object" ref="297298990"/>
<reference key="parent" ref="294857516"/>
@@ -14340,7 +14666,7 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<int key="objectID">4488</int>
<reference key="object" ref="622219357"/>
<reference key="parent" ref="1043842561"/>
- <string key="objectName">SP Table Info</string>
+ <string key="objectName">SPTableInfo</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">4511</int>
@@ -17022,6 +17348,271 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<reference key="object" ref="923183582"/>
<reference key="parent" ref="960790892"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4720</int>
+ <reference key="object" ref="1017299506"/>
+ <reference key="parent" ref="1043842561"/>
+ <string key="objectName">SPQueryConsole</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4723</int>
+ <reference key="object" ref="105314919"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="792706941"/>
+ </object>
+ <reference key="parent" ref="1043842561"/>
+ <string key="objectName">queryConsole</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4724</int>
+ <reference key="object" ref="792706941"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="938900699"/>
+ <reference ref="811773728"/>
+ <reference ref="1028281149"/>
+ </object>
+ <reference key="parent" ref="105314919"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4730</int>
+ <reference key="object" ref="1028281149"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="853817378"/>
+ <reference ref="277454734"/>
+ <reference ref="577288167"/>
+ </object>
+ <reference key="parent" ref="792706941"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4731</int>
+ <reference key="object" ref="853817378"/>
+ <reference key="parent" ref="1028281149"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4732</int>
+ <reference key="object" ref="277454734"/>
+ <reference key="parent" ref="1028281149"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4733</int>
+ <reference key="object" ref="577288167"/>
+ <reference key="parent" ref="1028281149"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4735</int>
+ <reference key="object" ref="938900699"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="602747131"/>
+ </object>
+ <reference key="parent" ref="792706941"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4736</int>
+ <reference key="object" ref="602747131"/>
+ <reference key="parent" ref="938900699"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4737</int>
+ <reference key="object" ref="811773728"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="304768838"/>
+ </object>
+ <reference key="parent" ref="792706941"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4738</int>
+ <reference key="object" ref="304768838"/>
+ <reference key="parent" ref="811773728"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4741</int>
+ <reference key="object" ref="602251216"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="410467805"/>
+ </object>
+ <reference key="parent" ref="70075497"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4742</int>
+ <reference key="object" ref="410467805"/>
+ <reference key="parent" ref="602251216"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4751</int>
+ <reference key="object" ref="437431578"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1000126742"/>
+ </object>
+ <reference key="parent" ref="70075497"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4752</int>
+ <reference key="object" ref="1000126742"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="38191244"/>
+ </object>
+ <reference key="parent" ref="437431578"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4753</int>
+ <reference key="object" ref="38191244"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="129898533"/>
+ <reference ref="21931488"/>
+ <reference ref="284223347"/>
+ <reference ref="965264484"/>
+ <reference ref="164789390"/>
+ <reference ref="564953861"/>
+ <reference ref="75240407"/>
+ <reference ref="410304104"/>
+ <reference ref="510465377"/>
+ <reference ref="706333609"/>
+ <reference ref="430273312"/>
+ <reference ref="1022552442"/>
+ <reference ref="877852446"/>
+ <reference ref="4256"/>
+ <reference ref="215456235"/>
+ <reference ref="941593702"/>
+ <reference ref="199319595"/>
+ <reference ref="416176514"/>
+ <reference ref="266800360"/>
+ <reference ref="706919296"/>
+ <reference ref="646927594"/>
+ <reference ref="100280668"/>
+ <reference ref="936262700"/>
+ <reference ref="410007925"/>
+ </object>
+ <reference key="parent" ref="1000126742"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4754</int>
+ <reference key="object" ref="129898533"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4755</int>
+ <reference key="object" ref="21931488"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4756</int>
+ <reference key="object" ref="284223347"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4757</int>
+ <reference key="object" ref="965264484"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4758</int>
+ <reference key="object" ref="164789390"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4759</int>
+ <reference key="object" ref="564953861"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4760</int>
+ <reference key="object" ref="75240407"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4761</int>
+ <reference key="object" ref="410304104"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4762</int>
+ <reference key="object" ref="510465377"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4763</int>
+ <reference key="object" ref="706333609"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4764</int>
+ <reference key="object" ref="430273312"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4765</int>
+ <reference key="object" ref="1022552442"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4766</int>
+ <reference key="object" ref="877852446"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4767</int>
+ <reference key="object" ref="4256"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4768</int>
+ <reference key="object" ref="215456235"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4769</int>
+ <reference key="object" ref="941593702"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4770</int>
+ <reference key="object" ref="199319595"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4771</int>
+ <reference key="object" ref="416176514"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4772</int>
+ <reference key="object" ref="266800360"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4773</int>
+ <reference key="object" ref="706919296"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4774</int>
+ <reference key="object" ref="646927594"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4775</int>
+ <reference key="object" ref="100280668"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4776</int>
+ <reference key="object" ref="936262700"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4777</int>
+ <reference key="object" ref="410007925"/>
+ <reference key="parent" ref="38191244"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -17690,10 +18281,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string>3942.IBShouldRemoveOnLegacySave</string>
<string>3943.IBPluginDependency</string>
<string>3943.IBShouldRemoveOnLegacySave</string>
- <string>3944.IBPluginDependency</string>
- <string>3944.IBShouldRemoveOnLegacySave</string>
- <string>3945.IBPluginDependency</string>
- <string>3945.IBShouldRemoveOnLegacySave</string>
<string>3946.IBPluginDependency</string>
<string>3946.IBShouldRemoveOnLegacySave</string>
<string>3947.IBPluginDependency</string>
@@ -18013,6 +18600,79 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string>47.ImportedFromIB2</string>
<string>4700.IBPluginDependency</string>
<string>4702.IBPluginDependency</string>
+ <string>4720.IBPluginDependency</string>
+ <string>4723.IBEditorWindowLastContentRect</string>
+ <string>4723.IBWindowTemplateEditedContentRect</string>
+ <string>4723.NSWindowTemplate.visibleAtLaunch</string>
+ <string>4723.windowTemplate.hasMinSize</string>
+ <string>4723.windowTemplate.minSize</string>
+ <string>4724.IBPluginDependency</string>
+ <string>4730.IBPluginDependency</string>
+ <string>4731.IBPluginDependency</string>
+ <string>4732.IBPluginDependency</string>
+ <string>4733.IBPluginDependency</string>
+ <string>4735.IBPluginDependency</string>
+ <string>4736.IBPluginDependency</string>
+ <string>4737.IBPluginDependency</string>
+ <string>4738.IBPluginDependency</string>
+ <string>4741.IBPluginDependency</string>
+ <string>4741.ImportedFromIB2</string>
+ <string>4742.IBPluginDependency</string>
+ <string>4751.IBPluginDependency</string>
+ <string>4751.ImportedFromIB2</string>
+ <string>4752.IBPluginDependency</string>
+ <string>4753.IBEditorWindowLastContentRect</string>
+ <string>4753.IBPluginDependency</string>
+ <string>4753.ImportedFromIB2</string>
+ <string>4753.editorWindowContentRectSynchronizationRect</string>
+ <string>4754.IBPluginDependency</string>
+ <string>4754.ImportedFromIB2</string>
+ <string>4755.IBPluginDependency</string>
+ <string>4755.ImportedFromIB2</string>
+ <string>4756.IBPluginDependency</string>
+ <string>4756.ImportedFromIB2</string>
+ <string>4757.IBPluginDependency</string>
+ <string>4757.ImportedFromIB2</string>
+ <string>4758.IBPluginDependency</string>
+ <string>4758.ImportedFromIB2</string>
+ <string>4759.IBPluginDependency</string>
+ <string>4759.ImportedFromIB2</string>
+ <string>4760.IBPluginDependency</string>
+ <string>4760.ImportedFromIB2</string>
+ <string>4761.IBPluginDependency</string>
+ <string>4761.ImportedFromIB2</string>
+ <string>4762.IBPluginDependency</string>
+ <string>4762.ImportedFromIB2</string>
+ <string>4763.IBPluginDependency</string>
+ <string>4763.ImportedFromIB2</string>
+ <string>4764.IBPluginDependency</string>
+ <string>4764.ImportedFromIB2</string>
+ <string>4765.IBPluginDependency</string>
+ <string>4765.ImportedFromIB2</string>
+ <string>4766.IBPluginDependency</string>
+ <string>4766.ImportedFromIB2</string>
+ <string>4767.IBPluginDependency</string>
+ <string>4767.ImportedFromIB2</string>
+ <string>4768.IBPluginDependency</string>
+ <string>4768.ImportedFromIB2</string>
+ <string>4769.IBPluginDependency</string>
+ <string>4769.ImportedFromIB2</string>
+ <string>4770.IBPluginDependency</string>
+ <string>4770.ImportedFromIB2</string>
+ <string>4771.IBPluginDependency</string>
+ <string>4771.ImportedFromIB2</string>
+ <string>4772.IBPluginDependency</string>
+ <string>4772.ImportedFromIB2</string>
+ <string>4773.IBPluginDependency</string>
+ <string>4773.ImportedFromIB2</string>
+ <string>4774.IBPluginDependency</string>
+ <string>4774.ImportedFromIB2</string>
+ <string>4775.IBPluginDependency</string>
+ <string>4775.ImportedFromIB2</string>
+ <string>4776.IBPluginDependency</string>
+ <string>4776.ImportedFromIB2</string>
+ <string>4777.IBPluginDependency</string>
+ <string>4777.ImportedFromIB2</string>
<string>495.IBAttributePlaceholdersKey</string>
<string>495.IBPluginDependency</string>
<string>495.ImportedFromIB2</string>
@@ -18188,15 +18848,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string>815.IBEditorWindowLastContentRect</string>
<string>815.IBPluginDependency</string>
<string>815.ImportedFromIB2</string>
- <string>821.IBPluginDependency</string>
- <string>821.ImportedFromIB2</string>
- <string>824.IBEditorWindowLastContentRect</string>
- <string>824.IBPluginDependency</string>
- <string>824.ImportedFromIB2</string>
- <string>828.IBPluginDependency</string>
- <string>828.ImportedFromIB2</string>
- <string>829.IBPluginDependency</string>
- <string>829.ImportedFromIB2</string>
<string>835.IBPluginDependency</string>
<string>835.ImportedFromIB2</string>
<string>839.IBEditorWindowLastContentRect</string>
@@ -19179,10 +19830,6 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <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>
<reference ref="9"/>
@@ -19521,6 +20168,79 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{354, 365}, {575, 181}}</string>
+ <string>{{354, 365}, {575, 181}}</string>
+ <boolean value="NO"/>
+ <boolean value="YES" id="5"/>
+ <string>{300, 130}</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>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{646, 3}, {228, 362}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>{{67, 289}, {228, 362}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
<object class="NSMutableDictionary">
<string key="NS.key.0">ToolTip</string>
<object class="IBToolTipAttribute" key="NS.object.0">
@@ -19567,13 +20287,13 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{147, 561}, {220, 112}}</string>
- <string>{{147, 561}, {220, 112}}</string>
- <reference ref="9"/>
+ <string>{{525, 295}, {292, 112}}</string>
+ <string>{{525, 295}, {292, 112}}</string>
<reference ref="9"/>
+ <reference ref="5"/>
<reference ref="9"/>
- <string>{256, 191}</string>
- <string>{162.05, 5}</string>
+ <string>{292, 112}</string>
+ <string>{292, 112}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -19783,15 +20503,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{270, 683}, {800, 96}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="9"/>
<string>{{84, 401}, {411, 341}}</string>
<string>{{84, 401}, {411, 341}}</string>
<reference ref="9"/>
@@ -19945,7 +20656,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">4719</int>
+ <int key="maxID">4781</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -20126,6 +20837,31 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">SPQueryConsole</string>
+ <string key="superclassName">NSWindowController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>clearConsole:</string>
+ <string>saveConsoleAs:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>id</string>
+ <string>id</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">consoleTextView</string>
+ <string key="NS.object.0">NSTextView</string>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/SPQueryConsole.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">SPTableData</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
@@ -20234,6 +20970,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>limitRowsStepper</string>
<string>limitRowsText</string>
<string>multipleLineEditingButton</string>
+ <string>queryConsoleInstance</string>
<string>removeButton</string>
<string>tableContentView</string>
<string>tableDataInstance</string>
@@ -20261,6 +20998,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
<string>CMCopyTable</string>
<string>id</string>
<string>id</string>
@@ -20296,7 +21034,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>chooseDatabase:</string>
<string>chooseEncoding:</string>
<string>chooseFavorite:</string>
- <string>clearConsole:</string>
<string>closeDatabaseSheet:</string>
<string>closeSheet:</string>
<string>connect:</string>
@@ -20316,7 +21053,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>setDatabases:</string>
<string>showCreateTableSyntax:</string>
<string>showVariables:</string>
- <string>toggleConsole:</string>
<string>viewContent:</string>
<string>viewQuery:</string>
<string>viewStatus:</string>
@@ -20355,23 +21091,21 @@ Y2hhbmdlIHRoZSBvcmRlcg</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>addDatabaseButton</string>
<string>chooseDatabaseButton</string>
<string>connectFavoritesTableView</string>
<string>connectProgressBar</string>
<string>connectProgressStatusText</string>
<string>connectSheet</string>
- <string>consoleDrawer</string>
- <string>consoleTextView</string>
<string>createTableSyntaxWindow</string>
<string>customQueryInstance</string>
+ <string>databaseEncodingButton</string>
<string>databaseField</string>
<string>databaseNameField</string>
<string>databaseSheet</string>
@@ -20382,6 +21116,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>keyChainInstance</string>
<string>passwordField</string>
<string>portField</string>
+ <string>queryConsoleInstance</string>
<string>queryProgressBar</string>
<string>sidebarGrabber</string>
<string>socketField</string>
@@ -20402,9 +21137,8 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
- <string>NSTableView</string>
- <string>id</string>
<string>id</string>
+ <string>NSTableView</string>
<string>id</string>
<string>id</string>
<string>id</string>
@@ -20413,6 +21147,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
<string>NSTableView</string>
<string>id</string>
<string>NSArrayController</string>
@@ -20430,6 +21165,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
<string>NSTabView</string>
<string>id</string>
<string>id</string>
diff --git a/Interfaces/English.lproj/MainMenu.xib b/Interfaces/English.lproj/MainMenu.xib
index 82981911..731e1079 100644
--- a/Interfaces/English.lproj/MainMenu.xib
+++ b/Interfaces/English.lproj/MainMenu.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="81"/>
+ <integer value="498"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -3741,14 +3741,6 @@
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
- <string key="label">toggleConsole:</string>
- <reference key="source" ref="63651044"/>
- <reference key="destination" ref="924530602"/>
- </object>
- <int key="connectionID">792</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
<string key="label">clearConsole:</string>
<reference key="source" ref="63651044"/>
<reference key="destination" ref="551338335"/>
@@ -3843,6 +3835,14 @@
</object>
<int key="connectionID">830</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">toggleConsole:</string>
+ <reference key="source" ref="63651044"/>
+ <reference key="destination" ref="924530602"/>
+ </object>
+ <int key="connectionID">832</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -6631,7 +6631,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{328, 707}, {511, 20}}</string>
+ <string>{{51, 384}, {511, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{506, 836}, {511, 20}}</string>
@@ -6722,7 +6722,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{436, 241}, {235, 183}}</string>
+ <string>{{243, 201}, {235, 183}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{698, 703}, {184, 133}}</string>
@@ -6844,7 +6844,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{486, 271}, {231, 153}}</string>
+ <string>{{570, 554}, {231, 153}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{312, 683}, {231, 153}}</string>
@@ -6962,7 +6962,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{454, 310}, {268, 173}}</string>
+ <string>{{651, 534}, {268, 173}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{829, 663}, {268, 173}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -7033,7 +7033,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">830</int>
+ <int key="maxID">832</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -7265,6 +7265,40 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
</object>
<object class="IBPartialClassDescription">
+ <string key="className">SPQueryConsole</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>clearConsole:</string>
+ <string>showConsole:</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <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>consolePanel</string>
+ <string>consoleTextView</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSPanel</string>
+ <string>NSTextView</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/SPQueryConsole.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">TableDocument</string>
<string key="superclassName">NSDocument</string>
<object class="NSMutableDictionary" key="actions">
@@ -7279,7 +7313,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>chooseDatabase:</string>
<string>chooseEncoding:</string>
<string>chooseFavorite:</string>
- <string>clearConsole:</string>
<string>closeDatabaseSheet:</string>
<string>closeSheet:</string>
<string>connect:</string>
@@ -7299,7 +7332,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>setDatabases:</string>
<string>showCreateTableSyntax:</string>
<string>showVariables:</string>
- <string>toggleConsole:</string>
<string>viewContent:</string>
<string>viewQuery:</string>
<string>viewStatus:</string>
@@ -7338,8 +7370,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>id</string>
<string>id</string>
<string>id</string>
- <string>id</string>
- <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
@@ -7351,8 +7381,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>connectProgressBar</string>
<string>connectProgressStatusText</string>
<string>connectSheet</string>
- <string>consoleDrawer</string>
- <string>consoleTextView</string>
<string>createTableSyntaxWindow</string>
<string>customQueryInstance</string>
<string>databaseField</string>
@@ -7365,6 +7393,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>keyChainInstance</string>
<string>passwordField</string>
<string>portField</string>
+ <string>queryConsoleInstance</string>
<string>queryProgressBar</string>
<string>sidebarGrabber</string>
<string>socketField</string>
@@ -7388,8 +7417,6 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>id</string>
<string>id</string>
<string>id</string>
- <string>id</string>
- <string>id</string>
<string>NSWindow</string>
<string>id</string>
<string>id</string>
@@ -7411,6 +7438,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
<string>NSTabView</string>
<string>id</string>
<string>id</string>
diff --git a/Source/SPQueryConsole.h b/Source/SPQueryConsole.h
new file mode 100644
index 00000000..e1072904
--- /dev/null
+++ b/Source/SPQueryConsole.h
@@ -0,0 +1,38 @@
+//
+// SPQueryConsole.h
+// sequel-pro
+//
+// Created by Stuart Connolly (stuconnolly.com) on Jan 30, 2009
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// More info at <http://code.google.com/p/sequel-pro/>
+
+#import <Cocoa/Cocoa.h>
+
+@interface SPQueryConsole : NSWindowController
+{
+ IBOutlet NSTextView *consoleTextView;
+}
+
+- (IBAction)clearConsole:(id)sender;
+- (IBAction)saveConsoleAs:(id)sender;
+
+- (void)showMessageInConsole:(NSString *)message;
+- (void)showErrorInConsole:(NSString *)error;
+
+- (NSTextView *)consoleTextView;
+
+@end
diff --git a/Source/SPQueryConsole.m b/Source/SPQueryConsole.m
new file mode 100644
index 00000000..34391119
--- /dev/null
+++ b/Source/SPQueryConsole.m
@@ -0,0 +1,135 @@
+//
+// SPQueryConsole.m
+// sequel-pro
+//
+// Created by Stuart Connolly (stuconnolly.com) on Jan 30, 2009
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// More info at <http://code.google.com/p/sequel-pro/>
+
+#import "SPQueryConsole.h"
+
+#define DEFAULT_CONSOLE_LOG_FILENAME @"untitled"
+#define DEFAULT_CONSOLE_LOG_FILE_EXTENSION @"log"
+
+@interface SPQueryConsole (PrivateAPI)
+
+- (void)_appendMessageToConsole:(NSString *)message withColor:(NSColor *)color;
+
+@end
+
+@implementation SPQueryConsole
+
+// -------------------------------------------------------------------------------
+// clearConsole:
+//
+// Clears the console by setting its displayed text to an empty string.
+// -------------------------------------------------------------------------------
+- (IBAction)clearConsole:(id)sender
+{
+ [consoleTextView setString:@""];
+}
+
+// -------------------------------------------------------------------------------
+// saveConsoleAs:
+//
+// Presents the user with a save panel to the save the current console to a log file.
+// -------------------------------------------------------------------------------
+- (IBAction)saveConsoleAs:(id)sender
+{
+ NSSavePanel *panel = [NSSavePanel savePanel];
+
+ [panel setRequiredFileType:DEFAULT_CONSOLE_LOG_FILE_EXTENSION];
+
+ [panel setExtensionHidden:NO];
+ [panel setAllowsOtherFileTypes:YES];
+ [panel setCanSelectHiddenExtension:YES];
+
+ [panel beginSheetForDirectory:nil file:DEFAULT_CONSOLE_LOG_FILENAME modalForWindow:[self window] modalDelegate:self didEndSelector:@selector(savePanelDidEnd:returnCode:contextInfo:) contextInfo:NULL];
+}
+
+// -------------------------------------------------------------------------------
+// showMessageInConsole:
+//
+// Shows the supplied message in the console.
+// -------------------------------------------------------------------------------
+- (void)showMessageInConsole:(NSString *)message
+{
+ [self _appendMessageToConsole:message withColor:[NSColor blackColor]];
+}
+
+// -------------------------------------------------------------------------------
+// showErrorInConsole:
+//
+// Shows the supplied error in the console.
+// -------------------------------------------------------------------------------
+- (void)showErrorInConsole:(NSString *)error
+{
+ [self _appendMessageToConsole:error withColor:[NSColor redColor]];
+}
+
+// -------------------------------------------------------------------------------
+// consoleTextView
+//
+// Return a reference to the console's text view.
+// -------------------------------------------------------------------------------
+- (NSTextView *)consoleTextView
+{
+ return consoleTextView;
+}
+
+// -------------------------------------------------------------------------------
+// savePanelDidEnd:returnCode:contextInfo:
+//
+// Called when the NSSavePanel sheet ends.
+// -------------------------------------------------------------------------------
+- (void)savePanelDidEnd:(NSSavePanel *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
+{
+ if (returnCode == NSOKButton) {
+ [[[consoleTextView textStorage] string] writeToFile:[sheet filename] atomically:YES encoding:NSUTF8StringEncoding error:NULL];
+ }
+}
+
+@end
+
+@implementation SPQueryConsole (PrivateAPI)
+
+// -------------------------------------------------------------------------------
+// _appendMessageToConsole:withColor:
+//
+// Appeds the supplied string to the query console, coloring the text using the
+// supplied color.
+// -------------------------------------------------------------------------------
+- (void)_appendMessageToConsole:(NSString *)message withColor:(NSColor *)color
+{
+ int begin, end;
+
+ // Set the selected range of the text view to be the very last character
+ [consoleTextView setSelectedRange:NSMakeRange([[consoleTextView string] length], 0)];
+ begin = [[consoleTextView string] length];
+
+ // Apped the message to the current text storage using the text view's current typing attributes
+ [[consoleTextView textStorage] appendAttributedString:[[NSAttributedString alloc] initWithString:message attributes:[consoleTextView typingAttributes]]];
+ end = [[consoleTextView string] length];
+
+ // Color the text we just added
+ [consoleTextView setTextColor:color range:NSMakeRange(begin, (end - begin))];
+
+ // Scroll to the text we just added
+ [consoleTextView scrollRangeToVisible:[consoleTextView selectedRange]];
+}
+
+@end
diff --git a/Source/TableContent.h b/Source/TableContent.h
index ac7a8249..e0802e3b 100644
--- a/Source/TableContent.h
+++ b/Source/TableContent.h
@@ -23,19 +23,18 @@
//
// More info at <http://code.google.com/p/sequel-pro/>
-
#import <Cocoa/Cocoa.h>
#import <MCPKit_bundled/MCPKit_bundled.h>
#import "CMCopyTable.h"
#import "CMMCPConnection.h"
#import "CMMCPResult.h"
-
-@interface TableContent : NSObject {
-
+@interface TableContent : NSObject
+{
IBOutlet id tableDocumentInstance;
IBOutlet id tablesListInstance;
IBOutlet id tableDataInstance;
+ IBOutlet id queryConsoleInstance;
IBOutlet id tableWindow;
IBOutlet CMCopyTable *tableContentView;
@@ -68,7 +67,6 @@
NSUserDefaults *prefs;
int numRows;
bool areShowingAllRows;
-
}
//table methods
diff --git a/Source/TableContent.m b/Source/TableContent.m
index 3baf5713..c2db04c2 100644
--- a/Source/TableContent.m
+++ b/Source/TableContent.m
@@ -29,7 +29,7 @@
#import "CMImageView.h"
#import "SPDataCellFormatter.h"
#import "SPTableData.h"
-
+#import "SPQueryConsole.h"
@implementation TableContent
@@ -1183,7 +1183,7 @@
[filteredResult replaceObjectAtIndex:rowIndex withObject:[NSMutableDictionary dictionaryWithDictionary:oldRow]];
isEditingRow = NO;
isEditingNewRow = NO;
- [tableDocumentInstance showErrorInConsole:[NSString stringWithFormat:NSLocalizedString(@"/* WARNING %@ No rows have been affected */\n", @"warning shown in the console when no rows have been affected after writing to the db"), currentTime]];
+ [queryConsoleInstance showErrorInConsole:[NSString stringWithFormat:NSLocalizedString(@"/* WARNING %@ No rows have been affected */\n", @"warning shown in the console when no rows have been affected after writing to the db"), currentTime]];
return YES;
// On success...
diff --git a/Source/TableDocument.h b/Source/TableDocument.h
index 61b770c3..7227f0dd 100644
--- a/Source/TableDocument.h
+++ b/Source/TableDocument.h
@@ -31,10 +31,9 @@
/**
* The TableDocument class controls the primary database view window.
*/
-
@interface TableDocument : NSDocument
{
- //IBOutlets
+ // IBOutlets
IBOutlet id keyChainInstance;
IBOutlet id tablesListInstance;
IBOutlet id tableSourceInstance;
@@ -43,12 +42,12 @@
IBOutlet id tableDumpInstance;
IBOutlet id tableDataInstance;
IBOutlet id tableStatusInstance;
+ IBOutlet id queryConsoleInstance;
IBOutlet id tableWindow;
IBOutlet id connectSheet;
IBOutlet id databaseSheet;
IBOutlet id variablesSheet;
- IBOutlet id consoleDrawer;
IBOutlet id queryProgressBar;
IBOutlet id favoritesButton;
@@ -64,8 +63,9 @@
IBOutlet id connectProgressBar;
IBOutlet id connectProgressStatusText;
IBOutlet id databaseNameField;
+ IBOutlet id databaseEncodingButton;
+ IBOutlet id addDatabaseButton;
IBOutlet id chooseDatabaseButton;
- IBOutlet id consoleTextView;
IBOutlet id variablesTableView;
IBOutlet NSTabView *tableTabView;
@@ -126,13 +126,6 @@
- (IBAction)closeDatabaseSheet:(id)sender;
- (IBAction)removeDatabase:(id)sender;
-//console methods
-- (void)toggleConsole:(id)sender;
-- (void)clearConsole:(id)sender;
-- (BOOL)consoleIsOpened;
-- (void)showMessageInConsole:(NSString *)message;
-- (void)showErrorInConsole:(NSString *)error;
-
//encoding methods
- (void)setConnectionEncoding:(NSString *)mysqlEncoding reloadingViews:(BOOL)reloadViews;
- (NSString *)databaseEncoding;
diff --git a/Source/TableDocument.m b/Source/TableDocument.m
index 6fae3a0b..1e3537b2 100644
--- a/Source/TableDocument.m
+++ b/Source/TableDocument.m
@@ -33,6 +33,7 @@
#import "TableStatus.h"
#import "ImageAndTextCell.h"
#import "SPGrowlController.h"
+#import "SPQueryConsole.h"
#import "SPSQLParser.h"
#import "SPTableData.h"
@@ -503,15 +504,18 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
{
int code = 0;
- if (![tablesListInstance selectionShouldChangeInTableView:nil])
+ if (![tablesListInstance selectionShouldChangeInTableView:nil]) {
return;
+ }
[databaseNameField setStringValue:@""];
+
[NSApp beginSheet:databaseSheet
modalForWindow:tableWindow
modalDelegate:self
didEndSelector:nil
contextInfo:nil];
+
code = [NSApp runModalForWindow:databaseSheet];
[NSApp endSheet:databaseSheet];
@@ -522,12 +526,23 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
return;
}
+ // This check is not necessary anymore as the add database button is now only enabled if the name field
+ // has a length greater than zero. We'll leave it in just in case.
if ([[databaseNameField stringValue] isEqualToString:@""]) {
NSBeginAlertSheet(NSLocalizedString(@"Error", @"error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, tableWindow, self, nil, nil, nil, NSLocalizedString(@"Database must have a name.", @"message of panel when no db name is given"));
return;
}
- [mySQLConnection queryString:[NSString stringWithFormat:@"CREATE DATABASE `%@`", [databaseNameField stringValue]]];
+ NSString *createStatement = [NSString stringWithFormat:@"CREATE DATABASE `%@`", [databaseNameField stringValue]];
+
+ // If there is an encoding selected other than the default we must specify it in CREATE DATABASE statement
+ if ([databaseEncodingButton indexOfSelectedItem] > 0) {
+ createStatement = [NSString stringWithFormat:@"%@ DEFAULT CHARACTER SET `%@`", createStatement, [self mysqlEncodingFromDisplayEncoding:[databaseEncodingButton title]]];
+ }
+
+ // Create the database
+ [mySQLConnection queryString:createStatement];
+
if (![[mySQLConnection getLastErrorMessage] isEqualToString:@""]) {
//error while creating db
NSBeginAlertSheet(NSLocalizedString(@"Error", @"error"), NSLocalizedString(@"OK", @"OK button"), nil, nil, tableWindow, self, nil, nil, nil, [NSString stringWithFormat:NSLocalizedString(@"Couldn't create database.\nMySQL said: %@", @"message of panel when creation of db failed"), [mySQLConnection getLastErrorMessage]]);
@@ -572,74 +587,14 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
NSBeginAlertSheet(NSLocalizedString(@"Warning", @"warning"), NSLocalizedString(@"Delete", @"delete button"), NSLocalizedString(@"Cancel", @"cancel button"), nil, tableWindow, self, nil, @selector(sheetDidEnd:returnCode:contextInfo:), @"removedatabase", [NSString stringWithFormat:NSLocalizedString(@"Do you really want to delete the database %@?", @"message of panel asking for confirmation for deleting db"), [self database]]);
}
-#pragma mark console methods
+#pragma mark Console methods
-//console methods
/**
- * shows or hides the console
+ * Shows or hides the console
*/
- (void)toggleConsole:(id)sender
{
- if ([self consoleIsOpened]) {
- [consoleDrawer close];
- } else {
- [consoleTextView scrollRangeToVisible:[consoleTextView selectedRange]];
- [consoleDrawer openOnEdge:NSMinYEdge];
- }
-}
-
-/**
- * clears the console
- */
-- (void)clearConsole:(id)sender
-{
- [consoleTextView setString:@""];
-}
-
-/**
- * returns YES if the console is visible
- */
-- (BOOL)consoleIsOpened
-{
- return ([consoleDrawer state] == NSDrawerOpeningState || [consoleDrawer state] == NSDrawerOpenState);
-}
-
-/**
- * shows a message in the console
- */
-- (void)showMessageInConsole:(NSString *)message
-{
- int begin, end;
-
- [consoleTextView setSelectedRange:NSMakeRange([[consoleTextView string] length],0)];
- begin = [[consoleTextView string] length];
- [consoleTextView replaceCharactersInRange:NSMakeRange(begin,0) withString:message];
- end = [[consoleTextView string] length];
- [consoleTextView setTextColor:[NSColor blackColor] range:NSMakeRange(begin,end-begin)];
-
- if ([self consoleIsOpened]) {
- [consoleTextView displayIfNeeded];
- [consoleTextView scrollRangeToVisible:[consoleTextView selectedRange]];
- }
-}
-
-/**
- * shows an error in the console (red)
- */
-- (void)showErrorInConsole:(NSString *)error
-{
- int begin, end;
-
- [consoleTextView setSelectedRange:NSMakeRange([[consoleTextView string] length],0)];
- begin = [[consoleTextView string] length];
- [consoleTextView replaceCharactersInRange:NSMakeRange(begin,0) withString:error];
- end = [[consoleTextView string] length];
- [consoleTextView setTextColor:[NSColor redColor] range:NSMakeRange(begin,end-begin)];
-
- if ([self consoleIsOpened]) {
- [consoleTextView displayIfNeeded];
- [consoleTextView scrollRangeToVisible:[consoleTextView selectedRange]];
- }
+ [[queryConsoleInstance window] setIsVisible:![[queryConsoleInstance window] isVisible]];
}
#pragma mark Encoding Methods
@@ -1279,13 +1234,15 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
[toolbarItem setPaletteLabel:NSLocalizedString(@"Show/Hide Console", @"toolbar item for show/hide console")];
//set up tooltip and image
[toolbarItem setToolTip:NSLocalizedString(@"Show or hide the console which shows all MySQL commands performed by Sequel Pro", @"tooltip for toolbar item for show/hide console")];
- if ( [self consoleIsOpened] ) {
+
+ if ([[queryConsoleInstance window] isVisible]) {
[toolbarItem setLabel:NSLocalizedString(@"Hide Console", @"toolbar item for hide console")];
[toolbarItem setImage:[NSImage imageNamed:@"hideconsole"]];
} else {
[toolbarItem setLabel:NSLocalizedString(@"Show Console", @"toolbar item for showconsole")];
[toolbarItem setImage:[NSImage imageNamed:@"showconsole"]];
}
+
//set up the target action
[toolbarItem setTarget:self];
[toolbarItem setAction:@selector(toggleConsole:)];
@@ -1298,7 +1255,7 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
[toolbarItem setToolTip:NSLocalizedString(@"Clear the console which shows all MySQL commands performed by Sequel Pro", @"tooltip for toolbar item for clear console")];
[toolbarItem setImage:[NSImage imageNamed:@"clearconsole"]];
//set up the target action
- [toolbarItem setTarget:self];
+ [toolbarItem setTarget:queryConsoleInstance];
[toolbarItem setAction:@selector(clearConsole:)];
} else if ([itemIdentifier isEqualToString:@"SwitchToTableStructureToolbarItemIdentifier"]) {
@@ -1401,8 +1358,8 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
*/
- (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem;
{
- if ( [[toolbarItem itemIdentifier] isEqualToString:@"ToggleConsoleIdentifier"] ) {
- if ( [self consoleIsOpened] ) {
+ if ([[toolbarItem itemIdentifier] isEqualToString:@"ToggleConsoleIdentifier"]) {
+ if ([[queryConsoleInstance window] isVisible]) {
[toolbarItem setLabel:@"Hide Console"];
[toolbarItem setImage:[NSImage imageNamed:@"hideconsole"]];
} else {
@@ -1414,12 +1371,12 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
return YES;
}
+// NSDocument methods
-//NSDocument methods
-- (NSString *)windowNibName
-/*
- returns the name of the nib file
+/**
+ * Returns the name of the nib file
*/
+- (NSString *)windowNibName
{
return @"DBView";
}
@@ -1450,20 +1407,19 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
//set up interface
if ( [prefs boolForKey:@"useMonospacedFonts"] ) {
- [consoleTextView setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
+ [[queryConsoleInstance consoleTextView] setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
[syntaxViewContent setFont:[NSFont fontWithName:@"Monaco" size:[NSFont smallSystemFontSize]]];
while ( (theCol = [theCols nextObject]) ) {
[[theCol dataCell] setFont:[NSFont fontWithName:@"Monaco" size:10]];
}
} else {
- [consoleTextView setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
+ [[queryConsoleInstance consoleTextView] setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
[syntaxViewContent setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
while ( (theCol = [theCols nextObject]) ) {
[[theCol dataCell] setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
}
}
- [consoleDrawer setContentSize:NSMakeSize(110,110)];
//set up toolbar
[self setupToolbar];
@@ -1490,29 +1446,28 @@ NSString *TableDocumentFavoritesControllerFavoritesDidChange = @"TableDocumentFa
} else {
return YES;
}
-
}
+#pragma mark SMySQL delegate methods
-//SMySQL delegate methods
+/**
+ * Invoked when framework will perform a query
+ */
- (void)willQueryString:(NSString *)query
-/*
-invoked when framework will perform a query
-*/
{
NSString *currentTime = [[NSDate date] descriptionWithCalendarFormat:@"%H:%M:%S" timeZone:nil locale:nil];
- [self showMessageInConsole:[NSString stringWithFormat:@"/* MySQL %@ */ %@;\n", currentTime, query]];
+ [queryConsoleInstance showMessageInConsole:[NSString stringWithFormat:@"/* MySQL %@ */ %@;\n", currentTime, query]];
}
+/**
+ * Invoked when query gave an error
+ */
- (void)queryGaveError:(NSString *)error
-/*
-invoked when query gave an error
-*/
{
NSString *currentTime = [[NSDate date] descriptionWithCalendarFormat:@"%H:%M:%S" timeZone:nil locale:nil];
- [self showErrorInConsole:[NSString stringWithFormat:@"/* ERROR %@ */ %@;\n", currentTime, error]];
+ [queryConsoleInstance showErrorInConsole:[NSString stringWithFormat:@"/* ERROR %@ */ %@;\n", currentTime, error]];
}
#pragma mark Connection sheet delegate methods
@@ -1529,6 +1484,9 @@ invoked when query gave an error
|| [aNotification object] == socketField || [aNotification object] == portField) {
[favoritesController setSelectionIndexes:[NSIndexSet indexSet]];
}
+ else if ([aNotification object] == databaseNameField) {
+ [addDatabaseButton setEnabled:([[databaseNameField stringValue] length] > 0)];
+ }
}
#pragma mark SplitView delegate methods
diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj
index b218578b..74a1b7e0 100644
--- a/sequel-pro.xcodeproj/project.pbxproj
+++ b/sequel-pro.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 170088CE0F5870E200DD6B51 /* SPQueryConsole.m in Sources */ = {isa = PBXBuildFile; fileRef = 170088CD0F5870E200DD6B51 /* SPQueryConsole.m */; };
1761FD480EF03A6F00331368 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1761FD460EF03A6F00331368 /* MainMenu.xib */; };
1789343C0F30C1DD0097539A /* SPStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1789343B0F30C1DD0097539A /* SPStringAdditions.m */; };
17E641460EF01EB5001BC333 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 17E641440EF01EB5001BC333 /* main.m */; };
@@ -120,6 +121,8 @@
/* Begin PBXFileReference section */
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ 170088CC0F5870E200DD6B51 /* SPQueryConsole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPQueryConsole.h; sourceTree = "<group>"; };
+ 170088CD0F5870E200DD6B51 /* SPQueryConsole.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPQueryConsole.m; sourceTree = "<group>"; };
1703EF2B0F0B0742005BBE7E /* bar.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = bar.gif; sourceTree = "<group>"; };
1703EF2C0F0B0742005BBE7E /* english_help idx */ = {isa = PBXFileReference; lastKnownFileType = file; path = "english_help idx"; sourceTree = "<group>"; };
1703EF2D0F0B0742005BBE7E /* icon.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = icon.gif; sourceTree = "<group>"; };
@@ -394,6 +397,8 @@
17E641550EF01EF6001BC333 /* TableSource.m */,
58FEF57C0F3B4E9700518E8E /* SPTableData.h */,
58FEF57D0F3B4E9700518E8E /* SPTableData.m */,
+ 170088CC0F5870E200DD6B51 /* SPQueryConsole.h */,
+ 170088CD0F5870E200DD6B51 /* SPQueryConsole.m */,
);
name = Controllers;
sourceTree = "<group>";
@@ -747,6 +752,7 @@
1789343C0F30C1DD0097539A /* SPStringAdditions.m in Sources */,
58FEF57E0F3B4E9700518E8E /* SPTableData.m in Sources */,
58C56EF50F438E120035701E /* SPDataCellFormatter.m in Sources */,
+ 170088CE0F5870E200DD6B51 /* SPQueryConsole.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};