diff options
author | Max <post@wickenrode.com> | 2015-03-17 01:37:41 +0100 |
---|---|---|
committer | Max <post@wickenrode.com> | 2015-03-17 01:37:41 +0100 |
commit | 9f2e5a6b0fafeec8f94dfa00414b0016b12194ba (patch) | |
tree | 385c72795f6d96564a7e2b2f4993ab68a6e10fb6 | |
parent | cdf6fa551b9ccfe9980baa6cb9de368b99ab985e (diff) | |
download | sequelpro-9f2e5a6b0fafeec8f94dfa00414b0016b12194ba.tar.gz sequelpro-9f2e5a6b0fafeec8f94dfa00414b0016b12194ba.tar.bz2 sequelpro-9f2e5a6b0fafeec8f94dfa00414b0016b12194ba.zip |
Allow selection of SSH client binary in prefs
Hey, I was against this, but if you want it... - just don't blame me for what might happen :shipit:
-rw-r--r-- | Frameworks/SPMySQLFramework/Source/SPMySQLConnectionProxy.h | 11 | ||||
-rw-r--r-- | Interfaces/English.lproj/Preferences.xib | 893 | ||||
-rw-r--r-- | Source/SPConstants.h | 1 | ||||
-rw-r--r-- | Source/SPConstants.m | 1 | ||||
-rw-r--r-- | Source/SPNetworkPreferencePane.h | 14 | ||||
-rw-r--r-- | Source/SPNetworkPreferencePane.m | 66 | ||||
-rw-r--r-- | Source/SPSSHTunnel.m | 34 |
7 files changed, 962 insertions, 58 deletions
diff --git a/Frameworks/SPMySQLFramework/Source/SPMySQLConnectionProxy.h b/Frameworks/SPMySQLFramework/Source/SPMySQLConnectionProxy.h index a6f84567..3622b312 100644 --- a/Frameworks/SPMySQLFramework/Source/SPMySQLConnectionProxy.h +++ b/Frameworks/SPMySQLFramework/Source/SPMySQLConnectionProxy.h @@ -33,11 +33,12 @@ * Connection proxy state constants. */ typedef enum { - SPMySQLProxyIdle = 0, - SPMySQLProxyConnecting = 1, - SPMySQLProxyWaitingForAuth = 2, - SPMySQLProxyConnected = 3, - SPMySQLProxyForwardingFailed = 4 + SPMySQLProxyIdle = 0, + SPMySQLProxyConnecting = 1, + SPMySQLProxyWaitingForAuth = 2, + SPMySQLProxyConnected = 3, + SPMySQLProxyForwardingFailed = 4, + SPMySQLProxyLaunchFailed = 5 } SPMySQLConnectionProxyState; diff --git a/Interfaces/English.lproj/Preferences.xib b/Interfaces/English.lproj/Preferences.xib index 4901f537..b39ec8a5 100644 --- a/Interfaces/English.lproj/Preferences.xib +++ b/Interfaces/English.lproj/Preferences.xib @@ -3,12 +3,12 @@ <data> <int key="IBDocument.SystemTarget">1060</int> <string key="IBDocument.SystemVersion">13F34</string> - <string key="IBDocument.InterfaceBuilderVersion">6254</string> + <string key="IBDocument.InterfaceBuilderVersion">6751</string> <string key="IBDocument.AppKitVersion">1265.21</string> <string key="IBDocument.HIToolboxVersion">698.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">6254</string> + <string key="NS.object.0">6751</string> </object> <array key="IBDocument.IntegratedClassDependencies"> <string>NSBox</string> @@ -88,9 +88,12 @@ <nil key="NSUserInterfaceItemIdentifier"/> <string key="NSWindowContentMinSize">{580, 50}</string> <object class="NSView" key="NSWindowView" id="1006"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">256</int> <string key="NSFrameSize">{580, 172}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> </object> <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> <string key="NSMinSize">{580, 72}</string> @@ -560,7 +563,7 @@ <bool key="NSWindowIsRestorable">YES</bool> </object> <object class="NSCustomView" id="594324362"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <array class="NSMutableArray" key="NSSubviews"> <object class="NSPopUpButton" id="258765966"> @@ -568,7 +571,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{201, 121}, {254, 26}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="666474856"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="562129977"> @@ -940,7 +942,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{202, 214}, {362, 18}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="502540430"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="964808674"> @@ -970,7 +971,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{11, 242}, {187, 17}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="331339372"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="996600667"> @@ -990,7 +990,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{201, 236}, {254, 26}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="521332722"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="406329678"> @@ -1024,7 +1023,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{17, 85}, {182, 17}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="929785803"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="513222356"> @@ -1044,7 +1042,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{17, 127}, {182, 17}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="258765966"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="163779676"> @@ -1064,7 +1061,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{202, 84}, {360, 18}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="302000957"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="530413242"> @@ -1089,7 +1085,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{202, 62}, {360, 18}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="997817518"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="218042555"> @@ -1114,7 +1109,6 @@ <int key="NSvFlags">1036</int> <string key="NSFrame">{{202, 156}, {360, 5}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="63384418"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -1138,7 +1132,6 @@ <int key="NSvFlags">12</int> <string key="NSFrame">{{204, 108}, {358, 5}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="227167312"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -1162,7 +1155,6 @@ <int key="NSvFlags">12</int> <string key="NSFrame">{{204, 53}, {357, 5}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="326562367"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -1186,7 +1178,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{17, 23}, {181, 17}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="155059"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="899935643"> @@ -1206,7 +1197,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{203, 20}, {38, 22}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="95243153"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="875775803"> @@ -1262,7 +1252,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{247, 23}, {316, 17}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="710086132"> <int key="NSCellFlags">68157504</int> @@ -1281,7 +1270,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{201, 169}, {254, 26}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="101736468"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="404009397"> @@ -1406,7 +1394,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{17, 175}, {182, 17}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="649933712"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="840580273"> @@ -1426,7 +1413,6 @@ <int key="NSvFlags">12</int> <string key="NSFrame">{{202, 204}, {360, 5}}</string> <reference key="NSSuperview" ref="594324362"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="343898725"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -1447,8 +1433,6 @@ </object> </array> <string key="NSFrameSize">{580, 280}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="140067361"/> <string key="NSClassName">NSView</string> </object> @@ -2025,7 +2009,7 @@ <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="1041614321"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">268</int> <array class="NSMutableArray" key="NSSubviews"> <object class="NSTextField" id="922939699"> @@ -2033,7 +2017,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{230, 174}, {332, 28}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="385216684"/> <string key="NSReuseIdentifierKey">_NS:9</string> <string key="NSAntiCompressionPriority">{250, 750}</string> @@ -2065,7 +2048,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{202, 208}, {360, 18}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="922939699"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="1060471631"> @@ -2090,7 +2072,6 @@ <int key="NSvFlags">12</int> <string key="NSFrame">{{202, 136}, {360, 5}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="894039889"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -2114,7 +2095,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{202, 150}, {360, 18}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="122803528"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="695439962"> @@ -2139,7 +2119,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{202, 110}, {360, 18}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="638138321"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="641765383"> @@ -2164,7 +2143,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{230, 87}, {332, 18}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="705623520"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="135236421"> @@ -2189,7 +2167,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{230, 41}, {332, 18}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="184242117"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="510254021"> @@ -2214,7 +2191,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{230, 64}, {332, 18}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="967639780"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="29352039"> @@ -2239,7 +2215,6 @@ <int key="NSvFlags">268</int> <string key="NSFrame">{{230, 18}, {332, 18}}</string> <reference key="NSSuperview" ref="1041614321"/> - <reference key="NSWindow"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="545580787"> <int key="NSCellFlags">67108864</int> @@ -2260,8 +2235,6 @@ </object> </array> <string key="NSFrameSize">{580, 244}</string> - <reference key="NSSuperview"/> - <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="624078196"/> <string key="NSClassName">NSView</string> </object> @@ -2537,14 +2510,88 @@ AQAAAAA</bytes> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="769132533"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <array class="NSMutableArray" key="NSSubviews"> + <object class="NSTextField" id="720655859"> + <reference key="NSNextResponder" ref="769132533"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{224, 19}, {222, 19}}</string> + <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="834405392"/> + <string key="NSReuseIdentifierKey">_NS:526</string> + <string key="NSHuggingPriority">{251, 750}</string> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="499795011"> + <int key="NSCellFlags">67108928</int> + <int key="NSCellFlags2">272632320</int> + <string key="NSContents">/path/to/ssh/binary</string> + <reference key="NSSupport" ref="320262838"/> + <string key="NSCellIdentifier">_NS:526</string> + <reference key="NSControlView" ref="720655859"/> + <reference key="NSBackgroundColor" ref="700609571"/> + <reference key="NSTextColor" ref="1035618107"/> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + <int key="NSTextFieldAlignmentRectInsetsVersion">1</int> + </object> + <object class="NSButton" id="834405392"> + <reference key="NSNextResponder" ref="769132533"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{452, 19}, {109, 19}}</string> + <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="182441151"> + <int key="NSCellFlags">-2080374784</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Changeā¦</string> + <object class="NSFont" key="NSSupport"> + <bool key="IBIsSystemFont">YES</bool> + <double key="NSSize">12</double> + <int key="NSfFlags">2586</int> + </object> + <string key="NSCellIdentifier">_NS:9</string> + <reference key="NSControlView" ref="834405392"/> + <int key="NSButtonFlags">-2038153216</int> + <int key="NSButtonFlags2">164</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSTextField" id="785257247"> + <reference key="NSNextResponder" ref="769132533"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{16, 19}, {204, 19}}</string> + <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="720655859"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="463255296"> + <int key="NSCellFlags">67108928</int> + <int key="NSCellFlags2">71304192</int> + <string key="NSContents">SSH Client:</string> + <reference key="NSSupport" ref="320262838"/> + <reference key="NSControlView" ref="785257247"/> + <reference key="NSBackgroundColor" ref="700609571"/> + <reference key="NSTextColor" ref="1035618107"/> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + <int key="NSTextFieldAlignmentRectInsetsVersion">1</int> + </object> <object class="NSTextField" id="746894224"> <reference key="NSNextResponder" ref="769132533"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{17, 56}, {204, 17}}</string> + <string key="NSFrame">{{17, 90}, {204, 17}}</string> <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="591009529"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="1057393276"> <int key="NSCellFlags">67108928</int> @@ -2561,8 +2608,10 @@ AQAAAAA</bytes> <object class="NSButton" id="64545568"> <reference key="NSNextResponder" ref="769132533"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{224, 19}, {338, 18}}</string> + <string key="NSFrame">{{224, 53}, {338, 18}}</string> <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="149400894"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="151662644"> <int key="NSCellFlags">-2080374784</int> @@ -2584,8 +2633,10 @@ AQAAAAA</bytes> <object class="NSTextField" id="591009529"> <reference key="NSNextResponder" ref="769132533"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{226, 54}, {50, 22}}</string> + <string key="NSFrame">{{226, 88}, {50, 22}}</string> <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="794722267"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="170658213"> <int key="NSCellFlags">-1804599231</int> @@ -2636,8 +2687,10 @@ AQAAAAA</bytes> <object class="NSTextField" id="794722267"> <reference key="NSNextResponder" ref="769132533"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{281, 57}, {282, 17}}</string> + <string key="NSFrame">{{281, 91}, {282, 17}}</string> <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="688014148"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="619604330"> <int key="NSCellFlags">67108928</int> @@ -2651,11 +2704,37 @@ AQAAAAA</bytes> <bool key="NSAllowsLogicalLayoutDirection">NO</bool> <int key="NSTextFieldAlignmentRectInsetsVersion">1</int> </object> + <object class="NSBox" id="149400894"> + <reference key="NSNextResponder" ref="769132533"/> + <int key="NSvFlags">12</int> + <string key="NSFrame">{{226, 44}, {334, 5}}</string> + <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="785257247"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Box</string> + <reference key="NSSupport" ref="320262838"/> + <reference key="NSBackgroundColor" ref="1001357688"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes> + </object> + </object> + <int key="NSBorderType">3</int> + <int key="NSBoxType">2</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + </object> <object class="NSBox" id="688014148"> <reference key="NSNextResponder" ref="769132533"/> <int key="NSvFlags">12</int> - <string key="NSFrame">{{226, 43}, {334, 5}}</string> + <string key="NSFrame">{{226, 77}, {334, 5}}</string> <reference key="NSSuperview" ref="769132533"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="64545568"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> <int key="NSCellFlags">67108864</int> @@ -2674,11 +2753,14 @@ AQAAAAA</bytes> <bool key="NSTransparent">NO</bool> </object> </array> - <string key="NSFrameSize">{580, 93}</string> + <string key="NSFrameSize">{580, 127}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="746894224"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="1033452264"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">268</int> <array class="NSMutableArray" key="NSSubviews"> <object class="NSStepper" id="720862952"> @@ -2686,6 +2768,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{469, 291}, {15, 22}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="571822117"/> <bool key="NSEnabled">YES</bool> <object class="NSStepperCell" key="NSCell" id="241334663"> @@ -2706,6 +2789,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{439, 293}, {23, 19}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="720862952"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="546511116"> @@ -2763,6 +2847,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 294}, {162, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="277335147"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="1729"> @@ -2787,6 +2872,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{144, 24}, {101, 14}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="304684720"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="983858855"> @@ -2806,6 +2892,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{49, 24}, {93, 14}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="187965597"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="133660147"> @@ -2833,7 +2920,8 @@ AQAAAAA</bytes> <int key="NSvFlags">256</int> <string key="NSFrameSize">{220, 286}</string> <reference key="NSSuperview" ref="25515031"/> - <reference key="NSNextKeyView" ref="662661535"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="7445657"/> <bool key="NSEnabled">YES</bool> <bool key="NSAllowsLogicalLayoutDirection">NO</bool> <bool key="NSControlAllowsExpansionToolTips">YES</bool> @@ -2918,6 +3006,7 @@ AQAAAAA</bytes> </array> <string key="NSFrame">{{1, 1}, {220, 286}}</string> <reference key="NSSuperview" ref="288292400"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="953919633"/> <reference key="NSDocView" ref="953919633"/> <reference key="NSBGColor" ref="887465699"/> @@ -2928,6 +3017,7 @@ AQAAAAA</bytes> <int key="NSvFlags">-2147483392</int> <string key="NSFrame">{{-100, -100}, {15, 102}}</string> <reference key="NSSuperview" ref="288292400"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="913479800"/> <bool key="NSAllowsLogicalLayoutDirection">NO</bool> <reference key="NSTarget" ref="288292400"/> @@ -2939,6 +3029,7 @@ AQAAAAA</bytes> <int key="NSvFlags">-2147483392</int> <string key="NSFrame">{{-100, -100}, {223, 15}}</string> <reference key="NSSuperview" ref="288292400"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="25515031"/> <bool key="NSAllowsLogicalLayoutDirection">NO</bool> <int key="NSsFlags">1</int> @@ -2949,7 +3040,8 @@ AQAAAAA</bytes> </array> <string key="NSFrame">{{20, 50}, {222, 288}}</string> <reference key="NSSuperview" ref="1033452264"/> - <reference key="NSNextKeyView" ref="25515031"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="662661535"/> <int key="NSsFlags">133122</int> <reference key="NSVScroller" ref="662661535"/> <reference key="NSHScroller" ref="913479800"/> @@ -2964,6 +3056,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{20, 19}, {24, 24}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="919512780"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="373813305"> @@ -3088,6 +3181,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{439, 20}, {23, 19}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="774563613"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="248584789"> @@ -3146,6 +3240,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{269, 22}, {164, 16}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1018119488"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="273262177"> @@ -3165,6 +3260,8 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{469, 18}, {15, 22}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> <bool key="NSEnabled">YES</bool> <object class="NSStepperCell" key="NSCell" id="93125704"> <int key="NSCellFlags">67895328</int> @@ -3184,6 +3281,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{17, 362}, {182, 17}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="751188139"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="10706281"> @@ -3203,6 +3301,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{433, 353}, {133, 32}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="288292400"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="345790946"> @@ -3225,6 +3324,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{204, 360}, {207, 22}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="863604695"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="66452133"> @@ -3245,6 +3345,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 322}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="378838807"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="823431848"> @@ -3269,6 +3370,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 267}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="397485802"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="743257684"> @@ -3293,6 +3395,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 209}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="140155660"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="231642073"> @@ -3317,6 +3420,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 238}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1030846368"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="491730308"> @@ -3341,6 +3445,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 162}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="827082642"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="496801621"> @@ -3365,6 +3470,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 51}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="748242000"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="131748905"> @@ -3389,6 +3495,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 79}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="782193237"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="357514733"> @@ -3413,6 +3520,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{270, 134}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="892250776"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="92164221"> @@ -3437,6 +3545,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{370, 109}, {29, 19}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="107658761"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="409964321"> @@ -3495,6 +3604,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{269, 111}, {96, 14}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="184945490"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="1060023867"> @@ -3514,6 +3624,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{405, 107}, {15, 22}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="1009372112"/> <bool key="NSEnabled">YES</bool> <object class="NSStepperCell" key="NSCell" id="171005061"> @@ -3534,6 +3645,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{423, 111}, {140, 14}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="961372492"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="201150384"> @@ -3553,6 +3665,7 @@ AQAAAAA</bytes> <int key="NSvFlags">-2147483380</int> <string key="NSFrame">{{269, 1}, {292, 18}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="161634003"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="420702000"> @@ -3577,6 +3690,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{370, 184}, {29, 19}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="682694750"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="992523117"> @@ -3635,6 +3749,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{269, 186}, {96, 14}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="16021182"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="499174965"> @@ -3654,6 +3769,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{405, 182}, {15, 22}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="659498064"/> <bool key="NSEnabled">YES</bool> <object class="NSStepperCell" key="NSCell" id="266600395"> @@ -3674,6 +3790,7 @@ AQAAAAA</bytes> <int key="NSvFlags">268</int> <string key="NSFrame">{{423, 186}, {140, 14}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="787536920"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="516695546"> @@ -3693,6 +3810,7 @@ AQAAAAA</bytes> <int key="NSvFlags">12</int> <string key="NSFrame">{{204, 349}, {356, 5}}</string> <reference key="NSSuperview" ref="1033452264"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="742042283"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -3713,6 +3831,8 @@ AQAAAAA</bytes> </object> </array> <string key="NSFrameSize">{580, 400}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="676806550"/> <string key="NSClassName">NSView</string> </object> @@ -3748,6 +3868,7 @@ AQAAAAA</bytes> <int key="NSvFlags">274</int> <string key="NSFrame">{{2, 42}, {575, 34}}</string> <reference key="NSSuperview" ref="301032184"/> + <reference key="NSNextKeyView" ref="805072777"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="219723569"> <int key="NSCellFlags">67108864</int> @@ -3763,6 +3884,7 @@ AQAAAAA</bytes> </object> </array> <string key="NSFrameSize">{579, 83}</string> + <reference key="NSNextKeyView" ref="200831972"/> <string key="NSClassName">NSView</string> </object> <object class="NSCustomView" id="46104894"> @@ -3951,6 +4073,128 @@ AQAAAAA</bytes> </object> </array> </object> + <object class="NSCustomView" id="746834821"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">268</int> + <array class="NSMutableArray" key="NSSubviews"> + <object class="NSButton" id="469463515"> + <reference key="NSNextResponder" ref="746834821"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{275, 16}, {135, 32}}</string> + <reference key="NSSuperview" ref="746834821"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="9671638"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="271450952"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents">Changeā¦</string> + <reference key="NSSupport" ref="320262838"/> + <string key="NSCellIdentifier">_NS:9</string> + <reference key="NSControlView" ref="469463515"/> + <int key="NSButtonFlags">-2038284288</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSTextField" id="9671638"> + <reference key="NSNextResponder" ref="746834821"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{-2, 0}, {408, 14}}</string> + <reference key="NSSuperview" ref="746834821"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> + <string key="NSReuseIdentifierKey">_NS:526</string> + <string key="NSHuggingPriority">{251, 750}</string> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="769084820"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">272629760</int> + <string key="NSContents">Enter the full absolute path to your SSH binary.</string> + <reference key="NSSupport" ref="26"/> + <string key="NSCellIdentifier">_NS:526</string> + <reference key="NSControlView" ref="9671638"/> + <reference key="NSBackgroundColor" ref="700609571"/> + <reference key="NSTextColor" ref="1035618107"/> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + <bool key="NSControlAutosetMaxLayoutWidth">YES</bool> + <int key="NSTextFieldAlignmentRectInsetsVersion">1</int> + </object> + <object class="NSTextField" id="312899634"> + <reference key="NSNextResponder" ref="746834821"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{0, 22}, {273, 22}}</string> + <reference key="NSSuperview" ref="746834821"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="469463515"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="814753188"> + <int key="NSCellFlags">-1804599231</int> + <int key="NSCellFlags2">272630784</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="320262838"/> + <string key="NSPlaceholderString">System default</string> + <string key="NSCellIdentifier">_NS:9</string> + <reference key="NSControlView" ref="312899634"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="1001357688"/> + <reference key="NSTextColor" ref="6928728"/> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + <int key="NSTextFieldAlignmentRectInsetsVersion">1</int> + </object> + </array> + <string key="NSFrameSize">{404, 44}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="312899634"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <nil key="NSClassName"/> + </object> + <object class="NSCustomView" id="534518004"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">268</int> + <array class="NSMutableArray" key="NSSubviews"> + <object class="NSButton" id="436350900"> + <reference key="NSNextResponder" ref="534518004"/> + <int key="NSvFlags">266</int> + <string key="NSFrame">{{18, 18}, {273, 18}}</string> + <reference key="NSSuperview" ref="534518004"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="202312806"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Show hidden files</string> + <reference key="NSSupport" ref="320262838"/> + <reference key="NSControlView" ref="436350900"/> + <int key="NSButtonFlags">1211912448</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSNormalImage" ref="752798171"/> + <reference key="NSAlternateImage" ref="888311049"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + </array> + <string key="NSFrameSize">{309, 54}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="436350900"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <nil key="NSClassName"/> + </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> <bool key="usesAutoincrementingIDs">NO</bool> @@ -5440,6 +5684,46 @@ AQAAAAA</bytes> <string key="id">2154</string> </object> <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">sshClientPickerView</string> + <reference key="source" ref="424937675"/> + <reference key="destination" ref="746834821"/> + </object> + <string key="id">gUn-jl-Tfb</string> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">sshClientPath</string> + <reference key="source" ref="424937675"/> + <reference key="destination" ref="312899634"/> + </object> + <string key="id">eUn-5b-NBa</string> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">pickSSHClient:</string> + <reference key="source" ref="424937675"/> + <reference key="destination" ref="834405392"/> + </object> + <string key="id">zcA-5j-KFq</string> + </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">pickSSHClientViaFileBrowser:</string> + <reference key="source" ref="424937675"/> + <reference key="destination" ref="469463515"/> + </object> + <string key="id">w0e-lI-UbS</string> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">hiddenFileView</string> + <reference key="source" ref="424937675"/> + <reference key="destination" ref="534518004"/> + </object> + <string key="id">r1S-eS-uJK</string> + </object> + <object class="IBConnectionRecord"> <object class="IBBindingConnection" key="connection"> <string key="label">value: values.CustomQuerySoftIndent</string> <reference key="source" ref="378838807"/> @@ -5601,6 +5885,48 @@ AQAAAAA</bytes> </object> <object class="IBConnectionRecord"> <object class="IBBindingConnection" key="connection"> + <string key="label">value: values.SSHClientPath</string> + <reference key="source" ref="720655859"/> + <reference key="destination" ref="151174232"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="720655859"/> + <reference key="NSDestination" ref="151174232"/> + <string key="NSLabel">value: values.SSHClientPath</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">values.SSHClientPath</string> + <object class="NSDictionary" key="NSOptions"> + <string key="NS.key.0">NSNullPlaceholder</string> + <string key="NS.object.0">System default</string> + </object> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <string key="id">89d-3h-dgq</string> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: values.KeySelectionHiddenFilesVisibility</string> + <reference key="source" ref="436350900"/> + <reference key="destination" ref="151174232"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="436350900"/> + <reference key="NSDestination" ref="151174232"/> + <string key="NSLabel">value: values.KeySelectionHiddenFilesVisibility</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">values.KeySelectionHiddenFilesVisibility</string> + <dictionary key="NSOptions"> + <integer value="0" key="NSMultipleValuesPlaceholder"/> + <integer value="0" key="NSNoSelectionPlaceholder"/> + <integer value="0" key="NSNotApplicablePlaceholder"/> + <integer value="0" key="NSNullPlaceholder"/> + </dictionary> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <string key="id">WP6-C7-FqP</string> + </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> <string key="label">value: values.SPCustomQueryEditorCompleteWithBackticks</string> <reference key="source" ref="961372492"/> <reference key="destination" ref="151174232"/> @@ -6271,6 +6597,10 @@ AQAAAAA</bytes> <reference ref="794722267"/> <reference ref="591009529"/> <reference ref="64545568"/> + <reference ref="149400894"/> + <reference ref="834405392"/> + <reference ref="720655859"/> + <reference ref="785257247"/> </array> <reference key="parent" ref="0"/> <string key="objectName">Network</string> @@ -7782,6 +8112,122 @@ AQAAAAA</bytes> <reference key="object" ref="1675491"/> <reference key="parent" ref="922939699"/> </object> + <object class="IBObjectRecord"> + <string key="id">HWX-AV-xGx</string> + <reference key="object" ref="149400894"/> + <reference key="parent" ref="769132533"/> + </object> + <object class="IBObjectRecord"> + <string key="id">9CM-2a-2JU</string> + <reference key="object" ref="785257247"/> + <array class="NSMutableArray" key="children"> + <reference ref="463255296"/> + </array> + <reference key="parent" ref="769132533"/> + </object> + <object class="IBObjectRecord"> + <string key="id">4Us-KF-Ysj</string> + <reference key="object" ref="463255296"/> + <reference key="parent" ref="785257247"/> + </object> + <object class="IBObjectRecord"> + <string key="id">Rsg-4x-YV2</string> + <reference key="object" ref="834405392"/> + <array class="NSMutableArray" key="children"> + <reference ref="182441151"/> + </array> + <reference key="parent" ref="769132533"/> + </object> + <object class="IBObjectRecord"> + <string key="id">MhF-tS-nrE</string> + <reference key="object" ref="182441151"/> + <reference key="parent" ref="834405392"/> + </object> + <object class="IBObjectRecord"> + <string key="id">GcY-yy-sZn</string> + <reference key="object" ref="720655859"/> + <array class="NSMutableArray" key="children"> + <reference ref="499795011"/> + </array> + <reference key="parent" ref="769132533"/> + </object> + <object class="IBObjectRecord"> + <string key="id">29D-bG-y15</string> + <reference key="object" ref="499795011"/> + <reference key="parent" ref="720655859"/> + </object> + <object class="IBObjectRecord"> + <string key="id">D6L-76-0Ik</string> + <reference key="object" ref="746834821"/> + <array class="NSMutableArray" key="children"> + <reference ref="312899634"/> + <reference ref="9671638"/> + <reference ref="469463515"/> + </array> + <reference key="parent" ref="0"/> + <string key="objectName">Pick SSH client binary Accessory View</string> + </object> + <object class="IBObjectRecord"> + <string key="id">yQV-9I-7us</string> + <reference key="object" ref="312899634"/> + <array class="NSMutableArray" key="children"> + <reference ref="814753188"/> + </array> + <reference key="parent" ref="746834821"/> + </object> + <object class="IBObjectRecord"> + <string key="id">eS9-G4-zgt</string> + <reference key="object" ref="814753188"/> + <reference key="parent" ref="312899634"/> + </object> + <object class="IBObjectRecord"> + <string key="id">ZHD-xB-ee1</string> + <reference key="object" ref="9671638"/> + <array class="NSMutableArray" key="children"> + <reference ref="769084820"/> + </array> + <reference key="parent" ref="746834821"/> + </object> + <object class="IBObjectRecord"> + <string key="id">yLf-F5-exv</string> + <reference key="object" ref="769084820"/> + <reference key="parent" ref="9671638"/> + </object> + <object class="IBObjectRecord"> + <string key="id">hEB-5Q-jZ8</string> + <reference key="object" ref="469463515"/> + <array class="NSMutableArray" key="children"> + <reference ref="271450952"/> + </array> + <reference key="parent" ref="746834821"/> + </object> + <object class="IBObjectRecord"> + <string key="id">1nt-aH-gM4</string> + <reference key="object" ref="271450952"/> + <reference key="parent" ref="469463515"/> + </object> + <object class="IBObjectRecord"> + <string key="id">GEn-6y-U3F</string> + <reference key="object" ref="534518004"/> + <array class="NSMutableArray" key="children"> + <reference ref="436350900"/> + </array> + <reference key="parent" ref="0"/> + <string key="objectName">Show Hidden Files Accessory View</string> + </object> + <object class="IBObjectRecord"> + <string key="id">bAQ-gF-4V2</string> + <reference key="object" ref="436350900"/> + <array class="NSMutableArray" key="children"> + <reference ref="202312806"/> + </array> + <reference key="parent" ref="534518004"/> + </object> + <object class="IBObjectRecord"> + <string key="id">apR-gz-ej3</string> + <reference key="object" ref="202312806"/> + <reference key="parent" ref="436350900"/> + </object> </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> @@ -8011,6 +8457,7 @@ AQAAAAA</bytes> <string key="1873.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="1874.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="1875.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="1nt-aH-gM4.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="2040.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="2041.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -8074,6 +8521,7 @@ AQAAAAA</bytes> <string key="27.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="29.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="29D-bG-y15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="30.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="31.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="32.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -8097,6 +8545,7 @@ AQAAAAA</bytes> <string key="47.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="48.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="49.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="4Us-KF-Ysj.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="50.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="512.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <array class="NSMutableArray" key="512.IBUserGuides"> @@ -8165,6 +8614,8 @@ AQAAAAA</bytes> <int key="affinity">0</int> </object> </array> + <reference key="641.IBNSViewMetadataGestureRecognizers" ref="0"/> + <string key="641.IBPersistedLastKnownCanvasPosition">{-460, 486.5}</string> <string key="641.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <array class="NSMutableArray" key="641.IBUserGuides"/> <string key="642.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -8237,11 +8688,31 @@ AQAAAAA</bytes> <string key="97.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="98.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="99.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="9CM-2a-2JU.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference key="D6L-76-0Ik.IBNSViewMetadataGestureRecognizers" ref="0"/> + <string key="D6L-76-0Ik.IBPersistedLastKnownCanvasPosition">{-482, -2}</string> + <string key="D6L-76-0Ik.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference key="GEn-6y-U3F.IBNSViewMetadataGestureRecognizers" ref="0"/> + <string key="GEn-6y-U3F.IBPersistedLastKnownCanvasPosition">{-609.5, 138}</string> + <string key="GEn-6y-U3F.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="GcY-yy-sZn.IBNSControlSetsMaxLayoutWidthAtFirstLayoutMetadataKey"/> + <string key="GcY-yy-sZn.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="HWX-AV-xGx.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="JMS-lH-5Te.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="MhF-tS-nrE.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="Rsg-4x-YV2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="YES" key="ZHD-xB-ee1.IBNSControlSetsMaxLayoutWidthAtFirstLayoutMetadataKey"/> + <string key="ZHD-xB-ee1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="apR-gz-ej3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="bAQ-gF-4V2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES" key="cv6-Te-MPL.IBNSControlSetsMaxLayoutWidthAtFirstLayoutMetadataKey"/> <string key="cv6-Te-MPL.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="eS9-G4-zgt.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="hEB-5Q-jZ8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="q6h-n2-3a8.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="vGo-VU-lIt.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="yLf-F5-exv.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="yQV-9I-7us.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> </dictionary> <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> <nil key="activeLocalization"/> @@ -8519,12 +8990,66 @@ AQAAAAA</bytes> <object class="IBPartialClassDescription"> <string key="className">SPNetworkPreferencePane</string> <string key="superclassName">SPPreferencePane</string> + <dictionary class="NSMutableDictionary" key="actions"> + <string key="pickSSHClient:">id</string> + <string key="pickSSHClientViaFileBrowser:">id</string> + </dictionary> + <dictionary class="NSMutableDictionary" key="actionInfosByName"> + <object class="IBActionInfo" key="pickSSHClient:"> + <string key="name">pickSSHClient:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo" key="pickSSHClientViaFileBrowser:"> + <string key="name">pickSSHClientViaFileBrowser:</string> + <string key="candidateClassName">id</string> + </object> + </dictionary> + <dictionary class="NSMutableDictionary" key="outlets"> + <string key="hiddenFileView">NSView</string> + <string key="sshClientPath">NSTextField</string> + <string key="sshClientPickerView">NSView</string> + </dictionary> + <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName"> + <object class="IBToOneOutletInfo" key="hiddenFileView"> + <string key="name">hiddenFileView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo" key="sshClientPath"> + <string key="name">sshClientPath</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo" key="sshClientPickerView"> + <string key="name">sshClientPickerView</string> + <string key="candidateClassName">NSView</string> + </object> + </dictionary> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> <string key="minorKey">../Source/SPNetworkPreferencePane.h</string> </object> </object> <object class="IBPartialClassDescription"> + <string key="className">SPNetworkPreferencePane</string> + <dictionary class="NSMutableDictionary" key="actions"> + <string key="pickSSHClient:">id</string> + <string key="pickSSHClientViaFileBrowser:">id</string> + </dictionary> + <dictionary class="NSMutableDictionary" key="actionInfosByName"> + <object class="IBActionInfo" key="pickSSHClient:"> + <string key="name">pickSSHClient:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo" key="pickSSHClientViaFileBrowser:"> + <string key="name">pickSSHClientViaFileBrowser:</string> + <string key="candidateClassName">id</string> + </object> + </dictionary> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">../Source/SPNetworkPreferencePane.m</string> + </object> + </object> + <object class="IBPartialClassDescription"> <string key="className">SPNotificationsPreferencePane</string> <string key="superclassName">SPPreferencePane</string> <object class="NSMutableDictionary" key="outlets"> @@ -8673,6 +9198,284 @@ AQAAAAA</bytes> </array> <array class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> <object class="IBPartialClassDescription"> + <string key="className">NSActionCell</string> + <string key="superclassName">NSCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <string key="superclassName">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSBox</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSBox.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButton</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSButton.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButtonCell</string> + <string key="superclassName">NSActionCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSCell</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSControl</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSControl.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSController</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSDateFormatter</string> + <string key="superclassName">NSFormatter</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSDateFormatter.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSFormatter</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSImageCell</string> + <string key="superclassName">NSCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSImageCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSImageView</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSImageView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenu</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenuItem</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenuItemCell</string> + <string key="superclassName">NSButtonCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMenuItemCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSNumberFormatter</string> + <string key="superclassName">NSFormatter</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSNumberFormatter.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSPopUpButton</string> + <string key="superclassName">NSButton</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSPopUpButton.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSPopUpButtonCell</string> + <string key="superclassName">NSMenuItemCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSPopUpButtonCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSResponder</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSScrollView</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSScrollView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSScroller</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSScroller.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSStepper</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSStepper.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSStepperCell</string> + <string key="superclassName">NSActionCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSStepperCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTableColumn</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTableColumn.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTableView</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextField</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextField.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextFieldCell</string> + <string key="superclassName">NSActionCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSUserDefaultsController</string> + <string key="superclassName">NSController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSUserDefaultsController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <string key="superclassName">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSViewController</string> + <string key="superclassName">NSResponder</string> + <object class="NSMutableDictionary" key="outlets"> + <string key="NS.key.0">view</string> + <string key="NS.object.0">NSView</string> + </object> + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> + <string key="NS.key.0">view</string> + <object class="IBToOneOutletInfo" key="NS.object.0"> + <string key="name">view</string> + <string key="candidateClassName">NSView</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSViewController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <string key="superclassName">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindowController</string> + <string key="superclassName">NSResponder</string> + <object class="NSMutableDictionary" key="actions"> + <string key="NS.key.0">showWindow:</string> + <string key="NS.object.0">id</string> + </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <string key="NS.key.0">showWindow:</string> + <object class="IBActionInfo" key="NS.object.0"> + <string key="name">showWindow:</string> + <string key="candidateClassName">id</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> <string key="className">SUUpdater</string> <string key="superclassName">NSObject</string> <object class="NSMutableDictionary" key="actions"> diff --git a/Source/SPConstants.h b/Source/SPConstants.h index 728d213a..38e05cc5 100644 --- a/Source/SPConstants.h +++ b/Source/SPConstants.h @@ -428,6 +428,7 @@ extern NSString *SPHiddenKeyFileVisibilityKey; extern NSString *SPSelectionDetailTypeIndexed; extern NSString *SPSelectionDetailTypePrimaryKeyed; extern NSString *SPSSHEnableMuxingPreference; +extern NSString *SPSSHClientPath; // URLs extern NSString *SPDonationsURL; diff --git a/Source/SPConstants.m b/Source/SPConstants.m index 292acb3c..fad42bc6 100644 --- a/Source/SPConstants.m +++ b/Source/SPConstants.m @@ -229,6 +229,7 @@ NSString *SPHiddenKeyFileVisibilityKey = @"KeySelectionHiddenFilesVisi NSString *SPSelectionDetailTypeIndexed = @"SelectionDetailTypeNSIndexSet"; NSString *SPSelectionDetailTypePrimaryKeyed = @"SelectionDetailTypePrimaryKeyedDetails"; NSString *SPSSHEnableMuxingPreference = @"SSHMultiplexingEnabled"; +NSString *SPSSHClientPath = @"SSHClientPath"; // URLs NSString *SPDonationsURL = @"http://www.sequelpro.com/donate/"; diff --git a/Source/SPNetworkPreferencePane.h b/Source/SPNetworkPreferencePane.h index dc99b3e2..37408c32 100644 --- a/Source/SPNetworkPreferencePane.h +++ b/Source/SPNetworkPreferencePane.h @@ -37,6 +37,16 @@ * * Network preference pane controller. */ -@interface SPNetworkPreferencePane : SPPreferencePane <SPPreferencePaneProtocol> - +@interface SPNetworkPreferencePane : SPPreferencePane <SPPreferencePaneProtocol> +{ + IBOutlet NSView *sshClientPickerView; + IBOutlet NSTextField *sshClientPath; + IBOutlet NSView *hiddenFileView; + +@private + NSAlert *_currentAlert; + NSOpenPanel *_currentFilePanel; +} +- (IBAction)pickSSHClientViaFileBrowser:(id)sender; +- (IBAction)pickSSHClient:(id)sender; @end diff --git a/Source/SPNetworkPreferencePane.m b/Source/SPNetworkPreferencePane.m index d3e2f52f..376ba39f 100644 --- a/Source/SPNetworkPreferencePane.m +++ b/Source/SPNetworkPreferencePane.m @@ -30,6 +30,10 @@ #import "SPNetworkPreferencePane.h" +@interface SPNetworkPreferencePane (Private) +- (void)updateHiddenFiles; +@end + @implementation SPNetworkPreferencePane #pragma mark - @@ -65,4 +69,66 @@ return NO; } +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context +{ + if([SPHiddenKeyFileVisibilityKey isEqualTo:keyPath]) { + [self updateHiddenFiles]; + } +} + +- (void)updateHiddenFiles +{ + [_currentFilePanel setShowsHiddenFiles:[prefs boolForKey:SPHiddenKeyFileVisibilityKey]]; +} + +- (IBAction)pickSSHClientViaFileBrowser:(id)sender +{ + _currentFilePanel = [NSOpenPanel openPanel]; + [_currentFilePanel setCanChooseFiles:YES]; + [_currentFilePanel setCanChooseDirectories:NO]; + [_currentFilePanel setAllowsMultipleSelection:NO]; + [_currentFilePanel setAccessoryView:hiddenFileView]; + [self updateHiddenFiles]; + + [prefs addObserver:self + forKeyPath:SPHiddenKeyFileVisibilityKey + options:NSKeyValueObservingOptionNew + context:NULL]; + + [_currentFilePanel beginSheetModalForWindow:[_currentAlert window] completionHandler:^(NSInteger result) { + if(result == NSFileHandlingPanelOKButton) [sshClientPath setStringValue:[[_currentFilePanel URL] path]]; + + [prefs removeObserver:self forKeyPath:SPHiddenKeyFileVisibilityKey]; + + _currentFilePanel = nil; + }]; +} + +- (IBAction)pickSSHClient:(id)sender +{ + //take value from user defaults + NSString *oldPath = [prefs stringForKey:SPSSHClientPath]; + if([oldPath length]) [sshClientPath setStringValue:oldPath]; + + // set up dialog + _currentAlert = [[NSAlert alloc] init]; //needs to be ivar so we can attach the OpenPanel later + [_currentAlert setAccessoryView:sshClientPickerView]; + [_currentAlert setAlertStyle:NSWarningAlertStyle]; + [_currentAlert setMessageText:NSLocalizedString(@"Unsupported configuration!",@"Preferences : Network : Custom SSH client : warning dialog title")]; + [_currentAlert setInformativeText:NSLocalizedString(@"Sequel Pro only supports and is tested with the default OpenSSH client versions included with Mac OS X. Using different clients might cause connection issues, security risks or not work at all.\n\nPlease be aware, that we cannot provide support for such configurations.",@"Preferences : Network : Custom SSH client : warning dialog message")]; + [_currentAlert addButtonWithTitle:NSLocalizedString(@"OK",@"Preferences : Network : Custom SSH client : warning dialog : accept button")]; + [_currentAlert addButtonWithTitle:NSLocalizedString(@"Cancel",@"Preferences : Network : Custom SSH client : warning dialog : cancel button")]; + + if([_currentAlert runModal] == NSAlertFirstButtonReturn) { + //store new value to user defaults + NSString *newPath = [sshClientPath stringValue]; + if(![newPath length]) + [prefs removeObjectForKey:SPSSHClientPath]; + else + [prefs setObject:newPath forKey:SPSSHClientPath]; + } + + SPClear(_currentAlert); +} + @end diff --git a/Source/SPSSHTunnel.m b/Source/SPSSHTunnel.m index e09d0ce2..8e9ffb13 100644 --- a/Source/SPSSHTunnel.m +++ b/Source/SPSSHTunnel.m @@ -309,7 +309,20 @@ // Set up the NSTask task = [[NSTask alloc] init]; - [task setLaunchPath: @"/usr/bin/ssh"]; + NSString *launchPath = @"/usr/bin/ssh"; + NSString *userSSHPath = [[NSUserDefaults standardUserDefaults] stringForKey:SPSSHClientPath]; + + if([userSSHPath length]) { + launchPath = userSSHPath; + // And I'm sure we will get issue reports about it anyway! + [debugMessagesLock lock]; + [debugMessages addObject:@"################################################################"]; + [debugMessages addObject:[NSString stringWithFormat:@"# %@",NSLocalizedString(@"Custom SSH binary enabled. Disable in Preferences to rule out incompatibilities!", @"SSH connection : debug header with user-defined ssh binary")]]; + [debugMessages addObject:@"################################################################"]; + [debugMessagesLock unlock]; + } + + [task setLaunchPath:launchPath]; // Prepare to set up the arguments for the task taskArguments = [[NSMutableArray alloc] init]; @@ -413,11 +426,20 @@ object:[standardError fileHandleForReading]]; [[standardError fileHandleForReading] waitForDataInBackgroundAndNotify]; - // Launch and run the tunnel - [task launch]; - - // Listen for output - [task waitUntilExit]; + @try { + // Launch and run the tunnel + [task launch]; //throws for invalid paths, missing +x permission + + // Listen for output + [task waitUntilExit]; + } + @catch (NSException *e) { + connectionState = SPMySQLProxyLaunchFailed; + // Log the exception. Could be improved by showing a dedicated alert instead + [debugMessagesLock lock]; + [debugMessages addObject:[NSString stringWithFormat:@"%@: %@\n", [e name], [e reason]]]; + [debugMessagesLock unlock]; + } // On tunnel close, clean up, ready for re-use if the delegate reconnects. SPClear(task); |