aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Interfaces/English.lproj/ProgressIndicatorLayer.xib241
-rw-r--r--Source/NSNotificationAdditions.h34
-rw-r--r--Source/NSNotificationAdditions.m75
-rw-r--r--Source/TableContent.m3
-rw-r--r--Source/TableDocument.h2
-rw-r--r--Source/TableDocument.m18
-rw-r--r--Source/TablesList.m12
-rw-r--r--Source/YRKSpinningProgressIndicator.m1
-rw-r--r--sequel-pro.xcodeproj/project.pbxproj6
9 files changed, 290 insertions, 102 deletions
diff --git a/Interfaces/English.lproj/ProgressIndicatorLayer.xib b/Interfaces/English.lproj/ProgressIndicatorLayer.xib
index de3df433..54d32869 100644
--- a/Interfaces/English.lproj/ProgressIndicatorLayer.xib
+++ b/Interfaces/English.lproj/ProgressIndicatorLayer.xib
@@ -2,10 +2,10 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">10B504</string>
+ <string key="IBDocument.SystemVersion">10C540</string>
<string key="IBDocument.InterfaceBuilderVersion">740</string>
- <string key="IBDocument.AppKitVersion">1038.2</string>
- <string key="IBDocument.HIToolboxVersion">437.00</string>
+ <string key="IBDocument.AppKitVersion">1038.25</string>
+ <string key="IBDocument.HIToolboxVersion">458.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
@@ -21,7 +21,7 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="1"/>
+ <integer value="10"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -63,76 +63,125 @@
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSCustomView" id="602680912">
+ <object class="NSBox" id="234202374">
<reference key="NSNextResponder" ref="950529842"/>
- <int key="NSvFlags">274</int>
- <string key="NSFrame">{{50, 84}, {160, 160}}</string>
+ <int key="NSvFlags">12</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSView" id="172592959">
+ <reference key="NSNextResponder" ref="234202374"/>
+ <int key="NSvFlags">256</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSTextField" id="545295640">
+ <reference key="NSNextResponder" ref="172592959"/>
+ <int key="NSvFlags">290</int>
+ <string key="NSFrame">{{97, 30}, {326, 49}}</string>
+ <reference key="NSSuperview" ref="172592959"/>
+ <bool key="NSViewIsLayerTreeHost">YES</bool>
+ <object class="NSShadow" key="NSViewShadow">
+ <double key="NSShadowHoriz">1</double>
+ <double key="NSShadowVert">-1</double>
+ <double key="NSShadowBlurRadius">2</double>
+ <object class="NSColor" key="NSShadowColor" id="823228870">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ </object>
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="39991509">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">4460544</int>
+ <string key="NSContents">Multiline Label</string>
+ <object class="NSFont" key="NSSupport">
+ <string key="NSName">LucidaGrande-Bold</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <reference key="NSControlView" ref="545295640"/>
+ <object class="NSColor" key="NSBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="424449304">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ </object>
+ </object>
+ </object>
+ <string key="NSFrameSize">{436, 90}</string>
+ <reference key="NSSuperview" ref="234202374"/>
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
+ </object>
+ </object>
+ <string key="NSFrame">{{0, 70}, {436, 90}}</string>
<reference key="NSSuperview" ref="950529842"/>
- <bool key="NSViewIsLayerTreeHost">YES</bool>
- <object class="NSShadow" key="NSViewShadow">
- <double key="NSShadowHoriz">1</double>
- <double key="NSShadowVert">-1</double>
- <double key="NSShadowBlurRadius">1</double>
- <object class="NSColor" key="NSShadowColor" id="823228870">
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
+ <string key="NSOffsets">{0, 0}</string>
+ <object class="NSTextFieldCell" key="NSTitleCell">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Box</string>
+ <object class="NSFont" key="NSSupport" id="26">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">11</double>
+ <int key="NSfFlags">3100</int>
+ </object>
+ <object class="NSColor" key="NSBackgroundColor" id="834659164">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">textBackgroundColor</string>
+ <reference key="NSColor" ref="424449304"/>
+ </object>
+ <object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
+ <bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
</object>
</object>
- <int key="NSViewLayerContentsRedrawPolicy">2</int>
- <string key="NSClassName">YRKSpinningProgressIndicator</string>
+ <reference key="NSContentView" ref="172592959"/>
+ <int key="NSBorderType">0</int>
+ <int key="NSBoxType">4</int>
+ <int key="NSTitlePosition">0</int>
+ <bool key="NSTransparent">NO</bool>
+ <double key="NSCornerRadius2">9</double>
+ <object class="NSColor" key="NSFillColor2">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC4yNTQwMzIyNTgxIDAuOAA</bytes>
+ </object>
</object>
- <object class="NSTextField" id="545295640">
+ <object class="NSCustomView" id="602680912">
<reference key="NSNextResponder" ref="950529842"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{13, 34}, {234, 42}}</string>
+ <int key="NSvFlags">274</int>
+ <string key="NSFrame">{{13, 79}, {73, 73}}</string>
<reference key="NSSuperview" ref="950529842"/>
<bool key="NSViewIsLayerTreeHost">YES</bool>
<object class="NSShadow" key="NSViewShadow">
<double key="NSShadowHoriz">1</double>
<double key="NSShadowVert">-1</double>
- <double key="NSShadowBlurRadius">2</double>
+ <double key="NSShadowBlurRadius">1</double>
<reference key="NSShadowColor" ref="823228870"/>
</object>
<int key="NSViewLayerContentsRedrawPolicy">2</int>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="39991509">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">138678272</int>
- <string key="NSContents">Multiline Label</string>
- <object class="NSFont" key="NSSupport">
- <string key="NSName">LucidaGrande-Bold</string>
- <double key="NSSize">13</double>
- <int key="NSfFlags">16</int>
- </object>
- <reference key="NSControlView" ref="545295640"/>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MCAwIDAAA</bytes>
- </object>
- <object class="NSColor" key="NSTextColor" id="424449304">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MQA</bytes>
- </object>
- </object>
+ <string key="NSClassName">YRKSpinningProgressIndicator</string>
</object>
<object class="BWTransparentButton" id="540103856">
<reference key="NSNextResponder" ref="950529842"/>
<int key="NSvFlags">290</int>
- <string key="NSFrame">{{64, 4}, {132, 28}}</string>
+ <string key="NSFrame">{{295, 72}, {132, 28}}</string>
<reference key="NSSuperview" ref="950529842"/>
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
<bool key="NSEnabled">YES</bool>
<object class="BWTransparentButtonCell" key="NSCell" id="1030687082">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134348800</int>
<string key="NSContents">Cancel</string>
- <object class="NSFont" key="NSSupport" id="26">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">11</double>
- <int key="NSfFlags">3100</int>
- </object>
+ <reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="540103856"/>
- <int key="NSButtonFlags">-2038284033</int>
+ <int key="NSButtonFlags">-2034876161</int>
<int key="NSButtonFlags2">268435585</int>
+ <reference key="NSAlternateImage" ref="26"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent">.</string>
<int key="NSPeriodicDelay">200</int>
@@ -140,24 +189,21 @@
</object>
</object>
</object>
- <string key="NSFrameSize">{260, 260}</string>
+ <string key="NSFrameSize">{437, 160}</string>
<reference key="NSSuperview" ref="450247213"/>
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
</object>
</object>
- <string key="NSFrameSize">{260, 260}</string>
+ <string key="NSFrame">{{0, -70}, {437, 160}}</string>
<reference key="NSSuperview" ref="1005"/>
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Box</string>
<reference key="NSSupport" ref="26"/>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">textBackgroundColor</string>
- <reference key="NSColor" ref="424449304"/>
- </object>
+ <reference key="NSBackgroundColor" ref="834659164"/>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
@@ -168,15 +214,16 @@
<int key="NSBoxType">4</int>
<int key="NSTitlePosition">0</int>
<bool key="NSTransparent">NO</bool>
+ <bool key="NSFullyTransparent">YES</bool>
<real value="0.0" key="NSBorderWidth2"/>
<double key="NSCornerRadius2">15</double>
<object class="NSColor" key="NSFillColor2">
<int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MCAwLjUAA</bytes>
+ <bytes key="NSWhite">MCAwLjcAA</bytes>
</object>
</object>
</object>
- <string key="NSFrameSize">{260, 260}</string>
+ <string key="NSFrameSize">{437, 90}</string>
<reference key="NSSuperview"/>
<int key="NSViewLayerContentsRedrawPolicy">2</int>
<string key="NSClassName">NSView</string>
@@ -267,32 +314,18 @@
<reference key="object" ref="450247213"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="545295640"/>
- <reference ref="540103856"/>
<reference ref="602680912"/>
+ <reference ref="234202374"/>
+ <reference ref="540103856"/>
</object>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">15</int>
- <reference key="object" ref="545295640"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="39991509"/>
- </object>
- <reference key="parent" ref="450247213"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="602680912"/>
<reference key="parent" ref="450247213"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">16</int>
- <reference key="object" ref="39991509"/>
- <reference key="parent" ref="545295640"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="540103856"/>
<object class="NSMutableArray" key="children">
@@ -306,6 +339,29 @@
<reference key="object" ref="1030687082"/>
<reference key="parent" ref="540103856"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">38</int>
+ <reference key="object" ref="234202374"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="545295640"/>
+ </object>
+ <reference key="parent" ref="450247213"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">15</int>
+ <reference key="object" ref="545295640"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="39991509"/>
+ </object>
+ <reference key="parent" ref="234202374"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">16</int>
+ <reference key="object" ref="39991509"/>
+ <reference key="parent" ref="545295640"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -333,6 +389,10 @@
<string>16.IBPluginDependency</string>
<string>17.IBPluginDependency</string>
<string>18.IBPluginDependency</string>
+ <string>38.IBPluginDependency</string>
+ <string>38.IBViewIntegration.shadowBlurRadius</string>
+ <string>38.IBViewIntegration.shadowOffsetHeight</string>
+ <string>38.IBViewIntegration.shadowOffsetWidth</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -346,7 +406,7 @@
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{393, 332}, {260, 260}}</string>
+ <string>{{393, 502}, {437, 90}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{628, 654}</string>
<string>{{357, 416}, {480, 272}}</string>
@@ -363,6 +423,10 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.brandonwalkin.BWToolkit</string>
<string>com.brandonwalkin.BWToolkit</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <real value="3"/>
+ <real value="-3"/>
+ <real value="3"/>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -381,7 +445,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">37</int>
+ <int key="maxID">38</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -554,6 +618,13 @@
</object>
<object class="IBPartialClassDescription">
<string key="className">TableDocument</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/SPConnectionDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">TableDocument</string>
<string key="superclassName">NSDocument</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -572,11 +643,8 @@
<string>closePanelSheet:</string>
<string>closePasswordSheet:</string>
<string>closeSheet:</string>
- <string>copy:</string>
<string>copyCreateTableSyntax:</string>
<string>copyCreateTableSyntaxFromSheet:</string>
- <string>copyServerVariableName:</string>
- <string>copyServerVariableValue:</string>
<string>export:</string>
<string>exportMultipleTables:</string>
<string>exportTable:</string>
@@ -589,12 +657,12 @@
<string>repairTable:</string>
<string>saveConnectionSheet:</string>
<string>saveCreateSyntax:</string>
- <string>saveServerVariables:</string>
<string>setDatabases:</string>
<string>showCreateTableSyntax:</string>
<string>showMySQLHelp:</string>
+ <string>showServerProcesses:</string>
+ <string>showServerVariables:</string>
<string>showUserManager:</string>
- <string>showVariables:</string>
<string>validateSaveConnectionAccessory:</string>
<string>viewContent:</string>
<string>viewQuery:</string>
@@ -643,9 +711,6 @@
<string>id</string>
<string>id</string>
<string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
@@ -685,7 +750,6 @@
<string>saveConnectionIncludeQuery</string>
<string>saveConnectionSavePassword</string>
<string>saveConnectionSavePasswordAlert</string>
- <string>saveVariablesButton</string>
<string>sidebarGrabber</string>
<string>spHistoryControllerInstance</string>
<string>tableContentInstance</string>
@@ -708,10 +772,6 @@
<string>titleImageView</string>
<string>titleStringView</string>
<string>userManagerInstance</string>
- <string>variablesCountTextField</string>
- <string>variablesSearchField</string>
- <string>variablesSheet</string>
- <string>variablesTableView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -748,7 +808,6 @@
<string>id</string>
<string>id</string>
<string>id</string>
- <string>NSButton</string>
<string>id</string>
<string>id</string>
<string>id</string>
@@ -771,10 +830,6 @@
<string>id</string>
<string>id</string>
<string>SPUserManager</string>
- <string>NSTextField</string>
- <string>NSSearchField</string>
- <string>id</string>
- <string>id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
diff --git a/Source/NSNotificationAdditions.h b/Source/NSNotificationAdditions.h
new file mode 100644
index 00000000..37fe4c0e
--- /dev/null
+++ b/Source/NSNotificationAdditions.h
@@ -0,0 +1,34 @@
+//
+// $Id$
+//
+// NSNotificationAdditions.h
+// sequel-pro
+//
+// Copied from the Colloquy project; original code available from Trac at
+// http://colloquy.info/project/browser/trunk/Additions/NSNotificationAdditions.h
+//
+//
+// 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/>
+
+@interface NSNotificationCenter (NSNotificationCenterAdditions)
+- (void) postNotificationOnMainThread:(NSNotification *) notification;
+- (void) postNotificationOnMainThread:(NSNotification *) notification waitUntilDone:(BOOL) wait;
+
+- (void) postNotificationOnMainThreadWithName:(NSString *) name object:(id) object;
+- (void) postNotificationOnMainThreadWithName:(NSString *) name object:(id) object userInfo:(NSDictionary *) userInfo;
+- (void) postNotificationOnMainThreadWithName:(NSString *) name object:(id) object userInfo:(NSDictionary *) userInfo waitUntilDone:(BOOL) wait;
+@end
diff --git a/Source/NSNotificationAdditions.m b/Source/NSNotificationAdditions.m
new file mode 100644
index 00000000..2e075ed3
--- /dev/null
+++ b/Source/NSNotificationAdditions.m
@@ -0,0 +1,75 @@
+//
+// $Id$
+//
+// NSNotificationAdditions.m
+// sequel-pro
+//
+// Copied from the Colloquy project; original code available from Trac at
+// http://colloquy.info/project/browser/trunk/Additions/NSNotificationAdditions.m
+//
+//
+// 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 "NSNotificationAdditions.h"
+#import <pthread.h>
+
+@implementation NSNotificationCenter (NSNotificationCenterAdditions)
+- (void) postNotificationOnMainThread:(NSNotification *) notification {
+ if( pthread_main_np() ) return [self postNotification:notification];
+ [self postNotificationOnMainThread:notification waitUntilDone:NO];
+}
+
+- (void) postNotificationOnMainThread:(NSNotification *) notification waitUntilDone:(BOOL) wait {
+ if( pthread_main_np() ) return [self postNotification:notification];
+ [[self class] performSelectorOnMainThread:@selector( _postNotification: ) withObject:notification waitUntilDone:wait];
+}
+
++ (void) _postNotification:(NSNotification *) notification {
+ [[self defaultCenter] postNotification:notification];
+}
+
+- (void) postNotificationOnMainThreadWithName:(NSString *) name object:(id) object {
+ if( pthread_main_np() ) return [self postNotificationName:name object:object userInfo:nil];
+ [self postNotificationOnMainThreadWithName:name object:object userInfo:nil waitUntilDone:NO];
+}
+
+- (void) postNotificationOnMainThreadWithName:(NSString *) name object:(id) object userInfo:(NSDictionary *) userInfo {
+ if( pthread_main_np() ) return [self postNotificationName:name object:object userInfo:userInfo];
+ [self postNotificationOnMainThreadWithName:name object:object userInfo:userInfo waitUntilDone:NO];
+}
+
+- (void) postNotificationOnMainThreadWithName:(NSString *) name object:(id) object userInfo:(NSDictionary *) userInfo waitUntilDone:(BOOL) wait {
+ if( pthread_main_np() ) return [self postNotificationName:name object:object userInfo:userInfo];
+
+ NSMutableDictionary *info = [[NSMutableDictionary allocWithZone:nil] initWithCapacity:3];
+ if( name ) [info setObject:name forKey:@"name"];
+ if( object ) [info setObject:object forKey:@"object"];
+ if( userInfo ) [info setObject:userInfo forKey:@"userInfo"];
+
+ [[self class] performSelectorOnMainThread:@selector( _postNotificationName: ) withObject:info waitUntilDone:wait];
+
+ [info release];
+}
+
++ (void) _postNotificationName:(NSDictionary *) info {
+ NSString *name = [info objectForKey:@"name"];
+ id object = [info objectForKey:@"object"];
+ NSDictionary *userInfo = [info objectForKey:@"userInfo"];
+
+ [[self defaultCenter] postNotificationName:name object:object userInfo:userInfo];
+}
+@end
diff --git a/Source/TableContent.m b/Source/TableContent.m
index 60a7ce4a..bcaed509 100644
--- a/Source/TableContent.m
+++ b/Source/TableContent.m
@@ -638,7 +638,8 @@
if (rowsProcessed < targetRowCount) {
[tableDocumentInstance setTaskPercentage:(rowsProcessed*relativeTargetRowCount)];
} else if (rowsProcessed == targetRowCount) {
- [tableDocumentInstance performSelectorOnMainThread:@selector(setTaskProgressToIndeterminate) withObject:nil waitUntilDone:NO];
+ [tableDocumentInstance setTaskPercentage:100.0];
+ [tableDocumentInstance performSelectorOnMainThread:@selector(setTaskProgressToIndeterminateAfterDelay:) withObject:[NSNumber numberWithBool:YES] waitUntilDone:NO];
}
}
diff --git a/Source/TableDocument.h b/Source/TableDocument.h
index db4b48ae..8164746a 100644
--- a/Source/TableDocument.h
+++ b/Source/TableDocument.h
@@ -187,7 +187,7 @@
- (void) showTaskProgressWindow:(NSTimer *)theTimer;
- (void) setTaskDescription:(NSString *)description;
- (void) setTaskPercentage:(float)taskPercentage;
-- (void) setTaskProgressToIndeterminate;
+- (void) setTaskProgressToIndeterminateAfterDelay:(BOOL)afterDelay;
- (void) endTask;
- (void) enableTaskCancellationWithTitle:(NSString *)buttonTitle callbackObject:(id)callbackObject callbackFunction:(SEL)callbackFunction;
- (void) disableTaskCancellation;
diff --git a/Source/TableDocument.m b/Source/TableDocument.m
index 4e0f68fc..98a231ab 100644
--- a/Source/TableDocument.m
+++ b/Source/TableDocument.m
@@ -1266,7 +1266,7 @@
[[NSNotificationCenter defaultCenter] postNotificationName:SPDocumentTaskStartNotification object:self];
// Schedule appearance of the task window in the near future
- taskDrawTimer = [[NSTimer scheduledTimerWithTimeInterval:0.25 target:self selector:@selector(showTaskProgressWindow:) userInfo:nil repeats:NO] retain];
+ taskDrawTimer = [[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(showTaskProgressWindow:) userInfo:nil repeats:NO] retain];
}
}
@@ -1306,6 +1306,7 @@
if (taskDisplayIsIndeterminate) {
taskDisplayIsIndeterminate = NO;
[taskProgressIndicator stopAnimation:self];
+ [taskProgressIndicator setDoubleValue:0.5];
}
taskProgressValue = taskPercentage;
@@ -1319,10 +1320,17 @@
/**
* Sets the task progress indicator back to indeterminate (also performed
- * automatically whenever a new task is started)
+ * automatically whenever a new task is started).
+ * This can optionally be called with afterDelay set, in which case the intederminate
+ * switch will be made a fter a short pause to minimise flicker for short actions.
*/
-- (void) setTaskProgressToIndeterminate
+- (void) setTaskProgressToIndeterminateAfterDelay:(BOOL)afterDelay
{
+ if (afterDelay) {
+ [self performSelector:@selector(setTaskProgressToIndeterminateAfterDelay:) withObject:nil afterDelay:0.5];
+ return;
+ }
+
if (taskDisplayIsIndeterminate) return;
taskDisplayIsIndeterminate = YES;
[taskProgressIndicator setIndeterminate:YES];
@@ -1354,9 +1362,11 @@
[taskFadeAnimator release], taskFadeAnimator = nil;
}
- // Hide the task interface
+ // Hide the task interface and reset to indeterminate
if (taskDisplayIsIndeterminate) [taskProgressIndicator stopAnimation:self];
[taskProgressWindow setAlphaValue:0.0];
+ taskDisplayIsIndeterminate = YES;
+ [taskProgressIndicator setIndeterminate:YES];
// Re-enable window interface
[historyControl setEnabled:YES];
diff --git a/Source/TablesList.m b/Source/TablesList.m
index f37be72e..eabf062f 100644
--- a/Source/TablesList.m
+++ b/Source/TablesList.m
@@ -35,6 +35,7 @@
#import "RegexKitLite.h"
#import "SPDatabaseData.h"
#import "NSMutableArray-MultipleSort.h"
+#import "NSNotificationAdditions.h"
#import "SPConstants.h"
@interface TablesList (PrivateAPI)
@@ -738,6 +739,14 @@
// Reset the table information caches
[tableDataInstance resetAllData];
+ if (selectedTableType == SP_TABLETYPE_TABLE) {
+ [tableDataInstance updateInformationForCurrentTable];
+ } else if (selectedTableType == SP_TABLETYPE_VIEW) {
+ [tableDataInstance updateInformationForCurrentView];
+ }
+
+ // Notify listeners of the table change now that the state is fully set up.
+ [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadWithName:SPTableChangedNotification object:tableDocumentInstance];
[separatorTableMenuItem setHidden:NO];
[separatorTableContextMenuItem setHidden:NO];
@@ -921,9 +930,6 @@
// Add a history entry
[spHistoryControllerInstance updateHistoryEntries];
-
- // Notify listeners of the table change now that the state is fully set up
- [[NSNotificationCenter defaultCenter] postNotificationName:SPTableChangedNotification object:tableDocumentInstance];
// Empty the loading pool and exit the thread
[tableDocumentInstance endTask];
diff --git a/Source/YRKSpinningProgressIndicator.m b/Source/YRKSpinningProgressIndicator.m
index 4d211be3..cca0a28c 100644
--- a/Source/YRKSpinningProgressIndicator.m
+++ b/Source/YRKSpinningProgressIndicator.m
@@ -192,6 +192,7 @@
- (void)startAnimation:(id)sender
{
+ if (!_isIndeterminate) return;
if (_isAnimating) return;
_isAnimating = YES;
diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj
index c8a884d3..73980982 100644
--- a/sequel-pro.xcodeproj/project.pbxproj
+++ b/sequel-pro.xcodeproj/project.pbxproj
@@ -166,6 +166,7 @@
589235321020C1230011DE00 /* SPHistoryController.m in Sources */ = {isa = PBXBuildFile; fileRef = 589235301020C1230011DE00 /* SPHistoryController.m */; };
58BC5E56103898140058C2E6 /* MCPStreamingResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 583B779710386B0200B21F7E /* MCPStreamingResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
58BC5E571038983E0058C2E6 /* MCPResultPlus.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B7B5D1101603B200F057DE /* MCPResultPlus.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 58C34F5310B86CAE00D37E14 /* NSNotificationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 58C34F5210B86CAE00D37E14 /* NSNotificationAdditions.m */; };
58C56EF50F438E120035701E /* SPDataCellFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 58C56EF40F438E120035701E /* SPDataCellFormatter.m */; };
58CB20ED0F79A75D005EA204 /* button_edit_mode_selected.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 58CB20EC0F79A75D005EA204 /* button_edit_mode_selected.tiff */; };
58CDB3300FCE138D00F8ACA3 /* SPSSHTunnel.m in Sources */ = {isa = PBXBuildFile; fileRef = 58CDB32F0FCE138D00F8ACA3 /* SPSSHTunnel.m */; };
@@ -569,6 +570,8 @@
588B2CC70FE5641E00EC5FC0 /* ssh-disconnected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ssh-disconnected.png"; sourceTree = "<group>"; };
589235301020C1230011DE00 /* SPHistoryController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPHistoryController.m; sourceTree = "<group>"; };
589235311020C1230011DE00 /* SPHistoryController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPHistoryController.h; sourceTree = "<group>"; };
+ 58C34F5110B86CAE00D37E14 /* NSNotificationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSNotificationAdditions.h; sourceTree = "<group>"; };
+ 58C34F5210B86CAE00D37E14 /* NSNotificationAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSNotificationAdditions.m; sourceTree = "<group>"; };
58C56EF30F438E120035701E /* SPDataCellFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPDataCellFormatter.h; sourceTree = "<group>"; };
58C56EF40F438E120035701E /* SPDataCellFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPDataCellFormatter.m; sourceTree = "<group>"; };
58CB20EC0F79A75D005EA204 /* button_edit_mode_selected.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = button_edit_mode_selected.tiff; sourceTree = "<group>"; };
@@ -1414,6 +1417,8 @@
B52460D40F8EF92300171639 /* SPArrayAdditions.m */,
5841929F101E57BB0089807F /* NSMutableArray-MultipleSort.h */,
584192A0101E57BB0089807F /* NSMutableArray-MultipleSort.m */,
+ 58C34F5110B86CAE00D37E14 /* NSNotificationAdditions.h */,
+ 58C34F5210B86CAE00D37E14 /* NSNotificationAdditions.m */,
1789343A0F30C1DD0097539A /* SPStringAdditions.h */,
1789343B0F30C1DD0097539A /* SPStringAdditions.m */,
B52460D50F8EF92300171639 /* SPTextViewAdditions.h */,
@@ -1860,6 +1865,7 @@
1792C13710AD75C800ABE758 /* SPServerVariablesController.m in Sources */,
1792C26110AE1A2D00ABE758 /* SPConnectionDelegate.m in Sources */,
17CC97F310B4ABE90034CD7A /* SPAboutController.m in Sources */,
+ 58C34F5310B86CAE00D37E14 /* NSNotificationAdditions.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};