aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Interfaces/English.lproj/BundleEditor.xib1236
-rw-r--r--Source/SPBundleEditorController.h7
-rw-r--r--Source/SPBundleEditorController.m315
3 files changed, 817 insertions, 741 deletions
diff --git a/Interfaces/English.lproj/BundleEditor.xib b/Interfaces/English.lproj/BundleEditor.xib
index dafcc959..fe0dfdbc 100644
--- a/Interfaces/English.lproj/BundleEditor.xib
+++ b/Interfaces/English.lproj/BundleEditor.xib
@@ -23,7 +23,7 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="737"/>
+ <integer value="962"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -60,7 +60,7 @@
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
- <string key="NSWindowContentMinSize">{726, 444}</string>
+ <string key="NSWindowContentMinSize">{655, 444}</string>
<object class="NSView" key="NSWindowView" id="391663674">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
@@ -76,6 +76,156 @@
<int key="NSvFlags">272</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSScrollView" id="802985400">
+ <reference key="NSNextResponder" ref="69213598"/>
+ <int key="NSvFlags">4370</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSClipView" id="34907435">
+ <reference key="NSNextResponder" ref="802985400"/>
+ <int key="NSvFlags">2304</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSOutlineView" id="472206854">
+ <reference key="NSNextResponder" ref="34907435"/>
+ <int key="NSvFlags">4370</int>
+ <string key="NSFrameSize">{146, 420}</string>
+ <reference key="NSSuperview" ref="34907435"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="_NSCornerView" key="NSCornerView">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{224, 0}, {16, 17}}</string>
+ </object>
+ <object class="NSMutableArray" key="NSTableColumns">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSTableColumn" id="685938371">
+ <string key="NSIdentifier">bundleName</string>
+ <double key="NSWidth">143</double>
+ <double key="NSMinWidth">16</double>
+ <double key="NSMaxWidth">1000</double>
+ <object class="NSTableHeaderCell" key="NSHeaderCell">
+ <int key="NSCellFlags">75628096</int>
+ <int key="NSCellFlags2">2048</int>
+ <string key="NSContents"/>
+ <object class="NSFont" key="NSSupport" id="26">
+ <string key="NSName">LucidaGrande</string>
+ <double key="NSSize">11</double>
+ <int key="NSfFlags">3100</int>
+ </object>
+ <object class="NSColor" key="NSBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
+ </object>
+ <object class="NSColor" key="NSTextColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">headerTextColor</string>
+ <object class="NSColor" key="NSColor" id="760623067">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MAA</bytes>
+ </object>
+ </object>
+ </object>
+ <object class="NSTextFieldCell" key="NSDataCell" id="205919728">
+ <int key="NSCellFlags">337772096</int>
+ <int key="NSCellFlags2">133120</int>
+ <string key="NSContents">Text Cell</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="472206854"/>
+ <object class="NSColor" key="NSBackgroundColor" id="255000212">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlBackgroundColor</string>
+ <object class="NSColor" key="NSColor" id="752361275">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC42NjY2NjY2ODY1AA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSTextColor" id="576381864">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">controlTextColor</string>
+ <reference key="NSColor" ref="760623067"/>
+ </object>
+ </object>
+ <int key="NSResizingMask">3</int>
+ <bool key="NSIsResizeable">YES</bool>
+ <bool key="NSIsEditable">YES</bool>
+ <reference key="NSTableView" ref="472206854"/>
+ </object>
+ </object>
+ <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">MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA</bytes>
+ </object>
+ </object>
+ <object class="NSColor" key="NSGridColor">
+ <int key="NSColorSpace">6</int>
+ <string key="NSCatalogName">System</string>
+ <string key="NSColorName">gridColor</string>
+ <object class="NSColor" key="NSColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ </object>
+ <double key="NSRowHeight">20</double>
+ <int key="NSTvFlags">1262485504</int>
+ <reference key="NSDelegate"/>
+ <reference key="NSDataSource"/>
+ <string key="NSAutosaveName">SPBundleEditorOutlineView</string>
+ <int key="NSColumnAutoresizingStyle">5</int>
+ <int key="NSDraggingSourceMaskForLocal">15</int>
+ <int key="NSDraggingSourceMaskForNonLocal">0</int>
+ <bool key="NSAllowsTypeSelect">YES</bool>
+ <int key="NSTableViewSelectionHighlightStyle">1</int>
+ <int key="NSTableViewDraggingDestinationStyle">1</int>
+ <float key="NSOutlineViewIndentationPerLevelKey">14</float>
+ <bool key="NSOutlineViewAutosaveExpandedItemsKey">YES</bool>
+ </object>
+ </object>
+ <string key="NSFrame">{{1, 1}, {146, 420}}</string>
+ <reference key="NSSuperview" ref="802985400"/>
+ <reference key="NSNextKeyView" ref="472206854"/>
+ <reference key="NSDocView" ref="472206854"/>
+ <reference key="NSBGColor" ref="255000212"/>
+ <int key="NScvFlags">4</int>
+ </object>
+ <object class="NSScroller" id="769403162">
+ <reference key="NSNextResponder" ref="802985400"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{224, 17}, {15, 102}}</string>
+ <reference key="NSSuperview" ref="802985400"/>
+ <reference key="NSTarget" ref="802985400"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.99585062265396118</double>
+ </object>
+ <object class="NSScroller" id="124076675">
+ <reference key="NSNextResponder" ref="802985400"/>
+ <int key="NSvFlags">-2147483392</int>
+ <string key="NSFrame">{{1, 406}, {192, 15}}</string>
+ <reference key="NSSuperview" ref="802985400"/>
+ <int key="NSsFlags">1</int>
+ <reference key="NSTarget" ref="802985400"/>
+ <string key="NSAction">_doScroller:</string>
+ <double key="NSPercent">0.98947370052337646</double>
+ </object>
+ </object>
+ <string key="NSFrame">{{0, 22}, {148, 422}}</string>
+ <reference key="NSSuperview" ref="69213598"/>
+ <reference key="NSNextKeyView" ref="34907435"/>
+ <int key="NSsFlags">562</int>
+ <reference key="NSVScroller" ref="769403162"/>
+ <reference key="NSHScroller" ref="124076675"/>
+ <reference key="NSContentView" ref="34907435"/>
+ <bytes key="NSScrollAmts">QSAAAEEgAABBoAAAQaAAAA</bytes>
+ </object>
<object class="BWAnchoredButtonBar" id="78837987">
<reference key="NSNextResponder" ref="69213598"/>
<int key="NSvFlags">290</int>
@@ -210,7 +360,7 @@
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="998795499"/>
</object>
- <object class="NSMenuItem" id="636076631">
+ <object class="NSMenuItem" id="454224452">
<reference key="NSMenu" ref="973574710"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
@@ -222,7 +372,7 @@
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="998795499"/>
</object>
- <object class="NSMenuItem" id="526418762">
+ <object class="NSMenuItem" id="642604110">
<reference key="NSMenu" ref="973574710"/>
<string key="NSTitle">Reload Bundles</string>
<string key="NSKeyEquiv"/>
@@ -249,180 +399,6 @@
<bool key="BWABBHandleIsRightAligned">NO</bool>
<int key="BWABBSelectedIndex">0</int>
</object>
- <object class="NSScrollView" id="411849888">
- <reference key="NSNextResponder" ref="69213598"/>
- <int key="NSvFlags">4370</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSClipView" id="731156573">
- <reference key="NSNextResponder" ref="411849888"/>
- <int key="NSvFlags">2304</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTableView" id="586526060">
- <reference key="NSNextResponder" ref="731156573"/>
- <int key="NSvFlags">4370</int>
- <string key="NSFrameSize">{143, 405}</string>
- <reference key="NSSuperview" ref="731156573"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTableHeaderView" key="NSHeaderView" id="413965492">
- <reference key="NSNextResponder" ref="525273426"/>
- <int key="NSvFlags">4352</int>
- <string key="NSFrameSize">{143, 17}</string>
- <reference key="NSSuperview" ref="525273426"/>
- <reference key="NSTableView" ref="586526060"/>
- </object>
- <object class="_NSCornerView" key="NSCornerView" id="713749920">
- <reference key="NSNextResponder" ref="411849888"/>
- <int key="NSvFlags">-2147483392</int>
- <string key="NSFrame">{{198, 0}, {12, 17}}</string>
- <reference key="NSSuperview" ref="411849888"/>
- </object>
- <object class="NSMutableArray" key="NSTableColumns">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTableColumn" id="256079468">
- <string key="NSIdentifier">name</string>
- <double key="NSWidth">140</double>
- <double key="NSMinWidth">20</double>
- <double key="NSMaxWidth">2000</double>
- <object class="NSTableHeaderCell" key="NSHeaderCell">
- <int key="NSCellFlags">75628096</int>
- <int key="NSCellFlags2">2048</int>
- <string key="NSContents">Bundles</string>
- <object class="NSFont" key="NSSupport" id="26">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">11</double>
- <int key="NSfFlags">3100</int>
- </object>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
- </object>
- <object class="NSColor" key="NSTextColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">headerTextColor</string>
- <object class="NSColor" key="NSColor" id="760623067">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- </object>
- </object>
- </object>
- <object class="NSTextFieldCell" key="NSDataCell" id="644916474">
- <int key="NSCellFlags">337772097</int>
- <int key="NSCellFlags2">133120</int>
- <string key="NSContents">Text Cell</string>
- <reference key="NSSupport" ref="26"/>
- <reference key="NSControlView" ref="586526060"/>
- <object class="NSColor" key="NSBackgroundColor" id="255000212">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlBackgroundColor</string>
- <object class="NSColor" key="NSColor" id="752361275">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC42NjY2NjY2ODY1AA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSTextColor" id="576381864">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlTextColor</string>
- <reference key="NSColor" ref="760623067"/>
- </object>
- </object>
- <int key="NSResizingMask">3</int>
- <bool key="NSIsResizeable">YES</bool>
- <bool key="NSIsEditable">YES</bool>
- <reference key="NSTableView" ref="586526060"/>
- </object>
- </object>
- <double key="NSIntercellSpacingWidth">3</double>
- <double key="NSIntercellSpacingHeight">2</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">MC44MzkyMTU2OTU5IDAuODY2NjY2Njc0NiAwLjg5ODAzOTIyMTgAA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSGridColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">gridColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC41AA</bytes>
- </object>
- </object>
- <double key="NSRowHeight">16</double>
- <int key="NSTvFlags">1262485504</int>
- <reference key="NSDelegate"/>
- <reference key="NSDataSource"/>
- <string key="NSAutosaveName">SPQueryFavoriteManagerTable</string>
- <int key="NSColumnAutoresizingStyle">5</int>
- <int key="NSDraggingSourceMaskForLocal">15</int>
- <int key="NSDraggingSourceMaskForNonLocal">0</int>
- <bool key="NSAllowsTypeSelect">YES</bool>
- <int key="NSTableViewSelectionHighlightStyle">1</int>
- <int key="NSTableViewDraggingDestinationStyle">1</int>
- </object>
- </object>
- <string key="NSFrame">{{0, 17}, {143, 405}}</string>
- <reference key="NSSuperview" ref="411849888"/>
- <reference key="NSNextKeyView" ref="586526060"/>
- <reference key="NSDocView" ref="586526060"/>
- <reference key="NSBGColor" ref="255000212"/>
- <int key="NScvFlags">4</int>
- </object>
- <object class="NSScroller" id="100868916">
- <reference key="NSNextResponder" ref="411849888"/>
- <int key="NSvFlags">-2147483392</int>
- <string key="NSFrame">{{198, 17}, {11, 322}}</string>
- <reference key="NSSuperview" ref="411849888"/>
- <int key="NSsFlags">256</int>
- <reference key="NSTarget" ref="411849888"/>
- <string key="NSAction">_doScroller:</string>
- <double key="NSPercent">0.94985252618789673</double>
- </object>
- <object class="NSScroller" id="948707975">
- <reference key="NSNextResponder" ref="411849888"/>
- <int key="NSvFlags">-2147483392</int>
- <string key="NSFrame">{{-100, -100}, {311, 15}}</string>
- <reference key="NSSuperview" ref="411849888"/>
- <int key="NSsFlags">1</int>
- <reference key="NSTarget" ref="411849888"/>
- <string key="NSAction">_doScroller:</string>
- <double key="NSPercent">0.99532711505889893</double>
- </object>
- <object class="NSClipView" id="525273426">
- <reference key="NSNextResponder" ref="411849888"/>
- <int key="NSvFlags">2304</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="413965492"/>
- </object>
- <string key="NSFrameSize">{143, 17}</string>
- <reference key="NSSuperview" ref="411849888"/>
- <reference key="NSNextKeyView" ref="413965492"/>
- <reference key="NSDocView" ref="413965492"/>
- <reference key="NSBGColor" ref="255000212"/>
- <int key="NScvFlags">4</int>
- </object>
- <reference ref="713749920"/>
- </object>
- <string key="NSFrame">{{0, 22}, {143, 422}}</string>
- <reference key="NSSuperview" ref="69213598"/>
- <reference key="NSNextKeyView" ref="731156573"/>
- <int key="NSsFlags">528</int>
- <reference key="NSVScroller" ref="100868916"/>
- <reference key="NSHScroller" ref="948707975"/>
- <reference key="NSContentView" ref="731156573"/>
- <reference key="NSHeaderClipView" ref="525273426"/>
- <reference key="NSCornerView" ref="713749920"/>
- <bytes key="NSScrollAmts">QSAAAEEgAABBkAAAQZAAAA</bytes>
- </object>
</object>
<string key="NSFrameSize">{142, 444}</string>
<reference key="NSSuperview" ref="358491109"/>
@@ -1079,31 +1055,21 @@
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1058}}</string>
- <string key="NSMinSize">{726, 466}</string>
+ <string key="NSMinSize">{655, 466}</string>
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSFrameAutosaveName">SPBundleEditor</string>
</object>
- <object class="NSArrayController" id="707140570">
+ <object class="NSTreeController" id="645644012">
<object class="NSMutableArray" key="NSDeclaredKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>command</string>
- <string>name</string>
- <string>category</string>
- <string>tooltip</string>
- <string>disabled</string>
<string>bundleName</string>
- <string>editor</string>
- <string>datatable</string>
- <string>inputfield</string>
- <string>internalKeyEquivalent</string>
</object>
<bool key="NSEditable">YES</bool>
<object class="_NSManagedProxy" key="_NSManagedProxy"/>
<bool key="NSAvoidsEmptySelection">YES</bool>
<bool key="NSPreservesSelection">YES</bool>
<bool key="NSSelectsInsertedObjects">YES</bool>
- <bool key="NSFilterRestrictsInsertion">YES</bool>
- <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
+ <string key="NSTreeContentChildrenKey">children</string>
</object>
<object class="NSMenu" id="655873624">
<string key="NSTitle"/>
@@ -1179,14 +1145,6 @@
<int key="connectionID">819</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">commandBundleArrayController</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="707140570"/>
- </object>
- <int key="connectionID">826</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">addCommandBundle:</string>
<reference key="source" ref="1001"/>
@@ -1212,30 +1170,6 @@
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
- <string key="label">dataSource</string>
- <reference key="source" ref="586526060"/>
- <reference key="destination" ref="1001"/>
- </object>
- <int key="connectionID">830</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="586526060"/>
- <reference key="destination" ref="1001"/>
- </object>
- <int key="connectionID">831</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">commandsTableView</string>
- <reference key="source" ref="1001"/>
- <reference key="destination" ref="586526060"/>
- </object>
- <int key="connectionID">832</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="209604501"/>
<reference key="destination" ref="1001"/>
@@ -1323,70 +1257,6 @@
<int key="connectionID">853</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
- <string key="label">value: selection.name</string>
- <reference key="source" ref="209604501"/>
- <reference key="destination" ref="707140570"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="209604501"/>
- <reference key="NSDestination" ref="707140570"/>
- <string key="NSLabel">value: selection.name</string>
- <string key="NSBinding">value</string>
- <string key="NSKeyPath">selection.name</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">865</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
- <string key="label">value: selection.category</string>
- <reference key="source" ref="233794614"/>
- <reference key="destination" ref="707140570"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="233794614"/>
- <reference key="NSDestination" ref="707140570"/>
- <string key="NSLabel">value: selection.category</string>
- <string key="NSBinding">value</string>
- <string key="NSKeyPath">selection.category</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">866</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
- <string key="label">value: selection.tooltip</string>
- <reference key="source" ref="70452502"/>
- <reference key="destination" ref="707140570"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="70452502"/>
- <reference key="NSDestination" ref="707140570"/>
- <string key="NSLabel">value: selection.tooltip</string>
- <string key="NSBinding">value</string>
- <string key="NSKeyPath">selection.tooltip</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">867</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
- <string key="label">value: arrangedObjects.bundleName</string>
- <reference key="source" ref="256079468"/>
- <reference key="destination" ref="707140570"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="256079468"/>
- <reference key="NSDestination" ref="707140570"/>
- <string key="NSLabel">value: arrangedObjects.bundleName</string>
- <string key="NSBinding">value</string>
- <string key="NSKeyPath">arrangedObjects.bundleName</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">874</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">saveAndCloseWindow:</string>
<reference key="source" ref="1001"/>
@@ -1443,14 +1313,6 @@
<int key="connectionID">906</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">menu</string>
- <reference key="source" ref="586526060"/>
- <reference key="destination" ref="655873624"/>
- </object>
- <int key="connectionID">907</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">removeCommandBundle:</string>
<reference key="source" ref="1001"/>
@@ -1475,22 +1337,6 @@
<int key="connectionID">916</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
- <string key="label">value: selection.internalKeyEquivalent</string>
- <reference key="source" ref="62695080"/>
- <reference key="destination" ref="707140570"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="62695080"/>
- <reference key="NSDestination" ref="707140570"/>
- <string key="NSLabel">value: selection.internalKeyEquivalent</string>
- <string key="NSBinding">value</string>
- <string key="NSKeyPath">selection.internalKeyEquivalent</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">919</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">saveBundle:</string>
<reference key="source" ref="1001"/>
@@ -1507,22 +1353,6 @@
<int key="connectionID">925</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
- <string key="label">value: selection.command</string>
- <reference key="source" ref="965862131"/>
- <reference key="destination" ref="707140570"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="965862131"/>
- <reference key="NSDestination" ref="707140570"/>
- <string key="NSLabel">value: selection.command</string>
- <string key="NSBinding">value</string>
- <string key="NSKeyPath">selection.command</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">927</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="965862131"/>
@@ -1541,14 +1371,6 @@
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">nextKeyView</string>
- <reference key="source" ref="586526060"/>
- <reference key="destination" ref="209604501"/>
- </object>
- <int key="connectionID">940</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
<reference key="source" ref="209604501"/>
<reference key="destination" ref="904079305"/>
</object>
@@ -1643,14 +1465,6 @@
<int key="connectionID">953</int>
</object>
<object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="972789208"/>
- <reference key="destination" ref="586526060"/>
- </object>
- <int key="connectionID">954</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">scopeButtonChanged:</string>
<reference key="source" ref="1001"/>
@@ -1670,10 +1484,146 @@
<object class="IBActionConnection" key="connection">
<string key="label">reloadBundles:</string>
<reference key="source" ref="1001"/>
- <reference key="destination" ref="526418762"/>
+ <reference key="destination" ref="642604110"/>
</object>
<int key="connectionID">959</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">commandsOutlineView</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="472206854"/>
+ </object>
+ <int key="connectionID">971</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">dataSource</string>
+ <reference key="source" ref="472206854"/>
+ <reference key="destination" ref="1001"/>
+ </object>
+ <int key="connectionID">976</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="472206854"/>
+ <reference key="destination" ref="1001"/>
+ </object>
+ <int key="connectionID">977</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">commandBundleTreeController</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="645644012"/>
+ </object>
+ <int key="connectionID">983</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: arrangedObjects.bundleName</string>
+ <reference key="source" ref="685938371"/>
+ <reference key="destination" ref="645644012"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="685938371"/>
+ <reference key="NSDestination" ref="645644012"/>
+ <string key="NSLabel">value: arrangedObjects.bundleName</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">arrangedObjects.bundleName</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">985</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.name</string>
+ <reference key="source" ref="209604501"/>
+ <reference key="destination" ref="645644012"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="209604501"/>
+ <reference key="NSDestination" ref="645644012"/>
+ <string key="NSLabel">value: selection.name</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.name</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">986</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.command</string>
+ <reference key="source" ref="965862131"/>
+ <reference key="destination" ref="645644012"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="965862131"/>
+ <reference key="NSDestination" ref="645644012"/>
+ <string key="NSLabel">value: selection.command</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.command</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">987</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.category</string>
+ <reference key="source" ref="233794614"/>
+ <reference key="destination" ref="645644012"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="233794614"/>
+ <reference key="NSDestination" ref="645644012"/>
+ <string key="NSLabel">value: selection.category</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.category</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">988</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.tooltip</string>
+ <reference key="source" ref="70452502"/>
+ <reference key="destination" ref="645644012"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="70452502"/>
+ <reference key="NSDestination" ref="645644012"/>
+ <string key="NSLabel">value: selection.tooltip</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.tooltip</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">989</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.internalKeyEquivalent</string>
+ <reference key="source" ref="62695080"/>
+ <reference key="destination" ref="645644012"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="62695080"/>
+ <reference key="NSDestination" ref="645644012"/>
+ <string key="NSLabel">value: selection.internalKeyEquivalent</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.internalKeyEquivalent</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">990</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">menu</string>
+ <reference key="source" ref="472206854"/>
+ <reference key="destination" ref="655873624"/>
+ </object>
+ <int key="connectionID">991</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -1736,25 +1686,13 @@
<reference key="object" ref="69213598"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="411849888"/>
<reference ref="78837987"/>
+ <reference ref="802985400"/>
</object>
<reference key="parent" ref="358491109"/>
<string key="objectName">Bundle Table View</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">729</int>
- <reference key="object" ref="411849888"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="413965492"/>
- <reference ref="586526060"/>
- <reference ref="100868916"/>
- <reference ref="948707975"/>
- </object>
- <reference key="parent" ref="69213598"/>
- </object>
- <object class="IBObjectRecord">
<int key="objectID">730</int>
<reference key="object" ref="78837987"/>
<object class="NSMutableArray" key="children">
@@ -1820,8 +1758,8 @@
<reference ref="204686633"/>
<reference ref="946837148"/>
<reference ref="18029675"/>
- <reference ref="636076631"/>
- <reference ref="526418762"/>
+ <reference ref="454224452"/>
+ <reference ref="642604110"/>
</object>
<reference key="parent" ref="998795499"/>
</object>
@@ -1836,234 +1774,228 @@
<reference key="parent" ref="973574710"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">748</int>
- <reference key="object" ref="413965492"/>
- <reference key="parent" ref="411849888"/>
+ <int key="objectID">876</int>
+ <reference key="object" ref="946837148"/>
+ <reference key="parent" ref="973574710"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">749</int>
- <reference key="object" ref="586526060"/>
+ <int key="objectID">899</int>
+ <reference key="object" ref="655873624"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="256079468"/>
+ <reference ref="863740680"/>
+ <reference ref="819763369"/>
+ <reference ref="845290196"/>
+ <reference ref="1055471998"/>
</object>
- <reference key="parent" ref="411849888"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Gear Menu</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">750</int>
- <reference key="object" ref="100868916"/>
- <reference key="parent" ref="411849888"/>
+ <int key="objectID">903</int>
+ <reference key="object" ref="863740680"/>
+ <reference key="parent" ref="655873624"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">751</int>
- <reference key="object" ref="948707975"/>
- <reference key="parent" ref="411849888"/>
+ <int key="objectID">904</int>
+ <reference key="object" ref="819763369"/>
+ <reference key="parent" ref="655873624"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">753</int>
- <reference key="object" ref="256079468"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="644916474"/>
- </object>
- <reference key="parent" ref="586526060"/>
+ <int key="objectID">908</int>
+ <reference key="object" ref="845290196"/>
+ <reference key="parent" ref="655873624"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">754</int>
- <reference key="object" ref="644916474"/>
- <reference key="parent" ref="256079468"/>
+ <int key="objectID">909</int>
+ <reference key="object" ref="1055471998"/>
+ <reference key="parent" ref="655873624"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">686</int>
- <reference key="object" ref="338542681"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="570587248"/>
- <reference ref="994416682"/>
- <reference ref="1032857532"/>
- <reference ref="209604501"/>
- <reference ref="411989314"/>
- <reference ref="931989616"/>
- <reference ref="1013555552"/>
- <reference ref="233794614"/>
- <reference ref="430446404"/>
- <reference ref="70452502"/>
- <reference ref="334638351"/>
- <reference ref="117047836"/>
- <reference ref="62695080"/>
- <reference ref="679408795"/>
- <reference ref="277233496"/>
- <reference ref="552615839"/>
- <reference ref="669651343"/>
- <reference ref="904079305"/>
- <reference ref="864339274"/>
- <reference ref="179792134"/>
- </object>
- <reference key="parent" ref="358491109"/>
- <string key="objectName">Bundle Content View</string>
+ <int key="objectID">920</int>
+ <reference key="object" ref="18029675"/>
+ <reference key="parent" ref="973574710"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">774</int>
- <reference key="object" ref="570587248"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="299353121"/>
- </object>
- <reference key="parent" ref="338542681"/>
- <string key="objectName">Pop Up Button (Output)</string>
+ <int key="objectID">957</int>
+ <reference key="object" ref="454224452"/>
+ <reference key="parent" ref="973574710"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">775</int>
- <reference key="object" ref="299353121"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="47835238"/>
- </object>
- <reference key="parent" ref="570587248"/>
+ <int key="objectID">958</int>
+ <reference key="object" ref="642604110"/>
+ <reference key="parent" ref="973574710"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">776</int>
- <reference key="object" ref="47835238"/>
+ <int key="objectID">982</int>
+ <reference key="object" ref="645644012"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">962</int>
+ <reference key="object" ref="802985400"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="472206854"/>
+ <reference ref="124076675"/>
+ <reference ref="769403162"/>
</object>
- <reference key="parent" ref="299353121"/>
+ <reference key="parent" ref="69213598"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">788</int>
- <reference key="object" ref="994416682"/>
+ <int key="objectID">965</int>
+ <reference key="object" ref="472206854"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="849546250"/>
+ <reference ref="685938371"/>
</object>
- <reference key="parent" ref="338542681"/>
+ <reference key="parent" ref="802985400"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">789</int>
- <reference key="object" ref="849546250"/>
- <reference key="parent" ref="994416682"/>
+ <int key="objectID">964</int>
+ <reference key="object" ref="124076675"/>
+ <reference key="parent" ref="802985400"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">693</int>
- <reference key="object" ref="1032857532"/>
+ <int key="objectID">963</int>
+ <reference key="object" ref="769403162"/>
+ <reference key="parent" ref="802985400"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">967</int>
+ <reference key="object" ref="685938371"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="434303900"/>
+ <reference ref="205919728"/>
</object>
- <reference key="parent" ref="338542681"/>
+ <reference key="parent" ref="472206854"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">700</int>
- <reference key="object" ref="434303900"/>
- <reference key="parent" ref="1032857532"/>
+ <int key="objectID">970</int>
+ <reference key="object" ref="205919728"/>
+ <reference key="parent" ref="685938371"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">695</int>
- <reference key="object" ref="209604501"/>
+ <int key="objectID">686</int>
+ <reference key="object" ref="338542681"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1025501303"/>
+ <reference ref="179792134"/>
+ <reference ref="864339274"/>
+ <reference ref="904079305"/>
+ <reference ref="669651343"/>
+ <reference ref="552615839"/>
+ <reference ref="277233496"/>
+ <reference ref="679408795"/>
+ <reference ref="62695080"/>
+ <reference ref="117047836"/>
+ <reference ref="334638351"/>
+ <reference ref="70452502"/>
+ <reference ref="430446404"/>
+ <reference ref="233794614"/>
+ <reference ref="1013555552"/>
+ <reference ref="931989616"/>
+ <reference ref="411989314"/>
+ <reference ref="209604501"/>
+ <reference ref="1032857532"/>
+ <reference ref="994416682"/>
+ <reference ref="570587248"/>
</object>
- <reference key="parent" ref="338542681"/>
- <string key="objectName">Text Field (Menu Label)</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">696</int>
- <reference key="object" ref="1025501303"/>
- <reference key="parent" ref="209604501"/>
+ <reference key="parent" ref="358491109"/>
+ <string key="objectName">Bundle Content View</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">795</int>
- <reference key="object" ref="411989314"/>
+ <int key="objectID">820</int>
+ <reference key="object" ref="179792134"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="679867674"/>
+ <reference ref="965862131"/>
+ <reference ref="724741922"/>
+ <reference ref="414961522"/>
</object>
<reference key="parent" ref="338542681"/>
+ <string key="objectName">Bordered Scroll View (Command Text View)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">796</int>
- <reference key="object" ref="679867674"/>
- <reference key="parent" ref="411989314"/>
+ <int key="objectID">823</int>
+ <reference key="object" ref="965862131"/>
+ <reference key="parent" ref="179792134"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">797</int>
- <reference key="object" ref="931989616"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="370999655"/>
- </object>
- <reference key="parent" ref="338542681"/>
+ <int key="objectID">822</int>
+ <reference key="object" ref="724741922"/>
+ <reference key="parent" ref="179792134"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">798</int>
- <reference key="object" ref="370999655"/>
- <reference key="parent" ref="931989616"/>
+ <int key="objectID">821</int>
+ <reference key="object" ref="414961522"/>
+ <reference key="parent" ref="179792134"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">804</int>
- <reference key="object" ref="62695080"/>
+ <int key="objectID">938</int>
+ <reference key="object" ref="864339274"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="670400760"/>
+ <reference ref="553916693"/>
</object>
<reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">780</int>
- <reference key="object" ref="1013555552"/>
+ <int key="objectID">939</int>
+ <reference key="object" ref="553916693"/>
+ <reference key="parent" ref="864339274"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">932</int>
+ <reference key="object" ref="904079305"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="4363123"/>
+ <reference ref="886363818"/>
</object>
<reference key="parent" ref="338542681"/>
- <string key="objectName">Pop Up Button (Input Fallback)</string>
+ <string key="objectName">Pop Up Button (Input)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">781</int>
- <reference key="object" ref="4363123"/>
+ <int key="objectID">933</int>
+ <reference key="object" ref="886363818"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="730171686"/>
+ <reference ref="416241867"/>
</object>
- <reference key="parent" ref="1013555552"/>
+ <reference key="parent" ref="904079305"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">782</int>
- <reference key="object" ref="730171686"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <reference key="parent" ref="4363123"/>
+ <int key="objectID">934</int>
+ <reference key="object" ref="416241867"/>
+ <reference key="parent" ref="886363818"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">691</int>
- <reference key="object" ref="233794614"/>
+ <int key="objectID">936</int>
+ <reference key="object" ref="669651343"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="748268806"/>
+ <reference ref="44795332"/>
</object>
<reference key="parent" ref="338542681"/>
- <string key="objectName">Text Field (Menu Category)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">702</int>
- <reference key="object" ref="748268806"/>
- <reference key="parent" ref="233794614"/>
+ <int key="objectID">937</int>
+ <reference key="object" ref="44795332"/>
+ <reference key="parent" ref="669651343"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">692</int>
- <reference key="object" ref="430446404"/>
+ <int key="objectID">859</int>
+ <reference key="object" ref="552615839"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="622343774"/>
+ <reference ref="1051503991"/>
</object>
<reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">701</int>
- <reference key="object" ref="622343774"/>
- <reference key="parent" ref="430446404"/>
+ <int key="objectID">860</int>
+ <reference key="object" ref="1051503991"/>
+ <reference key="parent" ref="552615839"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">690</int>
@@ -2080,33 +2012,32 @@
<reference key="parent" ref="277233496"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">799</int>
- <reference key="object" ref="70452502"/>
+ <int key="objectID">817</int>
+ <reference key="object" ref="679408795"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="43525095"/>
+ <reference ref="697434956"/>
</object>
<reference key="parent" ref="338542681"/>
- <string key="objectName">Text Field (Tooltip)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">802</int>
- <reference key="object" ref="43525095"/>
- <reference key="parent" ref="70452502"/>
+ <int key="objectID">818</int>
+ <reference key="object" ref="697434956"/>
+ <reference key="parent" ref="679408795"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">800</int>
- <reference key="object" ref="334638351"/>
+ <int key="objectID">804</int>
+ <reference key="object" ref="62695080"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="627233937"/>
+ <reference ref="670400760"/>
</object>
<reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">801</int>
- <reference key="object" ref="627233937"/>
- <reference key="parent" ref="334638351"/>
+ <int key="objectID">824</int>
+ <reference key="object" ref="670400760"/>
+ <reference key="parent" ref="62695080"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">768</int>
@@ -2130,181 +2061,184 @@
<object class="IBObjectRecord">
<int key="objectID">770</int>
<reference key="object" ref="378188111"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
<reference key="parent" ref="131002945"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">817</int>
- <reference key="object" ref="679408795"/>
+ <int key="objectID">800</int>
+ <reference key="object" ref="334638351"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="697434956"/>
+ <reference ref="627233937"/>
</object>
<reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">818</int>
- <reference key="object" ref="697434956"/>
- <reference key="parent" ref="679408795"/>
+ <int key="objectID">801</int>
+ <reference key="object" ref="627233937"/>
+ <reference key="parent" ref="334638351"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">820</int>
- <reference key="object" ref="179792134"/>
+ <int key="objectID">799</int>
+ <reference key="object" ref="70452502"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="414961522"/>
- <reference ref="724741922"/>
- <reference ref="965862131"/>
+ <reference ref="43525095"/>
</object>
<reference key="parent" ref="338542681"/>
- <string key="objectName">Bordered Scroll View (Command Text View)</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">821</int>
- <reference key="object" ref="414961522"/>
- <reference key="parent" ref="179792134"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">822</int>
- <reference key="object" ref="724741922"/>
- <reference key="parent" ref="179792134"/>
+ <string key="objectName">Text Field (Tooltip)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">823</int>
- <reference key="object" ref="965862131"/>
- <reference key="parent" ref="179792134"/>
+ <int key="objectID">802</int>
+ <reference key="object" ref="43525095"/>
+ <reference key="parent" ref="70452502"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">824</int>
- <reference key="object" ref="670400760"/>
- <reference key="parent" ref="62695080"/>
+ <int key="objectID">692</int>
+ <reference key="object" ref="430446404"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="622343774"/>
+ </object>
+ <reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">825</int>
- <reference key="object" ref="707140570"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">Bundle Commands</string>
+ <int key="objectID">701</int>
+ <reference key="object" ref="622343774"/>
+ <reference key="parent" ref="430446404"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">859</int>
- <reference key="object" ref="552615839"/>
+ <int key="objectID">691</int>
+ <reference key="object" ref="233794614"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1051503991"/>
+ <reference ref="748268806"/>
</object>
<reference key="parent" ref="338542681"/>
+ <string key="objectName">Text Field (Menu Category)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">860</int>
- <reference key="object" ref="1051503991"/>
- <reference key="parent" ref="552615839"/>
+ <int key="objectID">702</int>
+ <reference key="object" ref="748268806"/>
+ <reference key="parent" ref="233794614"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">876</int>
- <reference key="object" ref="946837148"/>
- <reference key="parent" ref="973574710"/>
+ <int key="objectID">780</int>
+ <reference key="object" ref="1013555552"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="4363123"/>
+ </object>
+ <reference key="parent" ref="338542681"/>
+ <string key="objectName">Pop Up Button (Input Fallback)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">899</int>
- <reference key="object" ref="655873624"/>
+ <int key="objectID">781</int>
+ <reference key="object" ref="4363123"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="863740680"/>
- <reference ref="819763369"/>
- <reference ref="845290196"/>
- <reference ref="1055471998"/>
+ <reference ref="730171686"/>
</object>
- <reference key="parent" ref="0"/>
- <string key="objectName">Gear Menu</string>
+ <reference key="parent" ref="1013555552"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">903</int>
- <reference key="object" ref="863740680"/>
- <reference key="parent" ref="655873624"/>
+ <int key="objectID">782</int>
+ <reference key="object" ref="730171686"/>
+ <reference key="parent" ref="4363123"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">904</int>
- <reference key="object" ref="819763369"/>
- <reference key="parent" ref="655873624"/>
+ <int key="objectID">797</int>
+ <reference key="object" ref="931989616"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="370999655"/>
+ </object>
+ <reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">908</int>
- <reference key="object" ref="845290196"/>
- <reference key="parent" ref="655873624"/>
+ <int key="objectID">798</int>
+ <reference key="object" ref="370999655"/>
+ <reference key="parent" ref="931989616"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">909</int>
- <reference key="object" ref="1055471998"/>
- <reference key="parent" ref="655873624"/>
+ <int key="objectID">795</int>
+ <reference key="object" ref="411989314"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="679867674"/>
+ </object>
+ <reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">920</int>
- <reference key="object" ref="18029675"/>
- <reference key="parent" ref="973574710"/>
+ <int key="objectID">796</int>
+ <reference key="object" ref="679867674"/>
+ <reference key="parent" ref="411989314"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">932</int>
- <reference key="object" ref="904079305"/>
+ <int key="objectID">695</int>
+ <reference key="object" ref="209604501"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="886363818"/>
+ <reference ref="1025501303"/>
</object>
<reference key="parent" ref="338542681"/>
- <string key="objectName">Pop Up Button (Input)</string>
+ <string key="objectName">Text Field (Menu Label)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">933</int>
- <reference key="object" ref="886363818"/>
+ <int key="objectID">696</int>
+ <reference key="object" ref="1025501303"/>
+ <reference key="parent" ref="209604501"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">693</int>
+ <reference key="object" ref="1032857532"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="416241867"/>
+ <reference ref="434303900"/>
</object>
- <reference key="parent" ref="904079305"/>
+ <reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">934</int>
- <reference key="object" ref="416241867"/>
- <reference key="parent" ref="886363818"/>
+ <int key="objectID">700</int>
+ <reference key="object" ref="434303900"/>
+ <reference key="parent" ref="1032857532"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">936</int>
- <reference key="object" ref="669651343"/>
+ <int key="objectID">788</int>
+ <reference key="object" ref="994416682"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="44795332"/>
+ <reference ref="849546250"/>
</object>
<reference key="parent" ref="338542681"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">937</int>
- <reference key="object" ref="44795332"/>
- <reference key="parent" ref="669651343"/>
+ <int key="objectID">789</int>
+ <reference key="object" ref="849546250"/>
+ <reference key="parent" ref="994416682"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">938</int>
- <reference key="object" ref="864339274"/>
+ <int key="objectID">774</int>
+ <reference key="object" ref="570587248"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="553916693"/>
+ <reference ref="299353121"/>
</object>
<reference key="parent" ref="338542681"/>
+ <string key="objectName">Pop Up Button (Output)</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">939</int>
- <reference key="object" ref="553916693"/>
- <reference key="parent" ref="864339274"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">957</int>
- <reference key="object" ref="636076631"/>
- <reference key="parent" ref="973574710"/>
+ <int key="objectID">775</int>
+ <reference key="object" ref="299353121"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="47835238"/>
+ </object>
+ <reference key="parent" ref="570587248"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">958</int>
- <reference key="object" ref="526418762"/>
- <reference key="parent" ref="973574710"/>
+ <int key="objectID">776</int>
+ <reference key="object" ref="47835238"/>
+ <reference key="parent" ref="299353121"/>
</object>
</object>
</object>
@@ -2336,8 +2270,6 @@
<string>701.IBPluginDependency</string>
<string>702.IBPluginDependency</string>
<string>703.IBPluginDependency</string>
- <string>729.IBPluginDependency</string>
- <string>729.ImportedFromIB2</string>
<string>730.IBPluginDependency</string>
<string>731.IBAttributePlaceholdersKey</string>
<string>731.IBPluginDependency</string>
@@ -2352,19 +2284,6 @@
<string>737.IBPluginDependency</string>
<string>738.IBPluginDependency</string>
<string>741.IBPluginDependency</string>
- <string>748.IBPluginDependency</string>
- <string>749.CustomClassName</string>
- <string>749.IBPluginDependency</string>
- <string>749.ImportedFromIB2</string>
- <string>750.IBPluginDependency</string>
- <string>750.IBShouldRemoveOnLegacySave</string>
- <string>751.IBPluginDependency</string>
- <string>751.IBShouldRemoveOnLegacySave</string>
- <string>753.IBPluginDependency</string>
- <string>753.ImportedFromIB2</string>
- <string>754.CustomClassName</string>
- <string>754.IBPluginDependency</string>
- <string>754.ImportedFromIB2</string>
<string>768.IBAttributePlaceholdersKey</string>
<string>768.IBPluginDependency</string>
<string>769.IBPluginDependency</string>
@@ -2403,7 +2322,6 @@
<string>822.IBPluginDependency</string>
<string>823.CustomClassName</string>
<string>823.IBPluginDependency</string>
- <string>825.IBPluginDependency</string>
<string>859.IBAttributePlaceholdersKey</string>
<string>859.IBPluginDependency</string>
<string>860.IBPluginDependency</string>
@@ -2426,16 +2344,23 @@
<string>939.IBPluginDependency</string>
<string>957.IBPluginDependency</string>
<string>958.IBPluginDependency</string>
+ <string>962.IBPluginDependency</string>
+ <string>963.IBPluginDependency</string>
+ <string>964.IBPluginDependency</string>
+ <string>965.IBPluginDependency</string>
+ <string>967.IBPluginDependency</string>
+ <string>970.IBPluginDependency</string>
+ <string>982.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{295, 369}, {655, 444}}</string>
+ <string>{{226, 478}, {655, 444}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{295, 369}, {655, 444}}</string>
+ <string>{{226, 478}, {655, 444}}</string>
<boolean value="NO"/>
<boolean value="YES"/>
- <string>{726, 444}</string>
+ <string>{655, 444}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.brandonwalkin.BWToolkit</string>
<string>com.brandonwalkin.BWToolkit</string>
@@ -2474,8 +2399,6 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
<string>com.brandonwalkin.BWToolkit</string>
<object class="NSMutableDictionary">
<string key="NS.key.0">ToolTip</string>
@@ -2507,23 +2430,10 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.brandonwalkin.BWToolkit</string>
- <string>{{345, 294}, {204, 98}}</string>
+ <string>{{239, 290}, {204, 98}}</string>
<string>com.brandonwalkin.BWToolkit</string>
<string>com.brandonwalkin.BWToolkit</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>SPTableView</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>ImageAndTextCell</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
<object class="NSMutableDictionary">
<string key="NS.key.0">ToolTip</string>
<object class="IBToolTipAttribute" key="NS.object.0">
@@ -2617,7 +2527,6 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>SPBundleCommandTextView</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSMutableDictionary">
<string key="NS.key.0">ToolTip</string>
<object class="IBToolTipAttribute" key="NS.object.0">
@@ -2654,6 +2563,13 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -2672,7 +2588,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">959</int>
+ <int key="maxID">991</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -2686,14 +2602,6 @@
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">ImageAndTextCell</string>
- <string key="superclassName">NSTextFieldCell</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBUserSource</string>
- <string key="minorKey"/>
- </object>
- </object>
- <object class="IBPartialClassDescription">
<string key="className">NSApplication</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
@@ -2795,14 +2703,6 @@
<string key="minorKey">Source/SPWindowAdditions.h</string>
</object>
</object>
- <object class="IBPartialClassDescription">
- <string key="className">SPTableView</string>
- <string key="superclassName">NSTableView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBUserSource</string>
- <string key="minorKey"/>
- </object>
- </object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -2936,7 +2836,9 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>categoryTextField</string>
<string>commandBundleArrayController</string>
+ <string>commandBundleTreeController</string>
<string>commandTextView</string>
+ <string>commandsOutlineView</string>
<string>commandsTableView</string>
<string>duplicateMenuItem</string>
<string>fallbackLabelField</string>
@@ -2954,6 +2856,8 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSTextField</string>
<string>NSArrayController</string>
+ <string>NSTreeController</string>
+ <string>id</string>
<string>id</string>
<string>NSTableView</string>
<string>NSMenuItem</string>
@@ -2975,7 +2879,9 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>categoryTextField</string>
<string>commandBundleArrayController</string>
+ <string>commandBundleTreeController</string>
<string>commandTextView</string>
+ <string>commandsOutlineView</string>
<string>commandsTableView</string>
<string>duplicateMenuItem</string>
<string>fallbackLabelField</string>
@@ -3000,10 +2906,18 @@
<string key="candidateClassName">NSArrayController</string>
</object>
<object class="IBToOneOutletInfo">
+ <string key="name">commandBundleTreeController</string>
+ <string key="candidateClassName">NSTreeController</string>
+ </object>
+ <object class="IBToOneOutletInfo">
<string key="name">commandTextView</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo">
+ <string key="name">commandsOutlineView</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBToOneOutletInfo">
<string key="name">commandsTableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
diff --git a/Source/SPBundleEditorController.h b/Source/SPBundleEditorController.h
index a6566e07..b5001e0c 100644
--- a/Source/SPBundleEditorController.h
+++ b/Source/SPBundleEditorController.h
@@ -25,6 +25,7 @@
#import <Cocoa/Cocoa.h>
#import <ShortcutRecorder/ShortcutRecorder.h>
#import "SPBundleCommandTextView.h"
+#import "SPOutlineView.h"
@class SRRecorderControl;
@@ -32,6 +33,7 @@
IBOutlet id commandTextView;
IBOutlet NSTableView* commandsTableView;
+ IBOutlet id commandsOutlineView;
IBOutlet NSTextField* nameTextField;
IBOutlet NSTextField* tootlipTextField;
IBOutlet NSTextField* categoryTextField;
@@ -45,9 +47,10 @@
IBOutlet NSMenuItem *revealInFinderMenuItem;
IBOutlet SRRecorderControl *keyEquivalentField;
- IBOutlet NSArrayController *commandBundleArrayController;
+ IBOutlet NSTreeController *commandBundleTreeController;
NSMutableArray *commandBundleArray;
-
+ NSMutableDictionary *commandBundleTree;
+
NSString *bundlePath;
NSString *draggedFilePath;
NSString *oldBundleName;
diff --git a/Source/SPBundleEditorController.m b/Source/SPBundleEditorController.m
index 11c8ad87..b137de13 100644
--- a/Source/SPBundleEditorController.m
+++ b/Source/SPBundleEditorController.m
@@ -23,6 +23,7 @@
// More info at <http://code.google.com/p/sequel-pro/>
#import "SPBundleEditorController.h"
+#import "SPArrayAdditions.h"
@interface SPBundleEditorController (PrivateAPI)
@@ -74,6 +75,7 @@
[inputFallbackInputFieldScopeArray release];
if(commandBundleArray) [commandBundleArray release], commandBundleArray = nil;
+ if(commandBundleTree) [commandBundleTree release], commandBundleTree = nil;
if(bundlePath) [bundlePath release], bundlePath = nil;
[super dealloc];
@@ -84,6 +86,13 @@
{
commandBundleArray = [[NSMutableArray alloc] initWithCapacity:1];
+ commandBundleTree = [[NSMutableDictionary alloc] initWithCapacity:1];
+
+ [commandBundleTree setObject:[NSMutableArray array] forKey:@"children"];
+ [commandBundleTree setObject:@"Bundles" forKey:@"bundleName"];
+ [[commandBundleTree objectForKey:@"children"] addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:[NSMutableArray array], @"children", NSLocalizedString(@"Input Field", @"input field scope menu label"), @"bundleName", nil]];
+ [[commandBundleTree objectForKey:@"children"] addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:[NSMutableArray array], @"children", NSLocalizedString(@"Data Table", @"data table scope menu label"), @"bundleName", nil]];
+ [[commandBundleTree objectForKey:@"children"] addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:[NSMutableArray array], @"children", NSLocalizedString(@"General", @"general scope menu label"), @"bundleName", nil]];
// Init all needed menus
inputGeneralScopePopUpMenu = [[NSMenu alloc] initWithTitle:@""];
@@ -224,7 +233,7 @@
- (IBAction)inputPopupButtonChanged:(id)sender
{
- id currentDict = [commandBundleArray objectAtIndex:[commandsTableView selectedRow]];
+ id currentDict = [[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject];
NSMenu* senderMenu = [sender menu];
@@ -248,7 +257,7 @@
- (IBAction)inputFallbackPopupButtonChanged:(id)sender
{
- id currentDict = [commandBundleArray objectAtIndex:[commandsTableView selectedRow]];
+ id currentDict = [[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject];
NSMenu* senderMenu = [sender menu];
@@ -264,7 +273,7 @@
- (IBAction)outputPopupButtonChanged:(id)sender
{
- id currentDict = [commandBundleArray objectAtIndex:[commandsTableView selectedRow]];
+ id currentDict = [[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject];
NSMenu* senderMenu = [sender menu];
@@ -284,7 +293,7 @@
- (IBAction)scopeButtonChanged:(id)sender
{
- id currentDict = [commandBundleArray objectAtIndex:[commandsTableView selectedRow]];
+ id currentDict = [[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject];
NSInteger selectedTag = [sender tag];
@@ -308,7 +317,7 @@
- (IBAction)duplicateCommandBundle:(id)sender
{
- if ([commandsTableView numberOfSelectedRows] == 1)
+ if ([commandsOutlineView numberOfSelectedRows] == 1)
[self addCommandBundle:self];
else
NSBeep();
@@ -324,7 +333,7 @@
// Duplicate a selected Bundle if sender == self
if (sender == self) {
- NSDictionary *currentDict = [commandBundleArray objectAtIndex:[commandsTableView selectedRow]];
+ NSDictionary *currentDict = [[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject];
bundle = [NSMutableDictionary dictionaryWithDictionary:currentDict];
NSString *bundleFileName = [bundle objectForKey:@"bundleName"];
@@ -350,7 +359,7 @@
}
if(!copyingWasSuccessful) {
- [commandsTableView reloadData];
+ [commandsOutlineView reloadData];
NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Error", @"error")
defaultButton:NSLocalizedString(@"OK", @"OK button")
@@ -372,8 +381,8 @@
bundle = [NSMutableDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"New Bundle", @"New Name", @"", SPBundleScopeGeneral, nil]
forKeys:[NSArray arrayWithObjects:@"bundleName", SPBundleFileNameKey, SPBundleFileCommandKey, SPBundleFileScopeKey, nil]];
}
- if ([commandsTableView numberOfSelectedRows] > 0) {
- insertIndex = [[commandsTableView selectedRowIndexes] lastIndex]+1;
+ if ([commandsOutlineView numberOfSelectedRows] > 0) {
+ insertIndex = [[commandsOutlineView selectedRowIndexes] lastIndex]+1;
[commandBundleArray insertObject:bundle atIndex:insertIndex];
}
else {
@@ -381,18 +390,18 @@
insertIndex = [commandBundleArray count] - 1;
}
- [commandBundleArrayController rearrangeObjects];
- [commandsTableView reloadData];
+ [commandBundleTreeController rearrangeObjects];
+ [commandsOutlineView reloadData];
- [commandsTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:insertIndex] byExtendingSelection:NO];
+ [commandsOutlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:insertIndex] byExtendingSelection:NO];
- [commandsTableView scrollRowToVisible:[commandsTableView selectedRow]];
+ [commandsOutlineView scrollRowToVisible:[commandsOutlineView selectedRow]];
- [removeButton setEnabled:([commandsTableView numberOfSelectedRows] > 0)];
+ [removeButton setEnabled:([[commandBundleTreeController selectedObjects] count] > 0)];
[self _updateInputPopupButton];
- [[self window] makeFirstResponder:commandsTableView];
+ [[self window] makeFirstResponder:commandsOutlineView];
}
@@ -420,10 +429,10 @@
- (IBAction)revealCommandBundleInFinder:(id)sender
{
- if([commandsTableView numberOfSelectedRows] != 1) return;
+ if([commandsOutlineView numberOfSelectedRows] != 1) return;
[[NSWorkspace sharedWorkspace] selectFile:[NSString stringWithFormat:@"%@/%@.%@/%@",
- bundlePath, [[commandBundleArray objectAtIndex:[commandsTableView selectedRow]] objectForKey:@"bundleName"], SPUserBundleFileExtension, SPBundleFileName] inFileViewerRootedAtPath:nil];
+ bundlePath, [[[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject] objectForKey:@"bundleName"], SPUserBundleFileExtension, SPBundleFileName] inFileViewerRootedAtPath:nil];
}
@@ -438,7 +447,7 @@
[panel setCanSelectHiddenExtension:YES];
[panel setCanCreateDirectories:YES];
- [panel beginSheetForDirectory:nil file:[[commandBundleArray objectAtIndex:[commandsTableView selectedRow]] objectForKey:@"bundleName"] modalForWindow:[self window] modalDelegate:self didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:) contextInfo:@"saveBundle"];
+ [panel beginSheetForDirectory:nil file:[[[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject] objectForKey:@"bundleName"] modalForWindow:[self window] modalDelegate:self didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:) contextInfo:@"saveBundle"];
}
- (IBAction)showHelp:(id)sender
@@ -467,7 +476,10 @@
// Re-init commandBundleArray
[commandBundleArray removeAllObjects];
- [commandsTableView reloadData];
+ [[[commandBundleTree objectForKey:@"children"] objectAtIndex:0] setObject:[NSMutableArray array] forKey:@"children"];
+ [[[commandBundleTree objectForKey:@"children"] objectAtIndex:1] setObject:[NSMutableArray array] forKey:@"children"];
+ [[[commandBundleTree objectForKey:@"children"] objectAtIndex:2] setObject:[NSMutableArray array] forKey:@"children"];
+ [commandsOutlineView reloadData];
// Load all installed bundle items
if(bundlePath) {
@@ -499,7 +511,72 @@
[bundleCommand setObject:[bundle stringByDeletingPathExtension] forKey:@"bundleName"];
[commandBundleArray addObject:bundleCommand];
-
+ if([[cmdData objectForKey:SPBundleFileScopeKey] isEqualToString:SPBundleScopeInputField]) {
+ if([cmdData objectForKey:SPBundleFileCategoryKey] && [[cmdData objectForKey:SPBundleFileCategoryKey] length]) {
+ BOOL catExists = NO;
+ id children = [[[commandBundleTree objectForKey:@"children"] objectAtIndex:0] objectForKey:@"children"];
+ for(id child in children) {
+ if([child isKindOfClass:[NSDictionary class]] && [child objectForKey:@"children"] && [[child objectForKey:@"bundleName"] isEqualToString:[cmdData objectForKey:SPBundleFileCategoryKey]]) {
+ [[child objectForKey:@"children"] addObject:bundleCommand];
+ catExists = YES;
+ break;
+ }
+ }
+ if(!catExists) {
+ NSMutableDictionary *aDict = [NSMutableDictionary dictionary];
+ [aDict setObject:[cmdData objectForKey:SPBundleFileCategoryKey] forKey:@"bundleName"];
+ [aDict setObject:[NSMutableArray array] forKey:@"children"];
+ [[aDict objectForKey:@"children"] addObject:bundleCommand];
+ [[[[commandBundleTree objectForKey:@"children"] objectAtIndex:0] objectForKey:@"children"] addObject:aDict];
+ }
+ } else {
+ [[[[commandBundleTree objectForKey:@"children"] objectAtIndex:0] objectForKey:@"children"] addObject:bundleCommand];
+ }
+ }
+ else if([[cmdData objectForKey:SPBundleFileScopeKey] isEqualToString:SPBundleScopeDataTable]) {
+ if([cmdData objectForKey:SPBundleFileCategoryKey] && [[cmdData objectForKey:SPBundleFileCategoryKey] length]) {
+ BOOL catExists = NO;
+ id children = [[[commandBundleTree objectForKey:@"children"] objectAtIndex:1] objectForKey:@"children"];
+ for(id child in children) {
+ if([child isKindOfClass:[NSDictionary class]] && [child objectForKey:@"children"] && [[child objectForKey:@"bundleName"] isEqualToString:[cmdData objectForKey:SPBundleFileCategoryKey]]) {
+ [[child objectForKey:@"children"] addObject:bundleCommand];
+ catExists = YES;
+ break;
+ }
+ }
+ if(!catExists) {
+ NSMutableDictionary *aDict = [NSMutableDictionary dictionary];
+ [aDict setObject:[cmdData objectForKey:SPBundleFileCategoryKey] forKey:@"bundleName"];
+ [aDict setObject:[NSMutableArray array] forKey:@"children"];
+ [[aDict objectForKey:@"children"] addObject:bundleCommand];
+ [[[[commandBundleTree objectForKey:@"children"] objectAtIndex:1] objectForKey:@"children"] addObject:aDict];
+ }
+ } else {
+ [[[[commandBundleTree objectForKey:@"children"] objectAtIndex:1] objectForKey:@"children"] addObject:bundleCommand];
+ }
+ }
+ else if([[cmdData objectForKey:SPBundleFileScopeKey] isEqualToString:SPBundleScopeGeneral]) {
+ if([cmdData objectForKey:SPBundleFileCategoryKey] && [[cmdData objectForKey:SPBundleFileCategoryKey] length]) {
+ BOOL catExists = NO;
+ id children = [[[commandBundleTree objectForKey:@"children"] objectAtIndex:2] objectForKey:@"children"];
+ for(id child in children) {
+ if([child isKindOfClass:[NSDictionary class]] && [child objectForKey:@"children"] && [[child objectForKey:@"bundleName"] isEqualToString:[cmdData objectForKey:SPBundleFileCategoryKey]]) {
+ [[child objectForKey:@"children"] addObject:bundleCommand];
+ catExists = YES;
+ break;
+ }
+ }
+ if(!catExists) {
+ NSMutableDictionary *aDict = [NSMutableDictionary dictionary];
+ [aDict setObject:[cmdData objectForKey:SPBundleFileCategoryKey] forKey:@"bundleName"];
+ [aDict setObject:[NSMutableArray array] forKey:@"children"];
+ [[aDict objectForKey:@"children"] addObject:bundleCommand];
+ [[[[commandBundleTree objectForKey:@"children"] objectAtIndex:2] objectForKey:@"children"] addObject:aDict];
+ }
+ } else {
+ [[[[commandBundleTree objectForKey:@"children"] objectAtIndex:2] objectForKey:@"children"] addObject:bundleCommand];
+ }
+ }
}
if (cmdData) [cmdData release];
}
@@ -507,11 +584,12 @@
}
}
- [removeButton setEnabled:([commandsTableView numberOfSelectedRows] > 0)];
+ [removeButton setEnabled:([[commandBundleTreeController selectedObjects] count] > 0)];
- [commandBundleArrayController setContent:commandBundleArray];
- [commandBundleArrayController rearrangeObjects];
- [commandsTableView reloadData];
+ [commandBundleTreeController setContent:commandBundleTree];
+ [commandBundleTreeController rearrangeObjects];
+ [commandsOutlineView reloadData];
+ [commandsOutlineView expandItem:nil expandChildren:YES];
}
@@ -519,7 +597,7 @@
{
// Commit all pending edits
- if([commandBundleArrayController commitEditing]) {
+ if([commandBundleTreeController commitEditing]) {
// Make the bundleNames unique since they represent folder names
NSMutableDictionary *allNames = [NSMutableDictionary dictionary];
@@ -617,15 +695,14 @@
if([contextInfo isEqualToString:@"removeSelectedBundles"]) {
if (returnCode == NSAlertDefaultReturn) {
- NSIndexSet *indexes = [commandsTableView selectedRowIndexes];
-
- // get last index
- NSUInteger currentIndex = [indexes lastIndex];
+
+ NSArray *selObjects = [commandBundleTreeController selectedObjects];
+ NSArray *selIndexPaths = [commandBundleTreeController selectionIndexPaths];
- while (currentIndex != NSNotFound) {
+ for(id obj in selObjects) {
// Move already installed Bundles to Trash
- NSString *bundleName = [[commandBundleArray objectAtIndex:currentIndex] objectForKey:@"bundleName"];
+ NSString *bundleName = [obj objectForKey:@"bundleName"];
NSString *thePath = [NSString stringWithFormat:@"%@/%@.%@", bundlePath, bundleName, SPUserBundleFileExtension];
if([[NSFileManager defaultManager] fileExistsAtPath:thePath isDirectory:nil]) {
NSError *error = nil;
@@ -647,23 +724,19 @@
break;
}
}
- [commandBundleArray removeObjectAtIndex:currentIndex];
- // get next index (beginning from the end)
- currentIndex = [indexes indexLessThanIndex:currentIndex];
}
- [commandBundleArrayController rearrangeObjects];
- [commandsTableView reloadData];
+ [self reloadBundles:self];
// Set focus to table view to avoid an unstable state
- [[self window] makeFirstResponder:commandsTableView];
+ [[self window] makeFirstResponder:commandsOutlineView];
- [removeButton setEnabled:([commandsTableView numberOfSelectedRows] > 0)];
+ [removeButton setEnabled:([[commandBundleTreeController selectedObjects] count] > 0)];
}
} else if([contextInfo isEqualToString:@"saveBundle"]) {
if (returnCode == NSOKButton) {
- id aBundle = [commandBundleArray objectAtIndex:[commandsTableView selectedRow]];
+ id aBundle = [commandBundleArray objectAtIndex:[commandsOutlineView selectedRow]];
NSString *bundleFileName = [aBundle objectForKey:@"bundleName"];
NSString *possibleExisitingBundleFilePath = [NSString stringWithFormat:@"%@/%@.%@", bundlePath, bundleFileName, SPUserBundleFileExtension];
@@ -702,9 +775,9 @@
{
if(isTableCellEditing) {
- [commandsTableView abortEditing];
+ [commandsOutlineView abortEditing];
isTableCellEditing = NO;
- [[self window] makeFirstResponder:commandsTableView];
+ [[self window] makeFirstResponder:commandsOutlineView];
return NO;
}
return YES;
@@ -715,7 +788,10 @@
{
// Clear commandBundleArray if window will close to save memory
[commandBundleArray removeAllObjects];
- [commandsTableView reloadData];
+ [[[commandBundleTree objectForKey:@"children"] objectAtIndex:0] setObject:[NSMutableArray array] forKey:@"children"];
+ [[[commandBundleTree objectForKey:@"children"] objectAtIndex:1] setObject:[NSMutableArray array] forKey:@"children"];
+ [[[commandBundleTree objectForKey:@"children"] objectAtIndex:2] setObject:[NSMutableArray array] forKey:@"children"];
+ [commandsOutlineView reloadData];
// Remove temporary drag file if any
if(draggedFilePath) {
@@ -734,7 +810,7 @@
- (void)shortcutRecorder:(SRRecorderControl *)aRecorder keyComboDidChange:(KeyCombo)newKeyCombo
{
- if([commandsTableView selectedRow] < 0 || [commandsTableView selectedRow] > [commandBundleArray count]) return;
+ if([commandsOutlineView selectedRow] < 0 || [commandsOutlineView selectedRow] > [commandBundleArray count]) return;
// Transform KeyCombo struct to KeyBinding.dict format for NSMenuItems
NSMutableString *keyEq = [NSMutableString string];
@@ -753,65 +829,148 @@
[keyEq appendString:@"@"];
[keyEq appendString:theChar];
}
- [[commandBundleArray objectAtIndex:[commandsTableView selectedRow]] setObject:keyEq forKey:SPBundleFileKeyEquivalentKey];
+ [[[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject] setObject:keyEq forKey:SPBundleFileKeyEquivalentKey];
}
#pragma mark -
-#pragma mark TableView data source and delegate
+#pragma mark outline delegates
-/**
- * Returns the number of query commandBundleArray.
- */
-- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
+
+- (BOOL)outlineView:(id)outlineView isItemExpandable:(id)item
{
- return [commandBundleArray count];
+ if([item isKindOfClass:[NSDictionary class]] && [item objectForKey:@"children"])
+ return YES;
+
+ return NO;
}
-- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
+- (NSInteger)outlineView:(id)outlineView numberOfChildrenOfItem:(id)item
{
- if(oldBundleName) [oldBundleName release], oldBundleName = nil;
- oldBundleName = [[[commandBundleArray objectAtIndex:rowIndex] objectForKey:@"bundleName"] retain];
- isTableCellEditing = YES;
- return YES;
+
+ if(item == nil)
+ item = commandBundleTree;
+
+ if([item isKindOfClass:[NSDictionary class]])
+ if([item objectForKey:@"children"])
+ return [[item objectForKey:@"children"] count];
+ else
+ return [item count];
+
+ if([item isKindOfClass:[NSArray class]])
+ return [item count];
+
+ return 0;
}
-/**
- * Returns the value for the requested table column and row index.
- */
-- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
+- (id)outlineView:(id)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
{
- if(![commandBundleArray count]) return @"";
+ if(item && [item respondsToSelector:@selector(objectForKey:)])
+ return [item objectForKey:@"bundleName"];
+ return @"";
- if([[aTableColumn identifier] isEqualToString:@"name"]) {
- if(![[commandBundleArray objectAtIndex:rowIndex] objectForKey:@"name"]) return @"...";
- return [[commandBundleArray objectAtIndex:rowIndex] objectForKey:@"bundleName"];
- }
+}
- return @"";
+- (BOOL)outlineView:outlineView isGroupItem:(id)item
+{
+ return (![item isLeaf]);
+}
+- (BOOL)outlineView:(NSOutlineView *)outlineView shouldExpandItem:(id)item
+{
+ return (![item isLeaf]);
}
-- (void)tableViewSelectionDidChange:(NSNotification *)aNotification
+- (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item
{
- if([aNotification object] != commandsTableView) return;
+ return YES;
+}
+
+- (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item
+{
+ return ([item isLeaf]);
+}
+
+- (void)outlineViewSelectionDidChange:(NSNotification *)aNotification
+{
+ if([aNotification object] != commandsOutlineView) return;
[self _updateInputPopupButton];
+
}
+// - (void)outlineView:(NSOutlineView *)outlineView didClickTableColumn:(NSTableColumn *)tableColumn
+// {
+// if(outlineView == outlineSchema2) {
+// [schemaStatusSplitView setPosition:1000 ofDividerAtIndex:0];
+// [schema12SplitView setPosition:0 ofDividerAtIndex:0];
+// }
+// }
+//
+// - (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard
+// {
+// // Provide data for our custom type, and simple NSStrings.
+// [pboard declareTypes:[NSArray arrayWithObjects:DragTableDataFromNavigatorPboardType, DragFromNavigatorPboardType, NSStringPboardType, nil] owner:self];
+//
+// // Collect the actual schema paths without leading connection ID
+// NSMutableArray *draggedItems = [NSMutableArray array];
+// for(id item in items) {
+// id parentObject = [outlineView parentForItem:item] ? [outlineView parentForItem:item] : schemaData;
+// if(!parentObject) return NO;
+// id parentKeys = [parentObject allKeysForObject:item];
+// if(parentKeys && [parentKeys count] == 1)
+// [draggedItems addObject:[[[parentKeys objectAtIndex:0] description] stringByReplacingOccurrencesOfRegex:[NSString stringWithFormat:@"^.*?%@", SPUniqueSchemaDelimiter] withString:@""]];
+// }
+//
+// // Drag the array with schema paths
+// NSMutableData *arraydata = [[[NSMutableData alloc] init] autorelease];
+// NSKeyedArchiver *archiver = [[[NSKeyedArchiver alloc] initForWritingWithMutableData:arraydata] autorelease];
+// [archiver encodeObject:draggedItems forKey:@"itemdata"];
+// [archiver finishEncoding];
+// [pboard setData:arraydata forType:DragFromNavigatorPboardType];
+//
+// if([draggedItems count] == 1) {
+// NSArray *pathComponents = [[draggedItems objectAtIndex:0] componentsSeparatedByString:SPUniqueSchemaDelimiter];
+// // Is a table?
+// if([pathComponents count] == 2) {
+// [pboard setString:[NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS %@ SELECT * FROM %@",
+// [[pathComponents lastObject] backtickQuotedString],
+// [pathComponents componentsJoinedByPeriodAndBacktickQuoted]
+// ] forType:DragTableDataFromNavigatorPboardType];
+// }
+// }
+// // For external destinations provide a comma separated string
+// NSMutableString *dragString = [NSMutableString string];
+// for(id item in draggedItems) {
+// if([dragString length]) [dragString appendString:@", "];
+// [dragString appendString:[[item componentsSeparatedByString:SPUniqueSchemaDelimiter] componentsJoinedByPeriodAndBacktickQuotedAndIgnoreFirst]];
+// }
+//
+// if(![dragString length]) return NO;
+//
+// [pboard setString:dragString forType:NSStringPboardType];
+// return YES;
+// }
+
+
+#pragma mark -
+#pragma mark TableView data source and delegate
+
+/**
+ * Returns the number of query commandBundleArray.
+ */
+
/*
* Save spBundle name if inline edited (suppress empty names) and check for renaming and / in the name
*/
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
- if([aNotification object] != commandsTableView) return;
+ if([aNotification object] != commandsOutlineView) return;
NSString *newBundleName = [[[aNotification userInfo] objectForKey:@"NSFieldEditor"] string];
- NSInteger selectedTableRow = [commandsTableView selectedRow];
-
BOOL isValid = YES;
if(newBundleName && [newBundleName length] && ![newBundleName rangeOfString:@"/"].length) {
@@ -840,10 +999,10 @@
// If not valid reset name to the old one
if(!isValid) {
if(!oldBundleName) oldBundleName = @"New Name";
- [[commandBundleArray objectAtIndex:selectedTableRow] setObject:oldBundleName forKey:@"bundleName"];
+ [[[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject] setObject:oldBundleName forKey:@"bundleName"];
}
- [commandsTableView reloadData];
+ [commandsOutlineView reloadData];
isTableCellEditing = NO;
@@ -867,13 +1026,13 @@
{
// Allow to record short-cuts used by the Bundle Editor
if([[NSApp mainWindow] firstResponder] == keyEquivalentField) return NO;
- return ([commandsTableView numberOfSelectedRows] == 1);
+ return ([[commandBundleTreeController selectedObjects] count] == 1);
}
else if ( (action == @selector(removeCommandBundle:)) )
{
// Allow to record short-cuts used by the Bundle Editor
if([[NSApp mainWindow] firstResponder] == keyEquivalentField) return NO;
- return ([commandsTableView numberOfSelectedRows] > 0);
+ return ([[commandBundleTreeController selectedObjects] count] > 0);
}
return YES;
@@ -898,7 +1057,7 @@
- (BOOL)tableView:(NSTableView *)aTableView writeRowsWithIndexes:(NSIndexSet *)rows toPasteboard:(NSPasteboard*)aPboard
{
- if([commandsTableView numberOfSelectedRows] != 1 || [rows count] != 1) return NO;
+ if([commandsOutlineView numberOfSelectedRows] != 1 || [rows count] != 1) return NO;
// Remove old temporary drag file if any
if(draggedFilePath) {
@@ -910,7 +1069,7 @@
NSImage *dragImage;
NSPoint dragPosition;
- NSDictionary *bundleDict = [commandBundleArray objectAtIndex:[rows firstIndex]];
+ NSDictionary *bundleDict = [commandsOutlineView itemAtRow:[rows firstIndex]];
NSString *bundleFileName = [bundleDict objectForKey:@"bundleName"];
NSString *possibleExisitingBundleFilePath = [NSString stringWithFormat:@"%@/%@.%@", bundlePath, bundleFileName, SPUserBundleFileExtension];
@@ -1043,9 +1202,9 @@
NSInteger anIndex;
- if([commandsTableView selectedRow] < 0 || [commandsTableView selectedRow] > [commandBundleArray count]) return;
+ if([commandsOutlineView selectedRow] < 0 || [commandsOutlineView selectedRow] > [commandBundleArray count]) return;
- NSDictionary *currentDict = [commandBundleArray objectAtIndex:[commandsTableView selectedRow]];
+ NSDictionary *currentDict = [[commandsOutlineView itemAtRow:[commandsOutlineView selectedRow]] representedObject];
NSString *input = [currentDict objectForKey:SPBundleFileInputSourceKey];
if(!input || ![input length]) input = SPBundleInputSourceNone;