aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2009-10-16 01:24:45 +0000
committerrowanbeentje <rowan@beent.je>2009-10-16 01:24:45 +0000
commitc75dd33c1ccb4d64fa413357b9cdbfca36ee2f6a (patch)
tree83f3fa356109b4b6c0c70f6da4c12fb6da67555b
parentb74377b6341d4b861b254ffcfb983d2cb27ec5b6 (diff)
downloadsequelpro-c75dd33c1ccb4d64fa413357b9cdbfca36ee2f6a.tar.gz
sequelpro-c75dd33c1ccb4d64fa413357b9cdbfca36ee2f6a.tar.bz2
sequelpro-c75dd33c1ccb4d64fa413357b9cdbfca36ee2f6a.zip
Significant User Management improvements:
- When reading data from the server, correctly map values to the SPUser object values to prevent data loss - Ask server for priv support; disable unsupported privs in the interface, and only try to grant/revoke supported privs. Fixes errors saving users on MySQL < 6. - Make "check all" and "uncheck all" buttons functional - Add checkboxes for MySQL 6 privs as we already map the data for them - Fix double retain of priv mapping dictionary - Error dialogs stay on screen for longer than half a second - New hosts are now selected for editing when added This addresses some of the issues in Issue #349.
-rw-r--r--Interfaces/English.lproj/UserManagerView.xib1731
-rw-r--r--Source/SPUserManager.h6
-rw-r--r--Source/SPUserManager.m156
-rw-r--r--Source/SPUserManager.xcdatamodel/elementsbin50105 -> 62017 bytes
-rw-r--r--Source/SPUserManager.xcdatamodel/layoutbin5719 -> 6447 bytes
5 files changed, 1739 insertions, 154 deletions
diff --git a/Interfaces/English.lproj/UserManagerView.xib b/Interfaces/English.lproj/UserManagerView.xib
index 14760399..0cacc850 100644
--- a/Interfaces/English.lproj/UserManagerView.xib
+++ b/Interfaces/English.lproj/UserManagerView.xib
@@ -1,24 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03">
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">9L30</string>
- <string key="IBDocument.InterfaceBuilderVersion">677</string>
- <string key="IBDocument.AppKitVersion">949.54</string>
- <string key="IBDocument.HIToolboxVersion">353.00</string>
+ <string key="IBDocument.SystemVersion">10B504</string>
+ <string key="IBDocument.InterfaceBuilderVersion">732</string>
+ <string key="IBDocument.AppKitVersion">1038.2</string>
+ <string key="IBDocument.HIToolboxVersion">437.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.brandonwalkin.BWToolkit</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>732</string>
+ <string>1.2.1</string>
+ </object>
+ </object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="44"/>
+ <integer value="592"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>com.brandonwalkin.BWToolkit</string>
- <string>com.apple.InterfaceBuilderKit</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.brandonwalkin.BWToolkit</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
@@ -44,7 +56,7 @@
<string key="NSWindowTitle">User Managment</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
- <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+ <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<object class="NSView" key="NSWindowView" id="846307432">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
@@ -93,16 +105,16 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="716100442">
<string key="NSIdentifier">NameColumn</string>
- <double key="NSWidth">1.910000e+02</double>
- <double key="NSMinWidth">1.600000e+01</double>
- <double key="NSMaxWidth">1.000000e+03</double>
+ <double key="NSWidth">191</double>
+ <double key="NSMinWidth">16</double>
+ <double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
- <int key="NSCellFlags">75628032</int>
- <int key="NSCellFlags2">0</int>
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
<string key="NSContents">Accounts</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.100000e+01</double>
+ <double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor">
@@ -125,7 +137,7 @@
<string key="NSContents">Text Cell</string>
<object class="NSFont" key="NSSupport" id="746597359">
<string key="NSName">LucidaGrande</string>
- <double key="NSSize">1.300000e+01</double>
+ <double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="265138544"/>
@@ -135,7 +147,7 @@
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor" id="246134814">
<int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
+ <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="315534074">
@@ -156,14 +168,15 @@
</object>
</object>
</object>
- <double key="NSIntercellSpacingWidth">3.000000e+00</double>
+ <double key="NSIntercellSpacingWidth">3</double>
+ <double key="NSIntercellSpacingHeight">0.0</double>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">_sourceListBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MC44MzkyMTU3IDAuODY2NjY2NjcgMC44OTgwMzkyMgA</bytes>
+ <bytes key="NSRGB">MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA</bytes>
</object>
</object>
<object class="NSColor" key="NSGridColor">
@@ -175,14 +188,17 @@
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
- <double key="NSRowHeight">2.000000e+01</double>
+ <double key="NSRowHeight">20</double>
<int key="NSTvFlags">1379926016</int>
+ <reference key="NSDelegate"/>
+ <reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewSelectionHighlightStyle">1</int>
- <float key="NSOutlineViewIndentationPerLevelKey">1.400000e+01</float>
+ <int key="NSTableViewDraggingDestinationStyle">1</int>
+ <float key="NSOutlineViewIndentationPerLevelKey">14</float>
</object>
</object>
<string key="NSFrame">{{0, 17}, {194, 467}}</string>
@@ -199,7 +215,7 @@
<reference key="NSSuperview" ref="848314643"/>
<reference key="NSTarget" ref="848314643"/>
<string key="NSAction">_doScroller:</string>
- <double key="NSPercent">9.969040e-01</double>
+ <double key="NSPercent">0.99690400000000001</double>
</object>
<object class="NSScroller" id="851800246">
<reference key="NSNextResponder" ref="848314643"/>
@@ -209,7 +225,7 @@
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="848314643"/>
<string key="NSAction">_doScroller:</string>
- <double key="NSPercent">9.961686e-01</double>
+ <double key="NSPercent">0.99616859999999996</double>
</object>
<object class="NSClipView" id="283216473">
<reference key="NSNextResponder" ref="848314643"/>
@@ -395,7 +411,7 @@
<object class="NSTabViewItem" id="820796939">
<string key="NSIdentifier">General</string>
<object class="NSView" key="NSView" id="143215913">
- <reference key="NSNextResponder" ref="716372522"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -524,7 +540,6 @@
</object>
</object>
<string key="NSFrame">{{10, 33}, {511, 414}}</string>
- <reference key="NSSuperview" ref="716372522"/>
</object>
<string key="NSLabel">General</string>
<reference key="NSColor" ref="409859189"/>
@@ -533,7 +548,7 @@
<object class="NSTabViewItem" id="1024639412">
<string key="NSIdentifier">Global Privileges</string>
<object class="NSView" key="NSView" id="202198269">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder" ref="716372522"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -856,6 +871,28 @@
<int key="NSPeriodicInterval">25</int>
</object>
</object>
+ <object class="NSButton" id="1012114470">
+ <reference key="NSNextResponder" ref="1066741257"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{152, 190}, {65, 18}}</string>
+ <reference key="NSSuperview" ref="1066741257"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="213779970">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Event</string>
+ <reference key="NSSupport" ref="746597359"/>
+ <reference key="NSControlView" ref="1012114470"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="399252468"/>
+ <reference key="NSAlternateImage" ref="357101228"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
</object>
<string key="NSFrame">{{1, 1}, {231, 216}}</string>
<reference key="NSSuperview" ref="517432726"/>
@@ -1109,6 +1146,28 @@
<int key="NSPeriodicInterval">25</int>
</object>
</object>
+ <object class="NSButton" id="458971250">
+ <reference key="NSNextResponder" ref="424144569"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{152, 12}, {74, 18}}</string>
+ <reference key="NSSuperview" ref="424144569"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSButtonCell" key="NSCell" id="282706704">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">0</int>
+ <string key="NSContents">Trigger</string>
+ <reference key="NSSupport" ref="746597359"/>
+ <reference key="NSControlView" ref="458971250"/>
+ <int key="NSButtonFlags">1211912703</int>
+ <int key="NSButtonFlags2">130</int>
+ <reference key="NSNormalImage" ref="399252468"/>
+ <reference key="NSAlternateImage" ref="357101228"/>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
</object>
<string key="NSFrame">{{1, 1}, {231, 118}}</string>
<reference key="NSSuperview" ref="1050276179"/>
@@ -1306,6 +1365,7 @@
</object>
</object>
<string key="NSFrame">{{10, 33}, {511, 414}}</string>
+ <reference key="NSSuperview" ref="716372522"/>
</object>
<string key="NSLabel">Global Privileges</string>
<reference key="NSColor" ref="409859189"/>
@@ -1346,42 +1406,40 @@
<object class="NSNumberFormatter" key="NSFormatter" id="542435188">
<object class="NSMutableDictionary" key="NS.attributes">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>allowsFloats</string>
<string>formatterBehavior</string>
+ <string>locale</string>
<string>minimum</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <boolean value="NO" id="6"/>
+ <boolean value="NO"/>
<integer value="1040"/>
- <real value="0.000000e+00" id="675386282"/>
+ <object class="NSLocale" id="413915662">
+ <string key="NS.identifier"/>
+ </object>
+ <real value="0.0"/>
</object>
</object>
<string key="NS.positiveformat">#</string>
<string key="NS.negativeformat">#</string>
<nil key="NS.positiveattrs"/>
<nil key="NS.negativeattrs"/>
- <object class="NSAttributedString" key="NS.zero">
- <nil key="NSString"/>
- </object>
- <object class="NSAttributedString" key="NS.nil">
- <nil key="NSString"/>
- </object>
+ <nil key="NS.zero"/>
+ <nil key="NS.nil"/>
<object class="NSAttributedString" key="NS.nan">
<string key="NSString">NaN</string>
- <object class="NSDictionary" key="NSAttributes" id="220782088">
+ <object class="NSDictionary" key="NSAttributes" id="536280197">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
</object>
- <reference key="NS.min" ref="675386282"/>
+ <real value="0.0" key="NS.min"/>
<object class="NSDecimalNumberPlaceholder" key="NS.max" id="21182636">
<int key="NS.exponent">0</int>
<int key="NS.length">0</int>
@@ -1399,16 +1457,17 @@
<string key="NS.decimal">.</string>
<string key="NS.thousand">,</string>
<bool key="NS.hasthousands">NO</bool>
- <bool key="NS.localized">YES</bool>
+ <bool key="NS.localized">NO</bool>
<bool key="NS.allowsfloats">NO</bool>
</object>
<reference key="NSControlView" ref="29923434"/>
- <double key="NSTitleWidth">1.168931e+02</double>
+ <double key="NSTitleWidth">116.8931</double>
<object class="NSCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">67108864</int>
<string key="NSContents">Max Updates:</string>
<reference key="NSSupport" ref="746597359"/>
+ <reference key="NSControlView" ref="29923434"/>
</object>
</object>
<object class="NSFormCell" id="62674029">
@@ -1419,34 +1478,32 @@
<object class="NSNumberFormatter" key="NSFormatter" id="573461205">
<object class="NSMutableDictionary" key="NS.attributes">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>allowsFloats</string>
<string>formatterBehavior</string>
+ <string>locale</string>
<string>minimum</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="6"/>
+ <boolean value="NO"/>
<integer value="1040"/>
- <real value="0.000000e+00" id="768513425"/>
+ <reference ref="413915662"/>
+ <real value="0.0"/>
</object>
</object>
<string key="NS.positiveformat">#</string>
<string key="NS.negativeformat">#</string>
<nil key="NS.positiveattrs"/>
<nil key="NS.negativeattrs"/>
- <object class="NSAttributedString" key="NS.zero">
- <nil key="NSString"/>
- </object>
- <object class="NSAttributedString" key="NS.nil">
- <nil key="NSString"/>
- </object>
+ <nil key="NS.zero"/>
+ <nil key="NS.nil"/>
<object class="NSAttributedString" key="NS.nan">
<string key="NSString">NaN</string>
- <reference key="NSAttributes" ref="220782088"/>
+ <reference key="NSAttributes" ref="536280197"/>
</object>
- <reference key="NS.min" ref="768513425"/>
+ <real value="0.0" key="NS.min"/>
<reference key="NS.max" ref="21182636"/>
<object class="NSDecimalNumberHandler" key="NS.rounding">
<int key="NS.roundingmode">3</int>
@@ -1457,17 +1514,18 @@
<string key="NS.decimal">.</string>
<string key="NS.thousand">,</string>
<bool key="NS.hasthousands">NO</bool>
- <bool key="NS.localized">YES</bool>
+ <bool key="NS.localized">NO</bool>
<bool key="NS.allowsfloats">NO</bool>
</object>
- <int key="NSTag">1</int>
<reference key="NSControlView" ref="29923434"/>
- <double key="NSTitleWidth">1.168931e+02</double>
+ <int key="NSTag">1</int>
+ <double key="NSTitleWidth">116.8931</double>
<object class="NSCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">67108864</int>
<string key="NSContents">Max Connections:</string>
<reference key="NSSupport" ref="746597359"/>
+ <reference key="NSControlView" ref="29923434"/>
</object>
</object>
<object class="NSFormCell" id="433998913">
@@ -1478,34 +1536,32 @@
<object class="NSNumberFormatter" key="NSFormatter" id="632279764">
<object class="NSMutableDictionary" key="NS.attributes">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>allowsFloats</string>
<string>formatterBehavior</string>
+ <string>locale</string>
<string>minimum</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="6"/>
+ <boolean value="NO"/>
<integer value="1040"/>
- <real value="0.000000e+00" id="948592494"/>
+ <reference ref="413915662"/>
+ <real value="0.0"/>
</object>
</object>
<string key="NS.positiveformat">#</string>
<string key="NS.negativeformat">#</string>
<nil key="NS.positiveattrs"/>
<nil key="NS.negativeattrs"/>
- <object class="NSAttributedString" key="NS.zero">
- <nil key="NSString"/>
- </object>
- <object class="NSAttributedString" key="NS.nil">
- <nil key="NSString"/>
- </object>
+ <nil key="NS.zero"/>
+ <nil key="NS.nil"/>
<object class="NSAttributedString" key="NS.nan">
<string key="NSString">NaN</string>
- <reference key="NSAttributes" ref="220782088"/>
+ <reference key="NSAttributes" ref="536280197"/>
</object>
- <reference key="NS.min" ref="948592494"/>
+ <real value="0.0" key="NS.min"/>
<reference key="NS.max" ref="21182636"/>
<object class="NSDecimalNumberHandler" key="NS.rounding">
<int key="NS.roundingmode">3</int>
@@ -1516,16 +1572,17 @@
<string key="NS.decimal">.</string>
<string key="NS.thousand">,</string>
<bool key="NS.hasthousands">NO</bool>
- <bool key="NS.localized">YES</bool>
+ <bool key="NS.localized">NO</bool>
<bool key="NS.allowsfloats">NO</bool>
</object>
<reference key="NSControlView" ref="29923434"/>
- <double key="NSTitleWidth">1.168931e+02</double>
+ <double key="NSTitleWidth">116.8931</double>
<object class="NSCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">67108864</int>
<string key="NSContents">Max Questions:</string>
<reference key="NSSupport" ref="746597359"/>
+ <reference key="NSControlView" ref="29923434"/>
</object>
</object>
</object>
@@ -1538,7 +1595,7 @@
<int key="NSCellFlags2">205521920</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="746597359"/>
- <double key="NSTitleWidth">1.168931e+02</double>
+ <double key="NSTitleWidth">116.8931</double>
<object class="NSCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">67108864</int>
@@ -1585,13 +1642,13 @@
<reference key="NSTabView" ref="716372522"/>
</object>
</object>
- <reference key="NSSelectedTabViewItem" ref="820796939"/>
+ <reference key="NSSelectedTabViewItem" ref="1024639412"/>
<reference key="NSFont" ref="746597359"/>
<int key="NSTvFlags">0</int>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="143215913"/>
+ <reference ref="202198269"/>
</object>
</object>
<object class="NSButton" id="445730006">
@@ -1652,7 +1709,7 @@
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
- <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+ <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
</object>
<object class="NSTreeController" id="889422316">
<object class="NSMutableArray" key="NSDeclaredKeys">
@@ -1731,6 +1788,12 @@
<string>replication_slave_priv</string>
<string>parent</string>
<string>create_temporary_tables_priv</string>
+ <string>select_priv.optional</string>
+ <string>insert_priv.optional</string>
+ <string>insert_priv.isOptional</string>
+ <string>select_priv.isOptional</string>
+ <string>trigger_priv</string>
+ <string>event_priv</string>
</object>
<string key="NSObjectClassName">SPUserItem</string>
<bool key="NSEditable">YES</bool>
@@ -1760,6 +1823,7 @@
<int key="NSOperatorType">4</int>
<int key="NSModifier">0</int>
<bool key="NSNegate">NO</bool>
+ <int key="NSOptions">0</int>
</object>
</object>
</object>
@@ -1769,6 +1833,9 @@
<bool key="NSSelectsInsertedObjects">YES</bool>
<string key="NSTreeContentChildrenKey">children</string>
</object>
+ <object class="NSCustomObject" id="674959820">
+ <string key="NSClassName">NSMutableDictionary</string>
+ </object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
@@ -2314,7 +2381,7 @@
<string key="NSKeyPath">selection.password</string>
<object class="NSDictionary" key="NSOptions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSConditionallySetsHidden</string>
<string>NSNoSelectionPlaceholder</string>
@@ -2323,10 +2390,10 @@
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <boolean value="YES" id="5"/>
+ <boolean value="YES"/>
<string>No Selection</string>
- <reference ref="6"/>
- <reference ref="5"/>
+ <boolean value="NO"/>
+ <boolean value="YES"/>
</object>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
@@ -2419,15 +2486,15 @@
<string key="NSKeyPath">arrangedObjects.displayName</string>
<object class="NSDictionary" key="NSOptions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSAllowsEditingMultipleValuesSelection</string>
<string>NSValidatesImmediately</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="6"/>
- <reference ref="5"/>
+ <boolean value="NO"/>
+ <boolean value="YES"/>
</object>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
@@ -2472,7 +2539,7 @@
<string key="NSKeyPath">selection.user</string>
<object class="NSDictionary" key="NSOptions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSNoSelectionPlaceholder</string>
<string>NSNotApplicablePlaceholder</string>
@@ -2482,7 +2549,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>No Selection</string>
<string>User Not Selected</string>
- <reference ref="6"/>
+ <boolean value="NO"/>
</object>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
@@ -2490,34 +2557,648 @@
</object>
<int key="connectionID">608</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">privsSupportedByServer</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="674959820"/>
+ </object>
+ <int key="connectionID">649</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: select_priv</string>
+ <reference key="source" ref="354897609"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="354897609"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: select_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">select_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">653</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: insert_priv</string>
+ <reference key="source" ref="279892883"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="279892883"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: insert_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">insert_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">657</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: update_priv</string>
+ <reference key="source" ref="44622938"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="44622938"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: update_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">update_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">661</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: delete_priv</string>
+ <reference key="source" ref="221237545"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="221237545"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: delete_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">delete_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">665</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: references_priv</string>
+ <reference key="source" ref="173464062"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="173464062"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: references_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">references_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">669</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: create_priv</string>
+ <reference key="source" ref="905629414"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="905629414"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: create_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">create_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">673</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: drop_priv</string>
+ <reference key="source" ref="384517358"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="384517358"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: drop_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">drop_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">677</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: alter_priv</string>
+ <reference key="source" ref="577327681"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="577327681"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: alter_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">alter_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">679</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: index_priv</string>
+ <reference key="source" ref="658073531"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="658073531"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: index_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">index_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">683</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: reload_priv</string>
+ <reference key="source" ref="165190944"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="165190944"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: reload_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">reload_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">685</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: shutdown_priv</string>
+ <reference key="source" ref="948609625"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="948609625"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: shutdown_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">shutdown_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">687</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: file_priv</string>
+ <reference key="source" ref="514468506"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="514468506"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: file_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">file_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">689</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: process_priv</string>
+ <reference key="source" ref="654009227"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="654009227"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: process_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">process_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">691</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: super_priv</string>
+ <reference key="source" ref="341346472"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="341346472"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: super_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">super_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">693</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: lock_tables_priv</string>
+ <reference key="source" ref="712816655"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="712816655"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: lock_tables_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">lock_tables_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">697</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: show_databases_priv</string>
+ <reference key="source" ref="1026585310"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1026585310"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: show_databases_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">show_databases_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">699</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: create_user_priv</string>
+ <reference key="source" ref="373270478"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="373270478"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: create_user_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">create_user_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">701</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: grant_option_priv</string>
+ <reference key="source" ref="285378693"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="285378693"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: grant_option_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">grant_option_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">703</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: create_view_priv</string>
+ <reference key="source" ref="556933759"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="556933759"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: create_view_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">create_view_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">705</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: show_view_priv</string>
+ <reference key="source" ref="83587898"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="83587898"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: show_view_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">show_view_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">707</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: create_routine_priv</string>
+ <reference key="source" ref="969573372"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="969573372"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: create_routine_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">create_routine_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">709</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: alter_routine_priv</string>
+ <reference key="source" ref="905340786"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="905340786"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: alter_routine_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">alter_routine_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">711</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: execute_priv</string>
+ <reference key="source" ref="757005232"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="757005232"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: execute_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">execute_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">713</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: replication_client_priv</string>
+ <reference key="source" ref="639415915"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="639415915"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: replication_client_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">replication_client_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">715</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: replication_slave_priv</string>
+ <reference key="source" ref="557764028"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="557764028"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: replication_slave_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">replication_slave_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">717</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: create_temporary_tables_priv</string>
+ <reference key="source" ref="460063174"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="460063174"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: create_temporary_tables_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">create_temporary_tables_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">718</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.trigger_priv</string>
+ <reference key="source" ref="458971250"/>
+ <reference key="destination" ref="889422316"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="458971250"/>
+ <reference key="NSDestination" ref="889422316"/>
+ <string key="NSLabel">value: selection.trigger_priv</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.trigger_priv</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">723</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: trigger_priv</string>
+ <reference key="source" ref="458971250"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="458971250"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: trigger_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">trigger_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">724</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: event_priv</string>
+ <reference key="source" ref="1012114470"/>
+ <reference key="destination" ref="674959820"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1012114470"/>
+ <reference key="NSDestination" ref="674959820"/>
+ <string key="NSLabel">enabled: event_priv</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">event_priv</string>
+ <object class="NSDictionary" key="NSOptions">
+ <string key="NS.key.0">NSValueTransformerName</string>
+ <string key="NS.object.0">NSIsNotNil</string>
+ </object>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">729</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.event_priv</string>
+ <reference key="source" ref="1012114470"/>
+ <reference key="destination" ref="889422316"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1012114470"/>
+ <reference key="NSDestination" ref="889422316"/>
+ <string key="NSLabel">value: selection.event_priv</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.event_priv</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">730</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">checkAllPrivileges:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="610554589"/>
+ </object>
+ <int key="connectionID">731</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">uncheckAllPrivileges:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="191574098"/>
+ </object>
+ <int key="connectionID">732</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
- <object class="NSArray" key="object" id="1002">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
- <reference key="parent" ref="1002"/>
- <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
- <reference key="parent" ref="1002"/>
+ <reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
- <reference key="parent" ref="1002"/>
+ <reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
@@ -2527,7 +3208,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="846307432"/>
</object>
- <reference key="parent" ref="1002"/>
+ <reference key="parent" ref="0"/>
<string key="objectName">UserManagerView</string>
</object>
<object class="IBObjectRecord">
@@ -2563,7 +3244,7 @@
<object class="IBObjectRecord">
<int key="objectID">48</int>
<reference key="object" ref="889422316"/>
- <reference key="parent" ref="1002"/>
+ <reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">122</int>
@@ -2936,6 +3617,7 @@
<reference ref="514468506"/>
<reference ref="948609625"/>
<reference ref="165190944"/>
+ <reference ref="1012114470"/>
</object>
<reference key="parent" ref="386290455"/>
</object>
@@ -3107,6 +3789,7 @@
<reference ref="44622938"/>
<reference ref="279892883"/>
<reference ref="354897609"/>
+ <reference ref="458971250"/>
</object>
<reference key="parent" ref="386290455"/>
</object>
@@ -3401,14 +4084,46 @@
<reference key="object" ref="542435188"/>
<reference key="parent" ref="892380277"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">648</int>
+ <reference key="object" ref="674959820"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">SupportedPrivileges</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">719</int>
+ <reference key="object" ref="458971250"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="282706704"/>
+ </object>
+ <reference key="parent" ref="1050276179"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">720</int>
+ <reference key="object" ref="282706704"/>
+ <reference key="parent" ref="458971250"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">725</int>
+ <reference key="object" ref="1012114470"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="213779970"/>
+ </object>
+ <reference key="parent" ref="517432726"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">726</int>
+ <reference key="object" ref="213779970"/>
+ <reference key="parent" ref="1012114470"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>-1.IBPluginDependency</string>
- <string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>110.IBPluginDependency</string>
<string>111.IBPluginDependency</string>
@@ -3422,6 +4137,8 @@
<string>123.IBPluginDependency</string>
<string>124.IBPluginDependency</string>
<string>125.IBPluginDependency</string>
+ <string>189.IBPluginDependency</string>
+ <string>190.IBPluginDependency</string>
<string>25.IBPluginDependency</string>
<string>26.IBPluginDependency</string>
<string>27.IBPluginDependency</string>
@@ -3431,6 +4148,7 @@
<string>29.IBPluginDependency</string>
<string>290.IBPluginDependency</string>
<string>291.IBPluginDependency</string>
+ <string>292.IBPluginDependency</string>
<string>3.IBEditorWindowLastContentRect</string>
<string>3.IBPluginDependency</string>
<string>3.IBViewEditorWindowController.showingBoundsRectangles</string>
@@ -3447,6 +4165,8 @@
<string>38.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>41.IBPluginDependency</string>
+ <string>42.IBPluginDependency</string>
+ <string>43.IBPluginDependency</string>
<string>44.IBPluginDependency</string>
<string>451.IBPluginDependency</string>
<string>452.IBPluginDependency</string>
@@ -3509,9 +4229,13 @@
<string>510.IBPluginDependency</string>
<string>511.IBPluginDependency</string>
<string>512.IBPluginDependency</string>
+ <string>543.IBNumberFormatterLocalizesFormatMetadataKey</string>
<string>543.IBPluginDependency</string>
+ <string>544.IBNumberFormatterLocalizesFormatMetadataKey</string>
<string>544.IBPluginDependency</string>
+ <string>545.IBNumberFormatterLocalizesFormatMetadataKey</string>
<string>545.IBPluginDependency</string>
+ <string>578.IBPluginDependency</string>
<string>579.IBPluginDependency</string>
<string>580.IBAttributePlaceholdersKey</string>
<string>580.IBPluginDependency</string>
@@ -3526,12 +4250,20 @@
<string>587.IBPluginDependency</string>
<string>588.IBPluginDependency</string>
<string>589.IBPluginDependency</string>
+ <string>592.IBPluginDependency</string>
+ <string>593.IBPluginDependency</string>
+ <string>648.IBPluginDependency</string>
+ <string>719.IBPluginDependency</string>
+ <string>720.IBPluginDependency</string>
+ <string>725.IBPluginDependency</string>
+ <string>726.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilderKit</string>
- <string>com.apple.InterfaceBuilderKit</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3555,10 +4287,10 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{73, 350}, {752, 506}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <reference ref="6"/>
- <reference ref="6"/>
+ <boolean value="NO"/>
+ <boolean value="NO"/>
<string>{{73, 350}, {752, 506}}</string>
- <reference ref="5"/>
+ <boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>SPOutlineView</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -3640,6 +4372,12 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="YES"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.brandonwalkin.BWToolkit</string>
<object class="NSMutableDictionary">
@@ -3669,13 +4407,18 @@
<string>com.brandonwalkin.BWToolkit</string>
<string>com.brandonwalkin.BWToolkit</string>
<string>com.brandonwalkin.BWToolkit</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
@@ -3683,20 +4426,25 @@
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">608</int>
+ <int key="maxID">732</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
+ <string key="className">NSDictionary</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/NSDictionary_DeepMutableCopy.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
@@ -3726,6 +4474,27 @@
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/SPContentFilterManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/SPNotLoaded.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Source/SPQueryFavoriteManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">toggleCollapse:</string>
<string key="NS.object.0">id</string>
@@ -3755,14 +4524,16 @@
<string key="superclassName">NSWindowController</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>addHost:</string>
<string>addUser:</string>
+ <string>checkAllPrivileges:</string>
<string>doApply:</string>
<string>doCancel:</string>
<string>removeHost:</string>
<string>removeUser:</string>
+ <string>uncheckAllPrivileges:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -3772,19 +4543,23 @@
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
+ <object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>outlineView</string>
+ <string>privsSupportedByServer</string>
<string>tabView</string>
<string>treeController</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSOutlineView</string>
+ <string>NSMutableDictionary</string>
<string>NSTabView</string>
<string>NSTreeController</string>
</object>
@@ -3795,8 +4570,746 @@
</object>
</object>
</object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <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" id="965353660">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="364681807">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="972362492">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSApplication</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.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" id="315955657">
+ <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">NSDictionary</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="845734002">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSDictionary.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSDictionary</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="316535932">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSDictionary</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="683462905">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSForm</string>
+ <string key="superclassName">NSMatrix</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSForm.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSFormCell</string>
+ <string key="superclassName">NSActionCell</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSFormCell.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">NSMatrix</string>
+ <string key="superclassName">NSControl</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSMatrix.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMenu</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="499606626">
+ <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" id="48388409">
+ <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">NSMutableDictionary</string>
+ <string key="superclassName">NSDictionary</string>
+ <reference key="sourceIdentifier" ref="845734002"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSMutableDictionary</string>
+ <reference key="sourceIdentifier" ref="683462905"/>
+ </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">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="965353660"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="364681807"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="972362492"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="315955657"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="499606626"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="329467814">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="739519750">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="700221146">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="316535932"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <reference key="sourceIdentifier" ref="683462905"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Growl.framework/Headers/GrowlApplicationBridge.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Sparkle.framework/Headers/SUAppcast.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Sparkle.framework/Headers/SUUpdater.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebDownload.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebEditingDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebFrameLoadDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebJavaPlugIn.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebPlugin.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebPluginContainer.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebPolicyDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebResourceLoadDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebScriptObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">WebKit.framework/Headers/WebUIDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObjectController</string>
+ <string key="superclassName">NSController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSObjectController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSOutlineView</string>
+ <string key="superclassName">NSTableView</string>
+ <reference key="sourceIdentifier" ref="329467814"/>
+ </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>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.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">NSSecureTextField</string>
+ <string key="superclassName">NSTextField</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="367899624">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSSecureTextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSSecureTextFieldCell</string>
+ <string key="superclassName">NSTextFieldCell</string>
+ <reference key="sourceIdentifier" ref="367899624"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSSplitView</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSSplitView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTabView</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTabView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTabViewItem</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTabViewItem.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">NSTableHeaderView</string>
+ <string key="superclassName">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTableHeaderView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSTableView</string>
+ <string key="superclassName">NSControl</string>
+ <reference key="sourceIdentifier" ref="739519750"/>
+ </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">NSTreeController</string>
+ <string key="superclassName">NSObjectController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSTreeController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <reference key="sourceIdentifier" ref="48388409"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSView</string>
+ <string key="superclassName">NSResponder</string>
+ <reference key="sourceIdentifier" ref="700221146"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSDrawer.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">NSWindow</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSWindowScripting.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="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">AppKit.framework/Headers/NSWindowController.h</string>
+ </object>
+ </object>
+ </object>
</object>
<int key="IBDocument.localizationMode">0</int>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1050" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <integer value="1050" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+ <integer value="3000" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../../sequel-pro.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
diff --git a/Source/SPUserManager.h b/Source/SPUserManager.h
index 323f2fe7..d673226a 100644
--- a/Source/SPUserManager.h
+++ b/Source/SPUserManager.h
@@ -31,7 +31,7 @@
NSPersistentStoreCoordinator *persistentStoreCoordinator;
NSManagedObjectModel *managedObjectModel;
NSManagedObjectContext *managedObjectContext;
- NSDictionary *privColumnsMODict;
+ NSDictionary *privColumnToGrantMap;
BOOL isInitializing;
@@ -40,6 +40,7 @@
IBOutlet NSOutlineView* outlineView;
IBOutlet NSTabView *tabView;
IBOutlet NSTreeController *treeController;
+ IBOutlet NSMutableDictionary *privsSupportedByServer;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator;
@@ -56,11 +57,14 @@
- (IBAction)addUser:(id)sender;
- (IBAction)removeUser:(id)sender;
- (IBAction)addHost:(id)sender;
+- (void)editNewHost;
- (IBAction)removeHost:(id)sender;
// General
- (IBAction)doCancel:(id)sender;
- (IBAction)doApply:(id)sender;
+- (IBAction)checkAllPrivileges:(id)sender;
+- (IBAction)uncheckAllPrivileges:(id)sender;
// Core Data Notifications
- (void)contextDidSave:(NSNotification *)notification;
diff --git a/Source/SPUserManager.m b/Source/SPUserManager.m
index 44f499be..aaa56b1a 100644
--- a/Source/SPUserManager.m
+++ b/Source/SPUserManager.m
@@ -58,14 +58,22 @@
}
[self setConnection:connection];
-
- privColumnsMODict = [[[NSDictionary alloc] initWithObjectsAndKeys:
- @"grant_option_priv",@"Grant_priv",
- @"show_databases_priv",@"Show_db_priv",
- @"create_temporary_tables_priv",@"Create_tmp_tables_priv",
- @"Replication_slave_priv",@"Repl_slave_priv",
- @"Replication_client_priv",@"Repl_client_priv",nil] retain];
-
+
+ // When reading privileges from the database, they are converted automatically to a
+ // lowercase key used in the user privileges stores, from which a GRANT syntax
+ // is derived automatically. While most keys can be automatically converted without
+ // any difficulty, some keys differ slightly in mysql column storage to GRANT syntax;
+ // this dictionary provides mappings for those values to ensure consistency.
+ privColumnToGrantMap = [[NSDictionary alloc] initWithObjectsAndKeys:
+ @"Grant_option_priv", @"Grant_priv",
+ @"Show_databases_priv", @"Show_db_priv",
+ @"Create_temporary_tables_priv", @"Create_tmp_table_priv",
+ @"Replication_slave_priv", @"Repl_slave_priv",
+ @"Replication_client_priv", @"Repl_client_priv",
+ nil];
+
+ privsSupportedByServer = [[NSMutableDictionary alloc] init];
+
return self;
}
@@ -76,7 +84,8 @@
[managedObjectContext release], managedObjectContext = nil;
[persistentStoreCoordinator release], persistentStoreCoordinator = nil;
[managedObjectModel release], managedObjectModel = nil;
- [privColumnsMODict release], privColumnsMODict = nil;
+ [privColumnToGrantMap release], privColumnToGrantMap = nil;
+ [privsSupportedByServer release], privsSupportedByServer = nil;
[mySqlConnection release];
[super dealloc];
@@ -108,7 +117,8 @@
- (void)_initializeUsers
{
isInitializing = TRUE;
-
+ NSMutableString *privKey;
+ NSArray *privRow;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSMutableArray *resultAsArray = [NSMutableArray array];
@@ -126,12 +136,36 @@
{
[resultAsArray addObject:[result fetchRowAsDictionary]];
}
-
[usersResultArray addObjectsFromArray:resultAsArray];
[self _initializeTree:usersResultArray];
[result release];
+
+ // Set up the array of privs supported by this server.
+ [privsSupportedByServer removeAllObjects];
+
+ // Attempt to use SHOW PRIVILEGES syntax - supported since 4.1.0
+ result = [[self connection] queryString:@"SHOW PRIVILEGES"];
+ if ([result numOfRows]) {
+ while (privRow = [result fetchRowAsArray]) {
+ privKey = [NSMutableString stringWithString:[[privRow objectAtIndex:0] lowercaseString]];
+ [privKey replaceOccurrencesOfString:@" " withString:@"_" options:NSLiteralSearch range:NSMakeRange(0, [privKey length])];
+ [privKey appendString:@"_priv"];
+ [privsSupportedByServer setValue:[NSNumber numberWithBool:YES] forKey:privKey];
+ }
+
+ // If that fails, base privilege support on the mysql.users columns
+ } else {
+ result = [[self connection] queryString:@"SHOW COLUMNS FROM `mysql`.`user`"];
+ while (privRow = [result fetchRowAsArray]) {
+ privKey = [NSMutableString stringWithString:[privRow objectAtIndex:0]];
+ if (![privKey hasSuffix:@"_priv"]) continue;
+ if ([privColumnToGrantMap objectForKey:privKey]) privKey = [privColumnToGrantMap objectForKey:privKey];
+ [privsSupportedByServer setValue:[NSNumber numberWithBool:YES] forKey:[privKey lowercaseString]];
+ }
+ }
+
[pool release];
isInitializing = FALSE;
}
@@ -186,13 +220,14 @@
NS_DURING
if ([key hasSuffix:@"_priv"])
{
+ BOOL value = [[item objectForKey:key] boolValue];
+
// Special case keys
- if ([privColumnsMODict objectForKey:key] != nil)
+ if ([privColumnToGrantMap objectForKey:key])
{
- key = [privColumnsMODict objectForKey:key];
+ key = [privColumnToGrantMap objectForKey:key];
}
- BOOL value = [[item objectForKey:key] boolValue];
[child setValue:[NSNumber numberWithBool:value] forKey:key];
}
else if ([key hasPrefix:@"max"])
@@ -206,7 +241,7 @@
[child setValue:value forKey:key];
}
NS_HANDLER
- NSLog(@"%@ not implemented yet.", key);
+ DLog(@"%@ not implemented yet.", key);
NS_ENDHANDLER
}
@@ -372,6 +407,41 @@
// [self _clearData];
}
+- (IBAction)checkAllPrivileges:(id)sender
+{
+ id selectedUser = [[treeController selectedObjects] objectAtIndex:0];
+
+ // Iterate through the supported privs, setting the value of each to true
+ for (NSString *key in privsSupportedByServer) {
+ if (![key hasSuffix:@"_priv"]) continue;
+
+ // Perform the change in a try/catch check to avoid exceptions for unhandled privs
+ @try {
+ [selectedUser setValue:[NSNumber numberWithBool:TRUE] forKey:key];
+ }
+ @catch (NSException * e) {
+ }
+ }
+}
+
+- (IBAction)uncheckAllPrivileges:(id)sender
+{
+ id selectedUser = [[treeController selectedObjects] objectAtIndex:0];
+
+ // Iterate through the supported privs, setting the value of each to false
+ for (NSString *key in privsSupportedByServer) {
+ if (![key hasSuffix:@"_priv"]) continue;
+
+ // Perform the change in a try/catch check to avoid exceptions for unhandled privs
+ @try {
+ [selectedUser setValue:[NSNumber numberWithBool:FALSE] forKey:key];
+ }
+ @catch (NSException * e) {
+ }
+ }
+
+}
+
- (IBAction)addUser:(id)sender
{
if ([[treeController selectedObjects] count] > 0)
@@ -405,11 +475,15 @@
}
}
[treeController addChild:sender];
- // Need to figure out how to do this right. I want to be able to have the newly
- // added item be in edit mode to change the host name.
- NSLog(@"selectedRow: %d", [outlineView selectedRow]);
- NSIndexPath *indexPath = [treeController selectionIndexPath];
- NSLog(@"selectedChild: %d", [indexPath indexAtPosition:[outlineView selectedRow]]);
+
+ // The newly added item will be selected as it is added, but only after the next iteration of the
+ // run loop - edit it after a tiny delay.
+ [self performSelector:@selector(editNewHost) withObject:nil afterDelay:0.1];
+}
+
+// Perform a deferred edit of the currently selected row.
+- (void)editNewHost
+{
[outlineView editColumn:0 row:[outlineView selectedRow] withEvent:nil select:TRUE];
}
@@ -488,7 +562,7 @@
- (void)contextDidChange:(NSNotification *)notification
{
- NSLog(@"contextDidChange:");
+ DLog(@"contextDidChange:");
if (!isInitializing)
{
@@ -551,25 +625,26 @@
{
if ([user valueForKey:@"parent"] != nil)
{
- NSDictionary *attributesDict = [[user entity] attributesByName];
NSMutableArray *grantPrivileges = [NSMutableArray array];
NSMutableArray *revokePrivileges = [NSMutableArray array];
- for(NSString *key in [attributesDict allKeys])
+ for(NSString *key in privsSupportedByServer)
{
- if ([key hasSuffix:@"_priv"])
- {
- NSString *privilege = [key stringByReplacingOccurrencesOfString:@"_priv" withString:@""];
-
- if ([[user valueForKey:key] boolValue] == TRUE)
- {
+ if (![key hasSuffix:@"_priv"]) continue;
+ NSString *privilege = [key stringByReplacingOccurrencesOfString:@"_priv" withString:@""];
+
+
+ // Check the value of the priv and assign to grant or revoke query as appropriate; do this
+ // in a try/catch check to avoid exceptions for unhandled privs
+ @try {
+ if ([[user valueForKey:key] boolValue] == TRUE) {
[grantPrivileges addObject:[NSString stringWithFormat:@"%@", [privilege replaceUnderscoreWithSpace]]];
- }
- else
- {
+ } else {
[revokePrivileges addObject:[NSString stringWithFormat:@"%@", [privilege replaceUnderscoreWithSpace]]];
}
}
+ @catch (NSException * e) {
+ }
}
// Grant privileges
if ([grantPrivileges count] > 0)
@@ -578,7 +653,7 @@
[grantPrivileges componentsJoinedByCommas],
[[[user parent] valueForKey:@"user"] tickQuotedString],
[[user valueForKey:@"host"] tickQuotedString]];
- NSLog(@"%@", grantStatement);
+ DLog(@"%@", grantStatement);
[[self connection] queryString:[NSString stringWithFormat:grantStatement]];
[self checkAndDisplayMySqlError];
}
@@ -590,7 +665,7 @@
[revokePrivileges componentsJoinedByCommas],
[[[user parent] valueForKey:@"user"] tickQuotedString],
[[user valueForKey:@"host"] tickQuotedString]];
- NSLog(@"%@", revokeStatement);
+ DLog(@"%@", revokeStatement);
[[self connection] queryString:[NSString stringWithFormat:revokeStatement]];
[self checkAndDisplayMySqlError];
}
@@ -630,16 +705,9 @@
{
if (![[[self connection] getLastErrorMessage] isEqualToString:@""])
{
- NSBeginAlertSheet(@"MySQL Error",
- nil,
- nil,
- nil,
- [self window],
- self,
- NULL,
- NULL,
- nil,
- [[self connection] getLastErrorMessage]);
+ NSAlert *alert = [NSAlert alertWithMessageText:@"MySQL Error" defaultButton:@"OK" alternateButton:nil otherButton:nil informativeTextWithFormat:[[self connection] getLastErrorMessage]];
+ [alert runModal];
+
return FALSE;
} else {
return TRUE;
diff --git a/Source/SPUserManager.xcdatamodel/elements b/Source/SPUserManager.xcdatamodel/elements
index 8bca9833..6ef34877 100644
--- a/Source/SPUserManager.xcdatamodel/elements
+++ b/Source/SPUserManager.xcdatamodel/elements
Binary files differ
diff --git a/Source/SPUserManager.xcdatamodel/layout b/Source/SPUserManager.xcdatamodel/layout
index 5c8f25a4..b1f295a4 100644
--- a/Source/SPUserManager.xcdatamodel/layout
+++ b/Source/SPUserManager.xcdatamodel/layout
Binary files differ