Commit 9ec6a03f authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: create playlist columns at runtime instead of relying on the nib file

This adds support for the following columns: Track Number, Genre, Album, Description, Date and Language. You can remove and hide them on-the-fly using the Playback menu, since no View menu exists so far.

note that column width and column selection isn't restored on relaunch yet
parent 22495438
......@@ -21,16 +21,16 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="4756"/>
<integer value="1617"/>
<integer value="2770"/>
<integer value="4850"/>
<integer value="915"/>
<integer value="4596"/>
<integer value="4722"/>
<integer value="4850"/>
<integer value="21"/>
<integer value="2730"/>
<integer value="5100"/>
<integer value="4948"/>
<integer value="4722"/>
<integer value="81"/>
<integer value="1617"/>
<integer value="4596"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
......@@ -439,84 +439,6 @@
<bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="23448837"/>
</object>
<object class="NSTableColumn" id="965199398">
<string key="NSIdentifier">name</string>
<double key="NSWidth">142</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">Name</string>
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor" id="320837044">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
</object>
<reference key="NSTextColor" ref="141148336"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="80936197">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272761856</int>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="23448837"/>
<reference key="NSBackgroundColor" ref="3414043"/>
<reference key="NSTextColor" ref="306532497"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="23448837"/>
</object>
<object class="NSTableColumn" id="475692067">
<string key="NSIdentifier">artist</string>
<double key="NSWidth">170</double>
<double key="NSMinWidth">20</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Artist</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="320837044"/>
<reference key="NSTextColor" ref="141148336"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="306147575">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272761856</int>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="23448837"/>
<reference key="NSBackgroundColor" ref="3414043"/>
<reference key="NSTextColor" ref="306532497"/>
</object>
<int key="NSResizingMask">2</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="23448837"/>
</object>
<object class="NSTableColumn" id="207035020">
<string key="NSIdentifier">duration</string>
<double key="NSWidth">60</double>
<double key="NSMinWidth">60</double>
<double key="NSMaxWidth">60</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">134219776</int>
<string key="NSContents">Duration</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="1018329413"/>
<reference key="NSTextColor" ref="141148336"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="984895421">
<int key="NSCellFlags">67239488</int>
<int key="NSCellFlags2">272761856</int>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="23448837"/>
<reference key="NSBackgroundColor" ref="3414043"/>
<reference key="NSTextColor" ref="306532497"/>
</object>
<int key="NSResizingMask">2</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="23448837"/>
</object>
</object>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
......@@ -534,7 +456,6 @@
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
<reference key="NSOutlineViewOutlineTableColumnKey" ref="965199398"/>
</object>
</object>
<string key="NSFrame">{{1, 17}, {402, 236}}</string>
......@@ -557,12 +478,12 @@
<object class="NSScroller" id="297523533">
<reference key="NSNextResponder" ref="915491793"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 238}, {480, 15}}</string>
<string key="NSFrame">{{1, 238}, {402, 15}}</string>
<reference key="NSSuperview" ref="915491793"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="915491793"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99585062240663902</double>
<double key="NSPercent">0.9095022624434389</double>
</object>
<object class="NSClipView" id="576307303">
<reference key="NSNextResponder" ref="915491793"/>
......@@ -1830,6 +1751,93 @@
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="221438055">
<reference key="NSMenu" ref="1017583928"/>
<string key="NSTitle">Playlist Table Columns</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="797476210">
<string key="NSTitle">Playlist Table Columns</string>
<object class="NSMutableArray" key="NSMenuItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="698601507">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Track Number</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="430145115">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Title</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="447172608">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Artist</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="1025970654">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Duration</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="81224764">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Genre</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="939545655">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Album</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="445879076">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Description</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="744308072">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Date</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
<object class="NSMenuItem" id="393274870">
<reference key="NSMenu" ref="797476210"/>
<string key="NSTitle">Language</string>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="447396056"/>
<reference key="NSMixedImage" ref="100133332"/>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
......@@ -5801,30 +5809,6 @@ LCAuLi4</string>
</object>
<int key="connectionID">4385</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_tc_duration</string>
<reference key="source" ref="998338913"/>
<reference key="destination" ref="207035020"/>
</object>
<int key="connectionID">4386</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_tc_author</string>
<reference key="source" ref="998338913"/>
<reference key="destination" ref="475692067"/>
</object>
<int key="connectionID">4387</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_tc_name</string>
<reference key="source" ref="998338913"/>
<reference key="destination" ref="965199398"/>
</object>
<int key="connectionID">4388</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">quitAfterPlayback:</string>
......@@ -7977,6 +7961,150 @@ LCAuLi4</string>
</object>
<int key="connectionID">5098</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="430145115"/>
</object>
<int key="connectionID">5110</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="698601507"/>
</object>
<int key="connectionID">5111</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="447172608"/>
</object>
<int key="connectionID">5112</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="1025970654"/>
</object>
<int key="connectionID">5113</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="81224764"/>
</object>
<int key="connectionID">5114</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="939545655"/>
</object>
<int key="connectionID">5115</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="445879076"/>
</object>
<int key="connectionID">5116</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="744308072"/>
</object>
<int key="connectionID">5117</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">togglePlaylistColumnTable:</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="393274870"/>
</object>
<int key="connectionID">5118</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_album</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="939545655"/>
</object>
<int key="connectionID">5119</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_artist</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="447172608"/>
</object>
<int key="connectionID">5120</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_date</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="744308072"/>
</object>
<int key="connectionID">5121</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_description</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="445879076"/>
</object>
<int key="connectionID">5122</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_duration</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="1025970654"/>
</object>
<int key="connectionID">5123</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_genre</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="81224764"/>
</object>
<int key="connectionID">5124</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_language</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="393274870"/>
</object>
<int key="connectionID">5125</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_title</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="430145115"/>
</object>
<int key="connectionID">5126</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">o_mi_ptc_tracknum</string>
<reference key="source" ref="651263286"/>
<reference key="destination" ref="698601507"/>
</object>
<int key="connectionID">5127</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
......@@ -8438,6 +8566,7 @@ LCAuLi4</string>
<reference ref="57503205"/>
<reference ref="835383299"/>
<reference ref="833088677"/>
<reference ref="221438055"/>
</object>
<reference key="parent" ref="565445175"/>
</object>
......@@ -10056,40 +10185,10 @@ LCAuLi4</string>
<reference key="object" ref="23448837"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="965199398"/>
<reference ref="475692067"/>
<reference ref="207035020"/>
<reference ref="803225886"/>
</object>
<reference key="parent" ref="915491793"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4377</int>
<reference key="object" ref="965199398"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="80936197"/>
</object>
<reference key="parent" ref="23448837"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4378</int>
<reference key="object" ref="475692067"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="306147575"/>
</object>
<reference key="parent" ref="23448837"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4379</int>
<reference key="object" ref="207035020"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="984895421"/>
</object>
<reference key="parent" ref="23448837"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4380</int>
<reference key="object" ref="803225886"/>
......@@ -10104,21 +10203,6 @@ LCAuLi4</string>
<reference key="object" ref="1059212168"/>
<reference key="parent" ref="803225886"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4382</int>
<reference key="object" ref="984895421"/>
<reference key="parent" ref="207035020"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4383</int>
<reference key="object" ref="306147575"/>
<reference key="parent" ref="475692067"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4384</int>
<reference key="object" ref="80936197"/>
<reference key="parent" ref="965199398"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4665</int>
<reference key="object" ref="515305233"/>
......@@ -11018,6 +11102,77 @@ LCAuLi4</string>
<reference key="object" ref="964223566"/>
<reference key="parent" ref="1050252183"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5099</int>
<reference key="object" ref="221438055"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="797476210"/>
</object>
<reference key="parent" ref="1017583928"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5100</int>
<reference key="object" ref="797476210"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="430145115"/>
<reference ref="447172608"/>
<reference ref="1025970654"/>
<reference ref="81224764"/>
<reference ref="939545655"/>
<reference ref="445879076"/>
<reference ref="698601507"/>
<reference ref="744308072"/>
<reference ref="393274870"/>
</object>
<reference key="parent" ref="221438055"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5101</int>
<reference key="object" ref="430145115"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5102</int>
<reference key="object" ref="447172608"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5103</int>
<reference key="object" ref="1025970654"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5104</int>
<reference key="object" ref="81224764"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5105</int>
<reference key="object" ref="939545655"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5106</int>
<reference key="object" ref="698601507"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5107</int>
<reference key="object" ref="445879076"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5108</int>
<reference key="object" ref="744308072"/>
<reference key="parent" ref="797476210"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5109</int>
<reference key="object" ref="393274870"/>
<reference key="parent" ref="797476210"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
......@@ -11576,22 +11731,10 @@ LCAuLi4</string>
<string>4376.CustomClassName</string>
<string>4376.IBPluginDependency</string>
<string>4376.ImportedFromIB2</string>
<string>4377.IBPluginDependency</string>
<string>4377.ImportedFromIB2</string>
<string>4378.IBPluginDependency</string>
<string>4378.ImportedFromIB2</string>
<string>4379.IBPluginDependency</string>
<string>4379.ImportedFromIB2</string>
<string>4380.IBPluginDependency</string>
<string>4380.ImportedFromIB2</string>
<string>4381.IBPluginDependency</string>
<string>4381.ImportedFromIB2</string>
<string>4382.IBPluginDependency</string>
<string>4382.ImportedFromIB2</string>
<string>4383.IBPluginDependency</string>
<string>4383.ImportedFromIB2</string>
<string>4384.IBPluginDependency</string>
<string>4384.ImportedFromIB2</string>
<string>4392.IBPluginDependency</string>
<string>4393.IBPluginDependency</string>
<string>4397.IBPluginDependency</string>
......@@ -11822,6 +11965,18 @@ LCAuLi4</string>
<string>5091.IBPluginDependency</string>
<string>5095.IBPluginDependency</string>
<string>5095.ImportedFromIB2</string>
<string>5099.IBPluginDependency</string>
<string>5100.IBEditorWindowLastContentRect</string>
<string>5100.IBPluginDependency</string>
<string>5101.IBPluginDependency</string>
<string>5102.IBPluginDependency</string>
<string>5103.IBPluginDependency</string>
<string>5104.IBPluginDependency</string>
<string>5105.IBPluginDependency</string>
<string>5106.IBPluginDependency</string>
<string>5107.IBPluginDependency</string>
<string>5108.IBPluginDependency</string>
<string>5109.IBPluginDependency</string>
<string>56.IBPluginDependency</string>
<string>56.ImportedFromIB2</string>
<string>57.IBEditorWindowLastContentRect</string>
......@@ -12090,7 +12245,7 @@ LCAuLi4</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>{{956, 323}, {302, 413}}</string>
<string>{{144, 299}, {302, 433}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
......@@ -12259,7 +12414,7 @@ LCAuLi4</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>{{500, 736}, {468, 20}}</string>
<string>{{0, 732}, {468, 20}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
......@@ -12447,18 +12602,6 @@ LCAuLi4</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>
<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>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
......@@ -12775,6 +12918,18 @@ LCAuLi4</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{446, 139}, {149, 183}}</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>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="YES"/>
<string>{{329, 186}, {267, 263}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
......@@ -12831,7 +12986,7 @@ LCAuLi4</string>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">5098</int>
<int key="maxID">5131</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
......@@ -15639,6 +15794,7 @@ LCAuLi4</string>
<string>toggleFullscreen:</string>
<string>toggleFullscreenDevice:</string>
<string>toggleJumpButtons:</string>
<string>togglePlaylistColumnTable:</string>
<string>togglePlaymodeButtons:</string>
<string>toggleRecord:</string>
<string>toggleVar:</string>
......@@ -15681,6 +15837,7 @@ LCAuLi4</string>
<string>id</string>
<string>id</string>
<string>id</string>
<string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
......@@ -15712,6 +15869,7 @@ LCAuLi4</string>
<string>toggleFullscreen:</string>
<string>toggleFullscreenDevice:</string>
<string>toggleJumpButtons:</string>
<string>togglePlaylistColumnTable:</string>
<string>togglePlaymodeButtons:</string>
<string>toggleRecord:</string>
<string>toggleVar:</string>
......@@ -15822,6 +15980,10 @@ LCAuLi4</string>
<string key="name">toggleJumpButtons:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">togglePlaylistColumnTable:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
<string key="name">togglePlaymodeButtons:</string>
<string key="candidateClassName">id</string>
......@@ -15925,6 +16087,15 @@ LCAuLi4</string>
<string>o_mi_prefs</string>
<string>o_mi_previous</string>
<string>o_mi_program</string>
<string>o_mi_ptc_album</string>
<string>o_mi_ptc_artist</string>
<string>o_mi_ptc_date</string>
<string>o_mi_ptc_description</string>
<string>o_mi_ptc_duration</string>
<string>o_mi_ptc_genre</string>
<string>o_mi_ptc_language</string>
<string>o_mi_ptc_title</string>
<string>o_mi_ptc_tracknum</string>
<string>o_mi_quit</string>
<string>o_mi_quitAfterPB</string>
<string>o_mi_random</string>
......@@ -15980,6 +16151,7 @@ LCAuLi4</string>
<string>o_mu_ffmpeg_pp</string>
<string>o_mu_file</string>
<string>o_mu_help</string>
<string>o_mu_playlistTableColumns</string>
<string>o_mu_program</string>
<string>o_mu_screen</string>
<string>o_mu_subtitle</string>
......@@ -16076,6 +16248,15 @@ LCAuLi4</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>NSMenuItem</string>
<string>id</string>
<string>id</string>
<string>id</string>
......@@ -16135,6 +16316,7 @@ LCAuLi4</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>NSMenu</string>
<string>id</string>
<string>id</string>
<string>NSMenuItem</string>
......@@ -16222,6 +16404,15 @@ LCAuLi4</string>
<string>o_mi_prefs</string>
<string>o_mi_previous</string>
<string>o_mi_program</string>
<string>o_mi_ptc_album</string>
<string>o_mi_ptc_artist</string>
<string>o_mi_ptc_date</string>
<string>o_mi_ptc_description</string>
<string>o_mi_ptc_duration</string>
<string>o_mi_ptc_genre</string>
<string>o_mi_ptc_language</string>
<string>o_mi_ptc_title</string>
<string>o_mi_ptc_tracknum</string>
<string>o_mi_quit</string>
<string>o_mi_quitAfterPB</string>
<string>o_mi_random</string>
......@@ -16277,6 +16468,7 @@ LCAuLi4</string>
<string>o_mu_ffmpeg_pp</string>
<string>o_mu_file</string>
<string>o_mu_help</string>
<string>o_mu_playlistTableColumns</string>
<string>o_mu_program</string>
<string>o_mu_screen</string>
<string>o_mu_subtitle</string>
......@@ -16576,6 +16768,42 @@ LCAuLi4</string>
<string key="name">o_mi_program</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_album</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_artist</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_date</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_description</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_duration</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_genre</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_language</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_title</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_ptc_tracknum</string>
<string key="candidateClassName">NSMenuItem</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mi_quit</string>
<string key="candidateClassName">NSMenuItem</string>
......@@ -16796,6 +17024,10 @@ LCAuLi4</string>
<string key="name">o_mu_help</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_playlistTableColumns</string>
<string key="candidateClassName">NSMenu</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">o_mu_program</string>
<string key="candidateClassName">NSMenu</string>
......
......@@ -107,6 +107,16 @@
IBOutlet NSMenu * o_mu_chapter;
IBOutlet NSMenuItem * o_mi_toggleJumpButtons;
IBOutlet NSMenuItem * o_mi_togglePlaymodeButtons;
IBOutlet NSMenu * o_mu_playlistTableColumns;
IBOutlet NSMenuItem * o_mi_ptc_tracknum;
IBOutlet NSMenuItem * o_mi_ptc_title;
IBOutlet NSMenuItem * o_mi_ptc_artist;
IBOutlet NSMenuItem * o_mi_ptc_duration;
IBOutlet NSMenuItem * o_mi_ptc_genre;
IBOutlet NSMenuItem * o_mi_ptc_album;
IBOutlet NSMenuItem * o_mi_ptc_description;
IBOutlet NSMenuItem * o_mi_ptc_date;
IBOutlet NSMenuItem * o_mi_ptc_language;
IBOutlet NSMenu * o_mu_audio;
IBOutlet NSMenuItem * o_mi_vol_up;
......@@ -219,6 +229,8 @@
- (void)updatePlaybackRate;
- (IBAction)toggleJumpButtons:(id)sender;
- (IBAction)togglePlaymodeButtons:(id)sender;
- (IBAction)togglePlaylistColumnTable:(id)sender;
- (void)setPlaylistColumnTableState:(NSInteger)i_state forColumn:(NSString *)o_column;
- (IBAction)toggleFullscreen:(id)sender;
- (IBAction)resizeVideoWindow:(id)sender;
......
......@@ -36,6 +36,7 @@
#import "simple_prefs.h"
#import "coredialogs.h"
#import "controls.h"
#import "playlist.h"
#import "playlistinfo.h"
#import "VideoView.h"
#import "CoreInteraction.h"
......@@ -290,6 +291,16 @@ static VLCMainMenu *_o_sharedInstance = nil;
[o_mi_toggleJumpButtons setState: config_GetInt( VLCIntf, "macosx-show-playback-buttons")];
[o_mi_togglePlaymodeButtons setTitle: _NS("Show Shuffle & Repeat Buttons")];
[o_mi_togglePlaymodeButtons setState: config_GetInt( VLCIntf, "macosx-show-playmode-buttons")];
[o_mu_playlistTableColumns setTitle: _NS("Playlist Table Columns")];
[o_mi_ptc_tracknum setTitle: _NS("Track Number")];
[o_mi_ptc_title setTitle: _NS("Title")];
[o_mi_ptc_artist setTitle: _NS("Artist")];
[o_mi_ptc_duration setTitle: _NS("Duration")];
[o_mi_ptc_genre setTitle: _NS("Genre")];
[o_mi_ptc_album setTitle: _NS("Album")];
[o_mi_ptc_description setTitle: _NS("Description")];
[o_mi_ptc_date setTitle: _NS("Date")];
[o_mi_ptc_language setTitle: _NS("Language")];
[o_mi_program setTitle: _NS("Program")];
[o_mu_program setTitle: _NS("Program")];
......@@ -634,6 +645,56 @@ static VLCMainMenu *_o_sharedInstance = nil;
[o_mi_togglePlaymodeButtons setState: b_value];
}
- (IBAction)togglePlaylistColumnTable:(id)sender
{
[sender setState: ![sender state]];
NSString * o_column;
if (sender == o_mi_ptc_tracknum)
o_column = TRACKNUM_COLUMN;
else if (sender == o_mi_ptc_title)
o_column = TITLE_COLUMN;
else if (sender == o_mi_ptc_artist)
o_column = ARTIST_COLUMN;
else if (sender == o_mi_ptc_duration)
o_column = DURATION_COLUMN;
else if (sender == o_mi_ptc_genre)
o_column = GENRE_COLUMN;
else if (sender == o_mi_ptc_album)
o_column = ALBUM_COLUMN;
else if (sender == o_mi_ptc_description)
o_column = DESCRIPTION_COLUMN;
else if (sender == o_mi_ptc_date)
o_column = DATE_COLUMN;
else if (sender == o_mi_ptc_language)
o_column = LANGUAGE_COLUMN;
[[[VLCMain sharedInstance] playlist] setColumn: o_column state: [sender state]];
}
- (void)setPlaylistColumnTableState:(NSInteger)i_state forColumn:(NSString *)o_column
{
if ([o_column isEqualToString: TRACKNUM_COLUMN])
[o_mi_ptc_tracknum setState: i_state];
else if ([o_column isEqualToString: TITLE_COLUMN])
[o_mi_ptc_title setState: i_state];
else if ([o_column isEqualToString: ARTIST_COLUMN])
[o_mi_ptc_artist setState: i_state];
else if ([o_column isEqualToString: DURATION_COLUMN])
[o_mi_ptc_duration setState: i_state];
else if ([o_column isEqualToString: GENRE_COLUMN])
[o_mi_ptc_genre setState: i_state];
else if ([o_column isEqualToString: ALBUM_COLUMN])
[o_mi_ptc_album setState: i_state];
else if ([o_column isEqualToString: DESCRIPTION_COLUMN])
[o_mi_ptc_description setState: i_state];
else if ([o_column isEqualToString: DATE_COLUMN])
[o_mi_ptc_date setState: i_state];
else if ([o_column isEqualToString: LANGUAGE_COLUMN])
[o_mi_ptc_language setState: i_state];
}
#pragma mark -
#pragma mark video menu
- (IBAction)toggleFullscreen:(id)sender
......
......@@ -25,6 +25,17 @@
#import "PXSourceList.h"
/* playlist column definitions */
#define TRACKNUM_COLUMN @"tracknumber"
#define TITLE_COLUMN @"name"
#define ARTIST_COLUMN @"artist"
#define DURATION_COLUMN @"duration"
#define GENRE_COLUMN @"genre"
#define ALBUM_COLUMN @"album"
#define DESCRIPTION_COLUMN @"description"
#define DATE_COLUMN @"date"
#define LANGUAGE_COLUMN @"language"
/*****************************************************************************
* VLCPlaylistView interface
*****************************************************************************/
......@@ -39,9 +50,6 @@
*****************************************************************************/
@interface VLCPlaylistCommon : NSObject <NSOutlineViewDataSource, NSOutlineViewDelegate>
{
IBOutlet id o_tc_name;
IBOutlet id o_tc_author;
IBOutlet id o_tc_duration;
IBOutlet VLCPlaylistView* o_outline_view;
IBOutlet id o_tc_name_other;
......@@ -55,10 +63,10 @@
- (void)setPlaylistRoot: (playlist_item_t *)root_item;
- (playlist_item_t *)currentPlaylistRoot;
- (void)initStrings;
- (playlist_item_t *)selectedPlaylistItem;
- (NSOutlineView *)outlineView;
- (void)swapPlaylists:(id)newList;
- (void)setColumn: (NSString *)o_column state: (NSInteger)i_state;
@end
/*****************************************************************************
......@@ -143,5 +151,4 @@
- (void)appendArray:(NSArray*)o_array atPos:(int)i_position enqueue:(BOOL)b_enqueue;
- (void)appendNodeArray:(NSArray*)o_array inNode:(playlist_item_t *)p_node atPos:(int)i_position enqueue:(BOOL)b_enqueue;
@end
......@@ -47,6 +47,7 @@
#import "controls.h"
#import "misc.h"
#import "open.h"
#import "MainMenu.h"
#include <vlc_keys.h>
#import <vlc_osd.h>
......@@ -54,7 +55,6 @@
#include <vlc_url.h>
/*****************************************************************************
* VLCPlaylistView implementation
*****************************************************************************/
......@@ -161,18 +161,17 @@
[o_outline_view_other setDataSource: self];
[o_outline_view_other setAllowsEmptySelection: NO];
[self initStrings];
}
- (void)initStrings
{
[[o_tc_name headerCell] setStringValue:_NS("Name")];
[[o_tc_author headerCell] setStringValue:_NS("Author")];
[[o_tc_duration headerCell] setStringValue:_NS("Duration")];
[[o_tc_name_other headerCell] setStringValue:_NS("Name")];
[[o_tc_author_other headerCell] setStringValue:_NS("Author")];
[[o_tc_duration_other headerCell] setStringValue:_NS("Duration")];
[self setColumn: TITLE_COLUMN state: NSOnState];
[self setColumn: ARTIST_COLUMN state: NSOnState];
[self setColumn: DURATION_COLUMN state: NSOnState];
id o_menu = [[VLCMain sharedInstance] mainMenu];
[o_menu setPlaylistColumnTableState: NSOnState forColumn: TITLE_COLUMN];
[o_menu setPlaylistColumnTableState: NSOnState forColumn: ARTIST_COLUMN];
[o_menu setPlaylistColumnTableState: NSOnState forColumn: DURATION_COLUMN];
}
- (void)setPlaylistRoot: (playlist_item_t *)root_item
......@@ -187,25 +186,6 @@
return p_current_root_item;
}
- (void)swapPlaylists:(id)newList
{
if(newList != o_outline_view)
{
id o_outline_view_temp = o_outline_view;
id o_tc_author_temp = o_tc_author;
id o_tc_duration_temp = o_tc_duration;
id o_tc_name_temp = o_tc_name;
o_outline_view = o_outline_view_other;
o_tc_author = o_tc_author_other;
o_tc_duration = o_tc_duration_other;
o_tc_name = o_tc_name_other;
o_outline_view_other = o_outline_view_temp;
o_tc_author_other = o_tc_author_temp;
o_tc_duration_other = o_tc_duration_temp;
o_tc_name_other = o_tc_name_temp;
}
}
- (NSOutlineView *)outlineView
{
return o_outline_view;
......@@ -217,6 +197,48 @@
pointerValue];
}
- (void)setColumn: (NSString *)o_column state: (NSInteger)i_state
{
NSTableColumn * o_work_tc;
if (i_state == NSOnState)
{
o_work_tc = [[NSTableColumn alloc] initWithIdentifier: o_column];
[o_work_tc setEditable: NO];
[[o_work_tc dataCell] setFont: [NSFont controlContentFontOfSize:11.]];
/* we cannot use a makro here, because gettext isn't clever enough for that */
if ([o_column isEqualToString: TRACKNUM_COLUMN])
{
[o_work_tc setMaxWidth: 20.];
[[o_work_tc headerCell] setStringValue: @"#"];
}
else if ([o_column isEqualToString: TITLE_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Name")];
else if ([o_column isEqualToString: ARTIST_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Author")];
else if ([o_column isEqualToString: DURATION_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Duration")];
else if ([o_column isEqualToString: GENRE_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Genre")];
else if ([o_column isEqualToString: ALBUM_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Album")];
else if ([o_column isEqualToString: DESCRIPTION_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Description")];
else if ([o_column isEqualToString: DATE_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Date")];
else if ([o_column isEqualToString: LANGUAGE_COLUMN])
[[o_work_tc headerCell] setStringValue: _NS("Language")];
[o_outline_view addTableColumn: o_work_tc];
[o_work_tc release];
[o_outline_view reloadData];
[o_outline_view setNeedsDisplay: YES];
}
else
[o_outline_view removeTableColumn: [o_outline_view tableColumnWithIdentifier: o_column]];
}
@end
@implementation VLCPlaylistCommon (NSOutlineViewDataSource)
......@@ -306,6 +328,7 @@
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)o_tc byItem:(id)item
{
id o_value = nil;
char * psz_value;
playlist_item_t *p_item;
/* For error handling */
......@@ -337,8 +360,17 @@
}
attempted_reload = NO;
NSString * o_identifier = [o_tc identifier];
if( [[o_tc identifier] isEqualToString:@"name"] )
if( [o_identifier isEqualToString:TRACKNUM_COLUMN] )
{
psz_value = input_item_GetTrackNumber( p_item->p_input ); \
if (psz_value) { \
o_value = [NSString stringWithUTF8String: psz_value]; \
free( psz_value ); \
}
}
else if( [o_identifier isEqualToString:TITLE_COLUMN] )
{
/* sanity check to prevent the NSString class from crashing */
char *psz_title = input_item_GetTitleFbName( p_item->p_input );
......@@ -348,14 +380,15 @@
free( psz_title );
}
}
else if( [[o_tc identifier] isEqualToString:@"artist"] )
else if( [o_identifier isEqualToString:ARTIST_COLUMN] )
{
char *psz_artist = input_item_GetArtist( p_item->p_input );
if( psz_artist )
o_value = [NSString stringWithUTF8String: psz_artist];
free( psz_artist );
psz_value = input_item_GetArtist( p_item->p_input ); \
if (psz_value) { \
o_value = [NSString stringWithUTF8String: psz_value]; \
free( psz_value ); \
}
}
else if( [[o_tc identifier] isEqualToString:@"duration"] )
else if( [o_identifier isEqualToString:@"duration"] )
{
char psz_duration[MSTRTIME_MAX_SIZE];
mtime_t dur = input_item_GetDuration( p_item->p_input );
......@@ -367,7 +400,47 @@
else
o_value = @"--:--";
}
else if( [[o_tc identifier] isEqualToString:@"status"] )
else if( [o_identifier isEqualToString:GENRE_COLUMN] )
{
psz_value = input_item_GetGenre( p_item->p_input ); \
if (psz_value) { \
o_value = [NSString stringWithUTF8String: psz_value]; \
free( psz_value ); \
}
}
else if( [o_identifier isEqualToString:ALBUM_COLUMN] )
{
psz_value = input_item_GetAlbum( p_item->p_input ); \
if (psz_value) { \
o_value = [NSString stringWithUTF8String: psz_value]; \
free( psz_value ); \
}
}
else if( [o_identifier isEqualToString:DESCRIPTION_COLUMN] )
{
psz_value = input_item_GetDescription( p_item->p_input ); \
if (psz_value) { \
o_value = [NSString stringWithUTF8String: psz_value]; \
free( psz_value ); \
}
}
else if( [o_identifier isEqualToString:DATE_COLUMN] )
{
psz_value = input_item_GetDate( p_item->p_input ); \
if (psz_value) { \
o_value = [NSString stringWithUTF8String: psz_value]; \
free( psz_value ); \
}
}
else if( [o_identifier isEqualToString:LANGUAGE_COLUMN] )
{
psz_value = input_item_GetLanguage( p_item->p_input ); \
if (psz_value) { \
o_value = [NSString stringWithUTF8String: psz_value]; \
free( psz_value ); \
}
}
else if( [o_identifier isEqualToString:@"status"] )
{
if( input_item_HasErrorWhenReading( p_item->p_input ) )
{
......@@ -375,6 +448,7 @@
[o_value setSize: NSMakeSize(16,16)];
}
}
return o_value;
}
......@@ -470,8 +544,6 @@
- (void)initStrings
{
[super initStrings];
[o_mi_save_playlist setTitle: _NS("Save Playlist...")];
[o_mi_play setTitle: _NS("Play")];
[o_mi_delete setTitle: _NS("Delete")];
......@@ -495,18 +567,6 @@
[[o_save_accessory_popup itemAtIndex:2] setTitle: _NS("HTML Playlist")];
}
- (void)swapPlaylists:(id)newList
{
if(newList != o_outline_view)
{
id o_search_field_temp = o_search_field;
o_search_field = o_search_field_other;
o_search_field_other = o_search_field_temp;
[super swapPlaylists:newList];
[self playlistUpdated];
}
}
- (void)playlistUpdated
{
/* Clear indications of any existing column sorting */
......@@ -1314,46 +1374,31 @@
{
int i_mode, i_type = 0;
intf_thread_t *p_intf = VLCIntf;
NSString * o_identifier = [o_tc identifier];
playlist_t *p_playlist = pl_Get( p_intf );
/* Check whether the selected table column header corresponds to a
sortable table column*/
if( !( o_tc == o_tc_name || o_tc == o_tc_author || o_tc == o_tc_duration ) )
{
if( !( [o_identifier isEqualToString:TITLE_COLUMN] || [o_identifier isEqualToString:ARTIST_COLUMN] || [o_identifier isEqualToString:DURATION_COLUMN] ) )
return;
}
if( o_tc_sortColumn == o_tc )
{
b_isSortDescending = !b_isSortDescending;
}
else
{
b_isSortDescending = false;
}
if( o_tc == o_tc_name )
{
if( [o_identifier isEqualToString:TITLE_COLUMN] )
i_mode = SORT_TITLE;
}
else if( o_tc == o_tc_author )
{
else if( [o_identifier isEqualToString:ARTIST_COLUMN] )
i_mode = SORT_ARTIST;
}
else if( o_tc == o_tc_duration )
{
else if( [o_identifier isEqualToString:DURATION_COLUMN] )
i_mode = SORT_DURATION;
}
if( b_isSortDescending )
{
i_type = ORDER_REVERSE;
}
else
{
i_type = ORDER_NORMAL;
}
PL_LOCK;
playlist_RecursiveNodeSort( p_playlist, [self currentPlaylistRoot], i_mode, i_type );
......@@ -1365,15 +1410,9 @@
[o_outline_view setHighlightedTableColumn:o_tc];
if( b_isSortDescending )
{
[o_outline_view setIndicatorImage:o_descendingSortingImage
inTableColumn:o_tc];
}
[o_outline_view setIndicatorImage:o_descendingSortingImage inTableColumn:o_tc];
else
{
[o_outline_view setIndicatorImage:o_ascendingSortingImage
inTableColumn:o_tc];
}
[o_outline_view setIndicatorImage:o_ascendingSortingImage inTableColumn:o_tc];
}
......@@ -1670,6 +1709,5 @@
}
return NO;
}
@end
@end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment