aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2009-02-21 00:28:09 +0000
committerrowanbeentje <rowan@beent.je>2009-02-21 00:28:09 +0000
commitbb8dfb0ad769b551ad2fd6944315c5292246ad7e (patch)
tree47090a471fcaa0af89ef02a719f2a4ba18538f3d
parent966867d3544e70e8fde0d2dbec8ef32d674925b1 (diff)
downloadsequelpro-bb8dfb0ad769b551ad2fd6944315c5292246ad7e.tar.gz
sequelpro-bb8dfb0ad769b551ad2fd6944315c5292246ad7e.tar.bz2
sequelpro-bb8dfb0ad769b551ad2fd6944315c5292246ad7e.zip
Deselect favorites when any detail other than the password is edited. This improves clarity, but also fixes an issue: if a connection with amended details failed, the default favourite details are reloaded in the sheet if a favorite is selected. This change allows a connection to fail and the actual used details to be reshown in the sheet.
-rw-r--r--Interfaces/English.lproj/DBView.xib62
-rw-r--r--Source/TableDocument.h3
-rw-r--r--Source/TableDocument.m16
3 files changed, 75 insertions, 6 deletions
diff --git a/Interfaces/English.lproj/DBView.xib b/Interfaces/English.lproj/DBView.xib
index d3b923ac..978f8323 100644
--- a/Interfaces/English.lproj/DBView.xib
+++ b/Interfaces/English.lproj/DBView.xib
@@ -8,6 +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"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
@@ -3161,7 +3162,7 @@
<string>WebURLsWithTitlesPboardType</string>
</object>
</object>
- <string key="NSFrameSize">{626, 41}</string>
+ <string key="NSFrameSize">{626, 14}</string>
<reference key="NSSuperview" ref="1072692119"/>
<object class="NSTextContainer" key="NSTextContainer" id="326170846">
<object class="NSLayoutManager" key="NSLayoutManager">
@@ -4052,7 +4053,7 @@
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSWindowContentMinSize">{256, 191}</string>
<object class="NSView" key="NSWindowView" id="586457094">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -4631,6 +4632,7 @@
</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>
@@ -4789,7 +4791,7 @@
<object class="NSTextView" id="798764405">
<reference key="NSNextResponder" ref="593223452"/>
<int key="NSvFlags">2322</int>
- <string key="NSFrameSize">{588, 72}</string>
+ <string key="NSFrameSize">{588, 0}</string>
<reference key="NSSuperview" ref="593223452"/>
<object class="NSTextContainer" key="NSTextContainer" id="623412409">
<object class="NSLayoutManager" key="NSLayoutManager">
@@ -11910,6 +11912,54 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
</object>
<int key="connectionID">4713</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="252686319"/>
+ <reference key="destination" ref="427689665"/>
+ </object>
+ <int key="connectionID">4714</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="744530295"/>
+ <reference key="destination" ref="427689665"/>
+ </object>
+ <int key="connectionID">4715</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="387080032"/>
+ <reference key="destination" ref="427689665"/>
+ </object>
+ <int key="connectionID">4716</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="452595742"/>
+ <reference key="destination" ref="427689665"/>
+ </object>
+ <int key="connectionID">4717</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="591248388"/>
+ <reference key="destination" ref="427689665"/>
+ </object>
+ <int key="connectionID">4718</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">nextKeyView</string>
+ <reference key="source" ref="591248388"/>
+ <reference key="destination" ref="632312830"/>
+ </object>
+ <int key="connectionID">4719</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -19022,8 +19072,8 @@ IGRvIHlvdSB3YW50IHRvIGFkZCBmb3IgdGhpcyBmaWVsZD8</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{547, 388}, {519, 335}}</string>
- <string>{{547, 388}, {519, 335}}</string>
+ <string>{{481, 388}, {519, 335}}</string>
+ <string>{{481, 388}, {519, 335}}</string>
<reference ref="9"/>
<string>{{136, 447}, {519, 335}}</string>
<reference ref="8"/>
@@ -19895,7 +19945,7 @@ Y2hhbmdlIHRoZSBvcmRlcg</string>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">4713</int>
+ <int key="maxID">4719</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
diff --git a/Source/TableDocument.h b/Source/TableDocument.h
index 52429c7b..61b770c3 100644
--- a/Source/TableDocument.h
+++ b/Source/TableDocument.h
@@ -203,6 +203,9 @@
- (void)willQueryString:(NSString *)query;
- (void)queryGaveError:(NSString *)error;
+// Connection sheet delegate methods
+- (void) controlTextDidChange:(NSNotification *)aNotification;
+
//splitView delegate methods
- (BOOL)splitView:(NSSplitView *)sender canCollapseSubview:(NSView *)subview;
- (float)splitView:(NSSplitView *)sender constrainMaxCoordinate:(float)proposedMax ofSubviewAt:(int)offset;
diff --git a/Source/TableDocument.m b/Source/TableDocument.m
index 10ef7dca..6fae3a0b 100644
--- a/Source/TableDocument.m
+++ b/Source/TableDocument.m
@@ -1515,6 +1515,22 @@ invoked when query gave an error
[self showErrorInConsole:[NSString stringWithFormat:@"/* ERROR %@ */ %@;\n", currentTime, error]];
}
+#pragma mark Connection sheet delegate methods
+
+/**
+ * When a favorite is selected, and the connection details are edited, deselect the favorite;
+ * this is clearer and also prevents a failed connection from being repopulated with the
+ * favorite's details instead of the last used details.
+ * This method allows the password to be changed without altering the selection.
+ */
+- (void) controlTextDidChange:(NSNotification *)aNotification
+{
+ if ([aNotification object] == hostField || [aNotification object] == userField || [aNotification object] == databaseField
+ || [aNotification object] == socketField || [aNotification object] == portField) {
+ [favoritesController setSelectionIndexes:[NSIndexSet indexSet]];
+ }
+}
+
#pragma mark SplitView delegate methods
/**