]> git.sesse.net Git - vlc/commitdiff
macosx: added Podcast UI skeleton
authorFelix Paul Kühne <fkuehne@videolan.org>
Sat, 25 Aug 2012 14:59:49 +0000 (16:59 +0200)
committerFelix Paul Kühne <fkuehne@videolan.org>
Sat, 25 Aug 2012 14:59:49 +0000 (16:59 +0200)
extras/package/macosx/Resources/English.lproj/MainMenu.xib
modules/gui/macosx/MainWindow.h
modules/gui/macosx/MainWindow.m

index dba47f247c3dae8d075b231b8034ee4efc414305..6ade578a7e2eab3ec1fbacac401708d63e2ae46f 100644 (file)
     </object>
     <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
       <bool key="EncodedWithXMLCoder">YES</bool>
+      <integer value="4682"/>
+      <integer value="5260"/>
       <integer value="3707"/>
       <integer value="5238"/>
+      <integer value="5266"/>
     </object>
     <object class="NSArray" key="IBDocument.PluginDependencies">
       <bool key="EncodedWithXMLCoder">YES</bool>
@@ -55,7 +58,7 @@
         <nil key="NSUserInterfaceItemIdentifier"/>
         <string key="NSWindowContentMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
         <object class="NSView" key="NSWindowView" id="429932428">
-          <nil key="NSNextResponder"/>
+          <reference key="NSNextResponder"/>
           <int key="NSvFlags">256</int>
           <object class="NSMutableArray" key="NSSubviews">
             <bool key="EncodedWithXMLCoder">YES</bool>
                       <object class="NSImageCell" key="NSCell" id="660513772">
                         <int key="NSCellFlags">0</int>
                         <int key="NSCellFlags2">33554432</int>
-                        <object class="NSCustomResource" key="NSContents">
+                        <object class="NSCustomResource" key="NSContents" id="870138596">
                           <string key="NSClassName">NSImage</string>
                           <string key="NSResourceName">topbar_background</string>
                         </object>
             </object>
           </object>
           <string key="NSFrameSize">{604, 310}</string>
+          <reference key="NSSuperview"/>
         </object>
         <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
         <string key="NSMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
                 <reference key="NSControlView" ref="460273327"/>
                 <bool key="NSDrawsBackground">YES</bool>
                 <reference key="NSBackgroundColor" ref="166084101"/>
-                <object class="NSColor" key="NSTextColor">
+                <object class="NSColor" key="NSTextColor" id="824843486">
                   <int key="NSColorSpace">6</int>
                   <string key="NSCatalogName">System</string>
                   <string key="NSColorName">textColor</string>
@@ -4948,6 +4952,196 @@ LCAuLi4</string>
         <string key="NSReuseIdentifierKey">_NS:1109</string>
         <string key="NSClassName">VLCMainWindowTitleView</string>
       </object>
+      <object class="NSCustomView" id="115834448">
+        <reference key="NSNextResponder"/>
+        <int key="NSvFlags">-2147483358</int>
+        <object class="NSMutableArray" key="NSSubviews">
+          <bool key="EncodedWithXMLCoder">YES</bool>
+          <object class="NSButton" id="882473348">
+            <reference key="NSNextResponder" ref="115834448"/>
+            <int key="NSvFlags">268</int>
+            <string key="NSFrame">{{5, 1}, {98, 17}}</string>
+            <reference key="NSSuperview" ref="115834448"/>
+            <string key="NSReuseIdentifierKey">_NS:125</string>
+            <bool key="NSEnabled">YES</bool>
+            <object class="BGHUDButtonCell" key="NSCell" id="590507939">
+              <int key="NSCellFlags">67108864</int>
+              <int key="NSCellFlags2">134348800</int>
+              <string key="NSContents">Add Podcast</string>
+              <reference key="NSSupport" ref="26"/>
+              <string key="NSCellIdentifier">_NS:125</string>
+              <reference key="NSControlView" ref="882473348"/>
+              <int key="NSButtonFlags">-2038284288</int>
+              <int key="NSButtonFlags2">36</int>
+              <reference key="NSAlternateImage" ref="747390061"/>
+              <string key="NSAlternateContents"/>
+              <string key="NSKeyEquivalent"/>
+              <int key="NSPeriodicDelay">200</int>
+              <int key="NSPeriodicInterval">25</int>
+              <string key="themeKey">gradientTheme</string>
+              <int key="BGButtonType">0</int>
+            </object>
+            <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+          </object>
+          <object class="NSImageView" id="157740914">
+            <reference key="NSNextResponder" ref="115834448"/>
+            <int key="NSvFlags">266</int>
+            <object class="NSMutableSet" key="NSDragTypes">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <object class="NSArray" key="set.sortedObjects">
+                <bool key="EncodedWithXMLCoder">YES</bool>
+                <string>Apple PDF pasteboard type</string>
+                <string>Apple PICT pasteboard type</string>
+                <string>Apple PNG pasteboard type</string>
+                <string>NSFilenamesPboardType</string>
+                <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+                <string>NeXT TIFF v4.0 pasteboard type</string>
+              </object>
+            </object>
+            <string key="NSFrame">{{0, -2}, {403, 23}}</string>
+            <reference key="NSSuperview" ref="115834448"/>
+            <bool key="NSEnabled">YES</bool>
+            <object class="NSImageCell" key="NSCell" id="816225529">
+              <int key="NSCellFlags">0</int>
+              <int key="NSCellFlags2">33554432</int>
+              <reference key="NSContents" ref="870138596"/>
+              <int key="NSAlign">0</int>
+              <int key="NSScale">1</int>
+              <int key="NSStyle">0</int>
+              <bool key="NSAnimates">NO</bool>
+            </object>
+            <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+            <bool key="NSEditable">YES</bool>
+          </object>
+        </object>
+        <string key="NSFrameSize">{403, 21}</string>
+        <reference key="NSSuperview"/>
+        <string key="NSReuseIdentifierKey">_NS:1109</string>
+        <string key="NSClassName">NSView</string>
+      </object>
+      <object class="NSWindowTemplate" id="663412952">
+        <int key="NSWindowStyleMask">9</int>
+        <int key="NSWindowBacking">2</int>
+        <string key="NSWindowRect">{{265, 520}, {612, 159}}</string>
+        <int key="NSWTFlags">1886912512</int>
+        <string key="NSWindowTitle">Subscribe to a podcast</string>
+        <string key="NSWindowClass">NSWindow</string>
+        <object class="NSMutableString" key="NSViewClass">
+          <characters key="NS.bytes">View</characters>
+        </object>
+        <nil key="NSUserInterfaceItemIdentifier"/>
+        <string key="NSWindowContentMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
+        <object class="NSView" key="NSWindowView" id="383192078">
+          <reference key="NSNextResponder"/>
+          <int key="NSvFlags">256</int>
+          <object class="NSMutableArray" key="NSSubviews">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSTextField" id="775078905">
+              <reference key="NSNextResponder" ref="383192078"/>
+              <int key="NSvFlags">266</int>
+              <string key="NSFrame">{{17, 122}, {578, 17}}</string>
+              <reference key="NSSuperview" ref="383192078"/>
+              <bool key="NSEnabled">YES</bool>
+              <object class="NSTextFieldCell" key="NSCell" id="143978264">
+                <int key="NSCellFlags">69206017</int>
+                <int key="NSCellFlags2">272629760</int>
+                <string key="NSContents">Subscribe to a podcast</string>
+                <reference key="NSSupport" ref="103182952"/>
+                <reference key="NSControlView" ref="775078905"/>
+                <reference key="NSBackgroundColor" ref="3414043"/>
+                <reference key="NSTextColor" ref="306532497"/>
+              </object>
+              <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+            </object>
+            <object class="NSTextField" id="380575444">
+              <reference key="NSNextResponder" ref="383192078"/>
+              <int key="NSvFlags">266</int>
+              <string key="NSFrame">{{17, 97}, {578, 17}}</string>
+              <reference key="NSSuperview" ref="383192078"/>
+              <bool key="NSEnabled">YES</bool>
+              <object class="NSTextFieldCell" key="NSCell" id="723959243">
+                <int key="NSCellFlags">69206017</int>
+                <int key="NSCellFlags2">272629824</int>
+                <string key="NSContents">Enter URL of the podcast to subscribe to:</string>
+                <reference key="NSSupport" ref="26"/>
+                <reference key="NSControlView" ref="380575444"/>
+                <reference key="NSBackgroundColor" ref="3414043"/>
+                <reference key="NSTextColor" ref="306532497"/>
+              </object>
+              <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+            </object>
+            <object class="NSButton" id="819678038">
+              <reference key="NSNextResponder" ref="383192078"/>
+              <int key="NSvFlags">257</int>
+              <string key="NSFrame">{{475, 12}, {123, 32}}</string>
+              <reference key="NSSuperview" ref="383192078"/>
+              <bool key="NSEnabled">YES</bool>
+              <object class="NSButtonCell" key="NSCell" id="310232456">
+                <int key="NSCellFlags">67108864</int>
+                <int key="NSCellFlags2">134217728</int>
+                <string key="NSContents">Subscribe</string>
+                <reference key="NSSupport" ref="841513812"/>
+                <reference key="NSControlView" ref="819678038"/>
+                <int key="NSButtonFlags">-2038284288</int>
+                <int key="NSButtonFlags2">1</int>
+                <reference key="NSAlternateImage" ref="841513812"/>
+                <string key="NSAlternateContents"/>
+                <string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
+                <int key="NSPeriodicDelay">200</int>
+                <int key="NSPeriodicInterval">25</int>
+              </object>
+              <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+            </object>
+            <object class="NSButton" id="1020894529">
+              <reference key="NSNextResponder" ref="383192078"/>
+              <int key="NSvFlags">257</int>
+              <string key="NSFrame">{{352, 12}, {123, 32}}</string>
+              <reference key="NSSuperview" ref="383192078"/>
+              <bool key="NSEnabled">YES</bool>
+              <object class="NSButtonCell" key="NSCell" id="387352945">
+                <int key="NSCellFlags">67108864</int>
+                <int key="NSCellFlags2">134217728</int>
+                <string key="NSContents">Cancel</string>
+                <reference key="NSSupport" ref="841513812"/>
+                <reference key="NSControlView" ref="1020894529"/>
+                <int key="NSButtonFlags">-2038284288</int>
+                <int key="NSButtonFlags2">1</int>
+                <reference key="NSAlternateImage" ref="841513812"/>
+                <string key="NSAlternateContents"/>
+                <string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
+                <int key="NSPeriodicDelay">200</int>
+                <int key="NSPeriodicInterval">25</int>
+              </object>
+              <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+            </object>
+            <object class="NSTextField" id="150027265">
+              <reference key="NSNextResponder" ref="383192078"/>
+              <int key="NSvFlags">268</int>
+              <string key="NSFrame">{{20, 67}, {572, 22}}</string>
+              <reference key="NSSuperview" ref="383192078"/>
+              <string key="NSReuseIdentifierKey">_NS:817</string>
+              <bool key="NSEnabled">YES</bool>
+              <object class="NSTextFieldCell" key="NSCell" id="999644371">
+                <int key="NSCellFlags">-1804599231</int>
+                <int key="NSCellFlags2">272630784</int>
+                <string key="NSContents"/>
+                <reference key="NSSupport" ref="841513812"/>
+                <string key="NSCellIdentifier">_NS:817</string>
+                <reference key="NSControlView" ref="150027265"/>
+                <bool key="NSDrawsBackground">YES</bool>
+                <reference key="NSBackgroundColor" ref="166084101"/>
+                <reference key="NSTextColor" ref="824843486"/>
+              </object>
+              <bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+            </object>
+          </object>
+          <string key="NSFrameSize">{612, 159}</string>
+          <reference key="NSSuperview"/>
+        </object>
+        <string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
+        <string key="NSMaxSize">{1.7976931348623157e+308, 1.7976931348623157e+308}</string>
+        <bool key="NSWindowIsRestorable">YES</bool>
+      </object>
     </object>
     <object class="IBObjectContainer" key="IBDocument.Objects">
       <object class="NSMutableArray" key="connectionRecords">
@@ -8024,6 +8218,94 @@ LCAuLi4</string>
           </object>
           <int key="connectionID">5257</int>
         </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_view</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="115834448"/>
+          </object>
+          <int key="connectionID">5291</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_add_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="882473348"/>
+          </object>
+          <int key="connectionID">5292</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_subscribe_cancel_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="1020894529"/>
+          </object>
+          <int key="connectionID">5293</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_subscribe_ok_btn</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="819678038"/>
+          </object>
+          <int key="connectionID">5294</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_subscribe_subtitle_lbl</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="380575444"/>
+          </object>
+          <int key="connectionID">5295</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_subscribe_title_lbl</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="775078905"/>
+          </object>
+          <int key="connectionID">5296</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_subscribe_url_fld</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="150027265"/>
+          </object>
+          <int key="connectionID">5297</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBOutletConnection" key="connection">
+            <string key="label">o_podcast_subscribe_window</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="663412952"/>
+          </object>
+          <int key="connectionID">5298</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">addPodcast:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="882473348"/>
+          </object>
+          <int key="connectionID">5299</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">addPodcastWindowAction:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="1020894529"/>
+          </object>
+          <int key="connectionID">5300</int>
+        </object>
+        <object class="IBConnectionRecord">
+          <object class="IBActionConnection" key="connection">
+            <string key="label">addPodcastWindowAction:</string>
+            <reference key="source" ref="498338108"/>
+            <reference key="destination" ref="819678038"/>
+          </object>
+          <int key="connectionID">5301</int>
+        </object>
       </object>
       <object class="IBMutableOrderedSet" key="objectRecords">
         <object class="NSArray" key="orderedObjects">
@@ -11074,6 +11356,138 @@ LCAuLi4</string>
             <reference key="object" ref="710935977"/>
             <reference key="parent" ref="815243229"/>
           </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5260</int>
+            <reference key="object" ref="115834448"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="157740914"/>
+              <reference ref="882473348"/>
+            </object>
+            <reference key="parent" ref="0"/>
+            <string key="objectName">podcast</string>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5261</int>
+            <reference key="object" ref="157740914"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="816225529"/>
+            </object>
+            <reference key="parent" ref="115834448"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5262</int>
+            <reference key="object" ref="816225529"/>
+            <reference key="parent" ref="157740914"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5263</int>
+            <reference key="object" ref="882473348"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="590507939"/>
+            </object>
+            <reference key="parent" ref="115834448"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5264</int>
+            <reference key="object" ref="590507939"/>
+            <reference key="parent" ref="882473348"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5265</int>
+            <reference key="object" ref="663412952"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="383192078"/>
+            </object>
+            <reference key="parent" ref="0"/>
+            <string key="objectName">Add Podcast</string>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5266</int>
+            <reference key="object" ref="383192078"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="775078905"/>
+              <reference ref="380575444"/>
+              <reference ref="150027265"/>
+              <reference ref="819678038"/>
+              <reference ref="1020894529"/>
+            </object>
+            <reference key="parent" ref="663412952"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5268</int>
+            <reference key="object" ref="1020894529"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="387352945"/>
+            </object>
+            <reference key="parent" ref="383192078"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5269</int>
+            <reference key="object" ref="819678038"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="310232456"/>
+            </object>
+            <reference key="parent" ref="383192078"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5274</int>
+            <reference key="object" ref="380575444"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="723959243"/>
+            </object>
+            <reference key="parent" ref="383192078"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5275</int>
+            <reference key="object" ref="775078905"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="143978264"/>
+            </object>
+            <reference key="parent" ref="383192078"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5276</int>
+            <reference key="object" ref="143978264"/>
+            <reference key="parent" ref="775078905"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5277</int>
+            <reference key="object" ref="723959243"/>
+            <reference key="parent" ref="380575444"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5284</int>
+            <reference key="object" ref="310232456"/>
+            <reference key="parent" ref="819678038"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5285</int>
+            <reference key="object" ref="387352945"/>
+            <reference key="parent" ref="1020894529"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5289</int>
+            <reference key="object" ref="150027265"/>
+            <object class="NSMutableArray" key="children">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <reference ref="999644371"/>
+            </object>
+            <reference key="parent" ref="383192078"/>
+          </object>
+          <object class="IBObjectRecord">
+            <int key="objectID">5290</int>
+            <reference key="object" ref="999644371"/>
+            <reference key="parent" ref="150027265"/>
+          </object>
         </object>
       </object>
       <object class="NSMutableDictionary" key="flattenedProperties">
@@ -11882,6 +12296,39 @@ LCAuLi4</string>
           <string>5248.IBEditorWindowLastContentRect</string>
           <string>5248.IBPluginDependency</string>
           <string>5250.IBPluginDependency</string>
+          <string>5260.IBEditorWindowLastContentRect</string>
+          <string>5260.IBPluginDependency</string>
+          <string>5261.IBPluginDependency</string>
+          <string>5261.IBViewBoundsToFrameTransform</string>
+          <string>5262.IBPluginDependency</string>
+          <string>5263.IBPluginDependency</string>
+          <string>5263.IBViewBoundsToFrameTransform</string>
+          <string>5264.IBPluginDependency</string>
+          <string>5265.IBEditorWindowLastContentRect</string>
+          <string>5265.IBPluginDependency</string>
+          <string>5265.IBWindowTemplateEditedContentRect</string>
+          <string>5265.ImportedFromIB2</string>
+          <string>5266.IBPluginDependency</string>
+          <string>5266.ImportedFromIB2</string>
+          <string>5268.IBPluginDependency</string>
+          <string>5268.IBViewBoundsToFrameTransform</string>
+          <string>5268.ImportedFromIB2</string>
+          <string>5269.IBPluginDependency</string>
+          <string>5269.IBViewBoundsToFrameTransform</string>
+          <string>5269.ImportedFromIB2</string>
+          <string>5274.IBPluginDependency</string>
+          <string>5274.IBViewBoundsToFrameTransform</string>
+          <string>5274.ImportedFromIB2</string>
+          <string>5275.IBPluginDependency</string>
+          <string>5275.IBViewBoundsToFrameTransform</string>
+          <string>5275.ImportedFromIB2</string>
+          <string>5276.IBPluginDependency</string>
+          <string>5277.IBPluginDependency</string>
+          <string>5284.IBPluginDependency</string>
+          <string>5285.IBPluginDependency</string>
+          <string>5289.IBPluginDependency</string>
+          <string>5289.IBViewBoundsToFrameTransform</string>
+          <string>5290.IBPluginDependency</string>
           <string>56.IBPluginDependency</string>
           <string>56.ImportedFromIB2</string>
           <string>57.IBEditorWindowLastContentRect</string>
@@ -12561,7 +13008,7 @@ LCAuLi4</string>
           </object>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <object class="NSAffineTransform">
-            <bytes key="NSTransformStruct">AUMCAABDZQAAA</bytes>
+            <bytes key="NSTransformStruct">AQAAAABDewAAA</bytes>
           </object>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <string>com.binarymethod.BGHUDAppKitPlugin</string>
@@ -12848,13 +13295,60 @@ LCAuLi4</string>
           <string>{{904, 659}, {64, 6}}</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <string>{{753, 1203}, {403, 21}}</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
-          <string>{{329, 186}, {267, 263}}</string>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
+          <object class="NSAffineTransform">
+            <bytes key="NSTransformStruct">AUJ4AABDJgAAA</bytes>
+          </object>
           <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-          <boolean value="YES"/>
+          <string>com.binarymethod.BGHUDAppKitPlugin</string>
+          <object class="NSAffineTransform">
+            <bytes key="NSTransformStruct">P4AAAL+AAABChgAAwzcAAA</bytes>
+          </object>
+          <string>com.binarymethod.BGHUDAppKitPlugin</string>
+          <string>{{789, 812}, {612, 159}}</string>
+          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <string>{{789, 812}, {612, 159}}</string>
+          <boolean value="YES"/>
+          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <boolean value="YES"/>
+          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <object class="NSAffineTransform">
+            <bytes key="NSTransformStruct">P4AAAL+AAABDsAAAw2EAAA</bytes>
+          </object>
+          <boolean value="YES"/>
+          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <object class="NSAffineTransform">
+            <bytes key="NSTransformStruct">P4AAAL+AAABD7YAAw2EAAA</bytes>
+          </object>
+          <boolean value="YES"/>
+          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <object class="NSAffineTransform">
+            <bytes key="NSTransformStruct">P4AAAL+AAABCsgAAw4oAAA</bytes>
+          </object>
+          <boolean value="YES"/>
+          <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+          <object class="NSAffineTransform">
+            <bytes key="NSTransformStruct">P4AAAL+AAABCsgAAw5aAAA</bytes>
+          </object>
+          <boolean value="YES"/>
+          <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 class="NSAffineTransform">
+            <bytes key="NSTransformStruct">P4AAAL+AAABC3AAAwz8AAA</bytes>
+          </object>
+          <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>
+          <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>
@@ -12905,7 +13399,7 @@ LCAuLi4</string>
         </object>
       </object>
       <nil key="sourceID"/>
-      <int key="maxID">5257</int>
+      <int key="maxID">5301</int>
     </object>
     <object class="IBClassDescriber" key="IBDocument.Classes">
       <object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -15801,6 +16295,25 @@ LCAuLi4</string>
             <string key="minorKey">../../../../../modules/gui/macosx/intf.h</string>
           </object>
         </object>
+        <object class="IBPartialClassDescription">
+          <string key="className">VLCDetachedVideoWindow</string>
+          <string key="superclassName">NSWindow</string>
+          <object class="NSMutableDictionary" key="actions">
+            <string key="NS.key.0">customZoom:</string>
+            <string key="NS.object.0">id</string>
+          </object>
+          <object class="NSMutableDictionary" key="actionInfosByName">
+            <string key="NS.key.0">customZoom:</string>
+            <object class="IBActionInfo" key="NS.object.0">
+              <string key="name">customZoom:</string>
+              <string key="candidateClassName">id</string>
+            </object>
+          </object>
+          <object class="IBClassDescriptionSource" key="sourceIdentifier" id="156184767">
+            <string key="majorKey">IBDocumentRelativeSource</string>
+            <string key="minorKey">../../../../../modules/gui/macosx/MainWindow.h</string>
+          </object>
+        </object>
         <object class="IBPartialClassDescription">
           <string key="className">VLCMain</string>
           <string key="superclassName">NSObject</string>
@@ -17363,6 +17876,586 @@ LCAuLi4</string>
             <string key="minorKey">../../../../../modules/gui/macosx/MainMenu.h</string>
           </object>
         </object>
+        <object class="IBPartialClassDescription">
+          <string key="className">VLCMainWindow</string>
+          <string key="superclassName">NSWindow</string>
+          <object class="NSMutableDictionary" key="actions">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>addPodcast:</string>
+              <string>addPodcastWindowAction:</string>
+              <string>backward:</string>
+              <string>bwd:</string>
+              <string>customZoom:</string>
+              <string>dropzoneButtonAction:</string>
+              <string>effects:</string>
+              <string>forward:</string>
+              <string>fullscreen:</string>
+              <string>fwd:</string>
+              <string>next:</string>
+              <string>play:</string>
+              <string>prev:</string>
+              <string>repeat:</string>
+              <string>shuffle:</string>
+              <string>stop:</string>
+              <string>timeSliderAction:</string>
+              <string>togglePlaylist:</string>
+              <string>volumeAction:</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+            </object>
+          </object>
+          <object class="NSMutableDictionary" key="actionInfosByName">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>addPodcast:</string>
+              <string>addPodcastWindowAction:</string>
+              <string>backward:</string>
+              <string>bwd:</string>
+              <string>customZoom:</string>
+              <string>dropzoneButtonAction:</string>
+              <string>effects:</string>
+              <string>forward:</string>
+              <string>fullscreen:</string>
+              <string>fwd:</string>
+              <string>next:</string>
+              <string>play:</string>
+              <string>prev:</string>
+              <string>repeat:</string>
+              <string>shuffle:</string>
+              <string>stop:</string>
+              <string>timeSliderAction:</string>
+              <string>togglePlaylist:</string>
+              <string>volumeAction:</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <object class="IBActionInfo">
+                <string key="name">addPodcast:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">addPodcastWindowAction:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">backward:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">bwd:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">customZoom:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">dropzoneButtonAction:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">effects:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">forward:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">fullscreen:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">fwd:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">next:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">play:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">prev:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">repeat:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">shuffle:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">stop:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">timeSliderAction:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">togglePlaylist:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBActionInfo">
+                <string key="name">volumeAction:</string>
+                <string key="candidateClassName">id</string>
+              </object>
+            </object>
+          </object>
+          <object class="NSMutableDictionary" key="outlets">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>o_bottombar_view</string>
+              <string>o_bwd_btn</string>
+              <string>o_chosen_category_lbl</string>
+              <string>o_current_video_window</string>
+              <string>o_detached_bottombar_view</string>
+              <string>o_detached_bwd_btn</string>
+              <string>o_detached_fullscreen_btn</string>
+              <string>o_detached_fwd_btn</string>
+              <string>o_detached_play_btn</string>
+              <string>o_detached_progress_bar</string>
+              <string>o_detached_resize_view</string>
+              <string>o_detached_time_fld</string>
+              <string>o_detached_time_sld</string>
+              <string>o_detached_time_sld_background</string>
+              <string>o_detached_time_sld_fancygradient_view</string>
+              <string>o_detached_titlebar_view</string>
+              <string>o_detached_video_window</string>
+              <string>o_dropzone_box</string>
+              <string>o_dropzone_btn</string>
+              <string>o_dropzone_lbl</string>
+              <string>o_dropzone_view</string>
+              <string>o_effects_btn</string>
+              <string>o_fspanel</string>
+              <string>o_fullscreen_btn</string>
+              <string>o_fwd_btn</string>
+              <string>o_left_split_view</string>
+              <string>o_play_btn</string>
+              <string>o_playlist_btn</string>
+              <string>o_playlist_table</string>
+              <string>o_podcast_add_btn</string>
+              <string>o_podcast_subscribe_cancel_btn</string>
+              <string>o_podcast_subscribe_ok_btn</string>
+              <string>o_podcast_subscribe_subtitle_lbl</string>
+              <string>o_podcast_subscribe_title_lbl</string>
+              <string>o_podcast_subscribe_url_fld</string>
+              <string>o_podcast_subscribe_window</string>
+              <string>o_podcast_view</string>
+              <string>o_progress_bar</string>
+              <string>o_repeat_btn</string>
+              <string>o_resize_view</string>
+              <string>o_right_split_view</string>
+              <string>o_search_fld</string>
+              <string>o_shuffle_btn</string>
+              <string>o_sidebar_scrollview</string>
+              <string>o_sidebar_view</string>
+              <string>o_split_view</string>
+              <string>o_stop_btn</string>
+              <string>o_time_fld</string>
+              <string>o_time_sld</string>
+              <string>o_time_sld_background</string>
+              <string>o_time_sld_fancygradient_view</string>
+              <string>o_titlebar_view</string>
+              <string>o_topbar_view</string>
+              <string>o_video_view</string>
+              <string>o_volume_down_btn</string>
+              <string>o_volume_sld</string>
+              <string>o_volume_track_view</string>
+              <string>o_volume_up_btn</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>VLCFSPanel</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+              <string>id</string>
+            </object>
+          </object>
+          <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+            <bool key="EncodedWithXMLCoder">YES</bool>
+            <object class="NSArray" key="dict.sortedKeys">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <string>o_bottombar_view</string>
+              <string>o_bwd_btn</string>
+              <string>o_chosen_category_lbl</string>
+              <string>o_current_video_window</string>
+              <string>o_detached_bottombar_view</string>
+              <string>o_detached_bwd_btn</string>
+              <string>o_detached_fullscreen_btn</string>
+              <string>o_detached_fwd_btn</string>
+              <string>o_detached_play_btn</string>
+              <string>o_detached_progress_bar</string>
+              <string>o_detached_resize_view</string>
+              <string>o_detached_time_fld</string>
+              <string>o_detached_time_sld</string>
+              <string>o_detached_time_sld_background</string>
+              <string>o_detached_time_sld_fancygradient_view</string>
+              <string>o_detached_titlebar_view</string>
+              <string>o_detached_video_window</string>
+              <string>o_dropzone_box</string>
+              <string>o_dropzone_btn</string>
+              <string>o_dropzone_lbl</string>
+              <string>o_dropzone_view</string>
+              <string>o_effects_btn</string>
+              <string>o_fspanel</string>
+              <string>o_fullscreen_btn</string>
+              <string>o_fwd_btn</string>
+              <string>o_left_split_view</string>
+              <string>o_play_btn</string>
+              <string>o_playlist_btn</string>
+              <string>o_playlist_table</string>
+              <string>o_podcast_add_btn</string>
+              <string>o_podcast_subscribe_cancel_btn</string>
+              <string>o_podcast_subscribe_ok_btn</string>
+              <string>o_podcast_subscribe_subtitle_lbl</string>
+              <string>o_podcast_subscribe_title_lbl</string>
+              <string>o_podcast_subscribe_url_fld</string>
+              <string>o_podcast_subscribe_window</string>
+              <string>o_podcast_view</string>
+              <string>o_progress_bar</string>
+              <string>o_repeat_btn</string>
+              <string>o_resize_view</string>
+              <string>o_right_split_view</string>
+              <string>o_search_fld</string>
+              <string>o_shuffle_btn</string>
+              <string>o_sidebar_scrollview</string>
+              <string>o_sidebar_view</string>
+              <string>o_split_view</string>
+              <string>o_stop_btn</string>
+              <string>o_time_fld</string>
+              <string>o_time_sld</string>
+              <string>o_time_sld_background</string>
+              <string>o_time_sld_fancygradient_view</string>
+              <string>o_titlebar_view</string>
+              <string>o_topbar_view</string>
+              <string>o_video_view</string>
+              <string>o_volume_down_btn</string>
+              <string>o_volume_sld</string>
+              <string>o_volume_track_view</string>
+              <string>o_volume_up_btn</string>
+            </object>
+            <object class="NSMutableArray" key="dict.values">
+              <bool key="EncodedWithXMLCoder">YES</bool>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_bottombar_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_bwd_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_chosen_category_lbl</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_current_video_window</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_bottombar_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_bwd_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_fullscreen_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_fwd_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_play_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_progress_bar</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_resize_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_time_fld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_time_sld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_time_sld_background</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_time_sld_fancygradient_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_titlebar_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_detached_video_window</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_dropzone_box</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_dropzone_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_dropzone_lbl</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_dropzone_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_effects_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_fspanel</string>
+                <string key="candidateClassName">VLCFSPanel</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_fullscreen_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_fwd_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_left_split_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_play_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_playlist_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_playlist_table</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_add_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_subscribe_cancel_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_subscribe_ok_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_subscribe_subtitle_lbl</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_subscribe_title_lbl</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_subscribe_url_fld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_subscribe_window</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_podcast_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_progress_bar</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_repeat_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_resize_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_right_split_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_search_fld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_shuffle_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_sidebar_scrollview</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_sidebar_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_split_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_stop_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_fld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_sld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_sld_background</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_time_sld_fancygradient_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_titlebar_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_topbar_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_video_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_down_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_sld</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_track_view</string>
+                <string key="candidateClassName">id</string>
+              </object>
+              <object class="IBToOneOutletInfo">
+                <string key="name">o_volume_up_btn</string>
+                <string key="candidateClassName">id</string>
+              </object>
+            </object>
+          </object>
+          <reference key="sourceIdentifier" ref="156184767"/>
+        </object>
       </object>
       <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
         <bool key="EncodedWithXMLCoder">YES</bool>
index dcd31e03c9eee12136eb726ce3c1a2e0bbe1f759..8faffeb85f7d97ed476917a0803b60a01612e1af 100644 (file)
     IBOutlet id o_detached_titlebar_view;
     IBOutlet id o_detached_video_window;
 
+    IBOutlet id o_podcast_view;
+    IBOutlet id o_podcast_add_btn;
+    IBOutlet id o_podcast_subscribe_window;
+    IBOutlet id o_podcast_subscribe_title_lbl;
+    IBOutlet id o_podcast_subscribe_subtitle_lbl;
+    IBOutlet id o_podcast_subscribe_url_fld;
+    IBOutlet id o_podcast_subscribe_cancel_btn;
+    IBOutlet id o_podcast_subscribe_ok_btn;
+
     BOOL b_dark_interface;
     BOOL b_nativeFullscreenMode;
     BOOL b_video_playback_enabled;
     NSMutableArray *o_sidebaritems;
 
     BOOL              b_nonembedded;
+    BOOL              b_podcastView_displayed;
 
     VLCWindow       * o_fullscreen_window;
     NSViewAnimation * o_fullscreen_anim1;
 - (IBAction)fullscreen:(id)sender;
 - (IBAction)dropzoneButtonAction:(id)sender;
 
+- (IBAction)addPodcast:(id)sender;
+- (IBAction)addPodcastWindowAction:(id)sender;
+
 - (void)setTitle:(NSString *)title;
 - (void)customZoom:(id)sender;
 - (void)windowResizedOrMoved:(NSNotification *)notification;
index f034abd3942f80ccc129f718363b98aae630843f..f7985a9b98dbda14860a6804c505fffd8771a7db 100644 (file)
@@ -254,6 +254,12 @@ static VLCMainWindow *_o_sharedInstance = nil;
     [[o_dropzone_btn cell] accessibilitySetOverrideValue:_NS("Click to open an advanced dialog to select the media to play. You can also drop files here to play.") forAttribute:NSAccessibilityDescriptionAttribute];
     [o_dropzone_lbl setStringValue: _NS("Drop media here")];
 
+    [o_podcast_add_btn setTitle: _NS("Add Podcast")];
+    [o_podcast_subscribe_title_lbl setStringValue: _NS("Subscribe to a podcast")];
+    [o_podcast_subscribe_subtitle_lbl setStringValue: _NS("Enter URL of the podcast to subscribe to:")];
+    [o_podcast_subscribe_cancel_btn setTitle: _NS("Cancel")];
+    [o_podcast_subscribe_ok_btn setTitle: _NS("Subscribe")];
+
     if (!b_dark_interface) {
         [o_bottombar_view setImagesLeft: [NSImage imageNamed:@"bottom-background"] middle: [NSImage imageNamed:@"bottom-background"] right: [NSImage imageNamed:@"bottom-background"]];
         [o_detached_bottombar_view setImagesLeft: [NSImage imageNamed:@"bottom-background"] middle: [NSImage imageNamed:@"bottom-background"] right: [NSImage imageNamed:@"bottom-background"]];
@@ -499,8 +505,7 @@ static VLCMainWindow *_o_sharedInstance = nil;
                 {
                     [internetItems addObject: [SideBarItem itemWithTitle: _NS(*ppsz_longname) identifier: o_identifier]];
                     if (!strncmp( *ppsz_name, "podcast", 7 ))
-                        [internetItems removeLastObject]; // we don't support podcasts at this point (see #6017)
-//                        [[internetItems lastObject] setIcon: [NSImage imageNamed:@"sidebar-podcast"]];
+                        [[internetItems lastObject] setIcon: [NSImage imageNamed:@"sidebar-podcast"]];
                     else
                         [[internetItems lastObject] setIcon: [NSImage imageNamed:@"NSApplicationIcon"]];
                     [[internetItems lastObject] setSdtype: SD_CAT_INTERNET];
@@ -1859,7 +1864,7 @@ static VLCMainWindow *_o_sharedInstance = nil;
         [o_extra_video_window setCanBecomeMainWindow: NO];
         [o_extra_video_window useOptimizedDrawing: YES];
         [o_extra_video_window setMovableByWindowBackground: NO];
-        
+
         [o_video_view retain];
         if ([o_video_view superview] != NULL)
             [o_video_view removeFromSuperviewWithoutNeedingDisplay];
@@ -2090,7 +2095,7 @@ static VLCMainWindow *_o_sharedInstance = nil;
     NSRect rect;
     BOOL blackout_other_displays = var_InheritBool( VLCIntf, "macosx-black" );
     o_current_video_window = [o_video_view window];
-    
+
     screen = [NSScreen screenWithDisplayID:(CGDirectDisplayID)var_InheritInteger( VLCIntf, "macosx-vdev" )];
     [self lockFullscreenAnimation];
 
@@ -2784,6 +2789,11 @@ static VLCMainWindow *_o_sharedInstance = nil;
     else
         [self showDropZone];
     PL_UNLOCK;
+
+    if ([[item identifier] isEqualToString:@"podcast{longname=\"Podcasts\"}"])
+        [self showPodcastControls];
+    else
+        [self hidePodcastControls];
 }
 
 - (NSDragOperation)sourceList:(PXSourceList *)aSourceList validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)index
@@ -2878,6 +2888,55 @@ static VLCMainWindow *_o_sharedInstance = nil;
     return nil;
 }
 
+#pragma mark -
+#pragma mark Podcast
+
+- (IBAction)addPodcast:(id)sender
+{
+    [NSApp beginSheet:o_podcast_subscribe_window modalForWindow:self modalDelegate:self didEndSelector:NULL contextInfo:nil];
+}
+
+- (IBAction)addPodcastWindowAction:(id)sender
+{
+    [o_podcast_subscribe_window orderOut:sender];
+    [NSApp endSheet: o_podcast_subscribe_window];
+}
+
+- (void)showPodcastControls
+{
+    NSRect podcastViewDimensions = [o_podcast_view frame];
+    NSRect rightSplitRect = [o_right_split_view frame];
+    NSRect playlistTableRect = [o_playlist_table frame];
+
+    podcastViewDimensions.size.width = rightSplitRect.size.width;
+    podcastViewDimensions.origin.x = podcastViewDimensions.origin.y = .0;
+    [o_podcast_view setFrame:podcastViewDimensions];
+
+    playlistTableRect.origin.y = playlistTableRect.origin.y + podcastViewDimensions.size.height;
+    playlistTableRect.size.height = playlistTableRect.size.height - podcastViewDimensions.size.height;
+    [o_playlist_table setFrame:playlistTableRect];
+    [o_playlist_table setNeedsDisplay:YES];
+
+    [o_right_split_view addSubview: o_podcast_view positioned: NSWindowAbove relativeTo: o_right_split_view];
+    [[o_podcast_view animator] setHidden:NO];
+    b_podcastView_displayed = YES;
+}
+
+- (void)hidePodcastControls
+{
+    if (b_podcastView_displayed) {
+        NSRect podcastViewDimensions = [o_podcast_view frame];
+        NSRect playlistTableRect = [o_playlist_table frame];
+
+        playlistTableRect.origin.y = playlistTableRect.origin.y - podcastViewDimensions.size.height;
+        playlistTableRect.size.height = playlistTableRect.size.height + podcastViewDimensions.size.height;
+
+        [o_podcast_view removeFromSuperviewWithoutNeedingDisplay];
+        [o_playlist_table setFrame: playlistTableRect];
+        b_podcastView_displayed = NO;
+    }
+}
+
 #pragma mark -
 #pragma mark Accessibility stuff