From 27be3b6e611a4459d5a3b5da598f984c02d60cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org> Date: Tue, 9 Aug 2011 00:19:10 +0200 Subject: [PATCH] macosx: move VLCFSPanel from VLCControls to VLCMainWindow since its the only class which should know about it --- .../English.lproj/MainMenu.nib/designable.nib | 761 +++++++++++++++--- .../MainMenu.nib/keyedobjects.nib | Bin 120790 -> 120790 bytes modules/gui/macosx/MainWindow.h | 3 + modules/gui/macosx/MainWindow.m | 24 +- modules/gui/macosx/controls.h | 6 - modules/gui/macosx/controls.m | 18 - modules/gui/macosx/intf.m | 7 +- 7 files changed, 660 insertions(+), 159 deletions(-) diff --git a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib index e530effea5a4..9dced1c70e1f 100644 --- a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib +++ b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib @@ -21,14 +21,14 @@ </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="283"/> + <integer value="1617"/> <integer value="2730"/> + <integer value="4682"/> <integer value="4596"/> - <integer value="1617"/> - <integer value="4722"/> <integer value="915"/> <integer value="334"/> - <integer value="4682"/> + <integer value="283"/> + <integer value="4722"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -4410,7 +4410,7 @@ LCAuLi4</string> <string key="NSReuseIdentifierKey">_NS:21</string> </object> </object> - <string key="NSFrame">{{123, 12}, {234, 229}}</string> + <string key="NSFrame">{{124, 11}, {234, 229}}</string> <reference key="NSSuperview" ref="256817023"/> <int key="NSViewLayerContentsRedrawPolicy">2</int> <string key="NSReuseIdentifierKey">_NS:18</string> @@ -6626,14 +6626,6 @@ LCAuLi4</string> </object> <int key="connectionID">4592</int> </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">o_fs_panel</string> - <reference key="source" ref="113811151"/> - <reference key="destination" ref="662599125"/> - </object> - <int key="connectionID">4595</int> - </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">o_mi_rate_view</string> @@ -7186,6 +7178,14 @@ LCAuLi4</string> </object> <int key="connectionID">4749</int> </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">o_fspanel</string> + <reference key="source" ref="498338108"/> + <reference key="destination" ref="662599125"/> + </object> + <int key="connectionID">4751</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -11028,14 +11028,14 @@ LCAuLi4</string> <boolean value="YES"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES"/> - <string>{{85, 668}, {468, 20}}</string> + <string>{{330, 668}, {468, 20}}</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>{{364, 305}, {208, 363}}</string> + <string>{{609, 305}, {208, 363}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -11448,7 +11448,7 @@ LCAuLi4</string> </object> </object> <nil key="sourceID"/> - <int key="maxID">4749</int> + <int key="maxID">4751</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -14169,40 +14169,40 @@ LCAuLi4</string> <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.1+"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBPartialClassDescription"> - <string key="className">VLCMainMenu</string> + <string key="className">VLCApplication</string> + <string key="superclassName">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="14210209"> + <string key="majorKey">IBDocumentRelativeSource</string> + <string key="minorKey">../../../../../modules/gui/macosx/intf.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">VLCControls</string> <string key="superclassName">NSObject</string> <object class="NSMutableDictionary" key="actions"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> - <string>clearRecentItems:</string> - <string>createVideoSnapshot:</string> - <string>floatOnTop:</string> - <string>intfOpenCapture:</string> - <string>intfOpenDisc:</string> - <string>intfOpenFile:</string> - <string>intfOpenFileGeneric:</string> - <string>intfOpenNet:</string> - <string>openDocumentation:</string> - <string>openDonate:</string> - <string>openForum:</string> - <string>openReadMe:</string> - <string>openWebsite:</string> - <string>resizeVideoWindow:</string> - <string>setPlaybackRate:</string> - <string>showAudioEffects:</string> - <string>showBookmarks:</string> - <string>showInformationPanel:</string> - <string>showLicense:</string> - <string>showTrackSynchronization:</string> - <string>showVideoEffects:</string> - <string>showWizard:</string> - <string>toggleFullscreen:</string> - <string>toggleVar:</string> - <string>viewAbout:</string> - <string>viewErrorsAndWarnings:</string> - <string>viewHelp:</string> - <string>viewPreferences:</string> + <string>addSubtitleFile:</string> + <string>backward:</string> + <string>forward:</string> + <string>goToSpecificTime:</string> + <string>lockVideosAspectRatio:</string> + <string>loop:</string> + <string>mute:</string> + <string>next:</string> + <string>play:</string> + <string>prev:</string> + <string>quitAfterPlayback:</string> + <string>random:</string> + <string>repeat:</string> + <string>showPosition:</string> + <string>stop:</string> + <string>telxNavLink:</string> + <string>telxTransparent:</string> + <string>volumeDown:</string> + <string>volumeSliderUpdated:</string> + <string>volumeUp:</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -14226,168 +14226,682 @@ LCAuLi4</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>clearRecentItems:</string> - <string>createVideoSnapshot:</string> - <string>floatOnTop:</string> - <string>intfOpenCapture:</string> - <string>intfOpenDisc:</string> - <string>intfOpenFile:</string> - <string>intfOpenFileGeneric:</string> - <string>intfOpenNet:</string> - <string>openDocumentation:</string> - <string>openDonate:</string> - <string>openForum:</string> - <string>openReadMe:</string> - <string>openWebsite:</string> - <string>resizeVideoWindow:</string> - <string>setPlaybackRate:</string> - <string>showAudioEffects:</string> - <string>showBookmarks:</string> - <string>showInformationPanel:</string> - <string>showLicense:</string> - <string>showTrackSynchronization:</string> - <string>showVideoEffects:</string> - <string>showWizard:</string> - <string>toggleFullscreen:</string> - <string>toggleVar:</string> - <string>viewAbout:</string> - <string>viewErrorsAndWarnings:</string> - <string>viewHelp:</string> - <string>viewPreferences:</string> + <string>addSubtitleFile:</string> + <string>backward:</string> + <string>forward:</string> + <string>goToSpecificTime:</string> + <string>lockVideosAspectRatio:</string> + <string>loop:</string> + <string>mute:</string> + <string>next:</string> + <string>play:</string> + <string>prev:</string> + <string>quitAfterPlayback:</string> + <string>random:</string> + <string>repeat:</string> + <string>showPosition:</string> + <string>stop:</string> + <string>telxNavLink:</string> + <string>telxTransparent:</string> + <string>volumeDown:</string> + <string>volumeSliderUpdated:</string> + <string>volumeUp:</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBActionInfo"> - <string key="name">clearRecentItems:</string> + <string key="name">addSubtitleFile:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">createVideoSnapshot:</string> + <string key="name">backward:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">floatOnTop:</string> + <string key="name">forward:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">intfOpenCapture:</string> + <string key="name">goToSpecificTime:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">intfOpenDisc:</string> + <string key="name">lockVideosAspectRatio:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">intfOpenFile:</string> + <string key="name">loop:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">intfOpenFileGeneric:</string> + <string key="name">mute:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">intfOpenNet:</string> + <string key="name">next:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">openDocumentation:</string> + <string key="name">play:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">openDonate:</string> + <string key="name">prev:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">openForum:</string> + <string key="name">quitAfterPlayback:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">openReadMe:</string> + <string key="name">random:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">openWebsite:</string> + <string key="name">repeat:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">resizeVideoWindow:</string> + <string key="name">showPosition:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">setPlaybackRate:</string> + <string key="name">stop:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">showAudioEffects:</string> + <string key="name">telxNavLink:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">showBookmarks:</string> + <string key="name">telxTransparent:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">showInformationPanel:</string> + <string key="name">volumeDown:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">showLicense:</string> + <string key="name">volumeSliderUpdated:</string> <string key="candidateClassName">id</string> </object> <object class="IBActionInfo"> - <string key="name">showTrackSynchronization:</string> + <string key="name">volumeUp:</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">showVideoEffects:</string> + </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_main</string> + <string>o_specificTime_cancel_btn</string> + <string>o_specificTime_enter_fld</string> + <string>o_specificTime_goTo_lbl</string> + <string>o_specificTime_mi</string> + <string>o_specificTime_ok_btn</string> + <string>o_specificTime_sec_lbl</string> + <string>o_specificTime_stepper</string> + <string>o_specificTime_win</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> + </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_main</string> + <string>o_specificTime_cancel_btn</string> + <string>o_specificTime_enter_fld</string> + <string>o_specificTime_goTo_lbl</string> + <string>o_specificTime_mi</string> + <string>o_specificTime_ok_btn</string> + <string>o_specificTime_sec_lbl</string> + <string>o_specificTime_stepper</string> + <string>o_specificTime_win</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBToOneOutletInfo"> + <string key="name">o_main</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">showWizard:</string> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_cancel_btn</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">toggleFullscreen:</string> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_enter_fld</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">toggleVar:</string> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_goTo_lbl</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">viewAbout:</string> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_mi</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">viewErrorsAndWarnings:</string> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_ok_btn</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">viewHelp:</string> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_sec_lbl</string> <string key="candidateClassName">id</string> </object> - <object class="IBActionInfo"> - <string key="name">viewPreferences:</string> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_stepper</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_specificTime_win</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"> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBDocumentRelativeSource</string> + <string key="minorKey">../../../../../modules/gui/macosx/controls.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">VLCFSPanel</string> + <string key="superclassName">NSWindow</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBDocumentRelativeSource</string> + <string key="minorKey">../../../../../modules/gui/macosx/fspanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">VLCMain</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>crashReporterAction:</string> + <string>openCrashLog:</string> + <string>saveDebugLog:</string> + <string>showMessagesPanel:</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> + </object> + </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>crashReporterAction:</string> + <string>openCrashLog:</string> + <string>saveDebugLog:</string> + <string>showMessagesPanel:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">crashReporterAction:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">openCrashLog:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">saveDebugLog:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showMessagesPanel:</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_bookmarks</string> + <string>o_controls</string> + <string>o_coredialogs</string> + <string>o_coreinteraction</string> + <string>o_crashrep_desc_txt</string> + <string>o_crashrep_dontSend_btn</string> + <string>o_crashrep_fld</string> + <string>o_crashrep_includeEmail_ckb</string> + <string>o_crashrep_includeEmail_txt</string> + <string>o_crashrep_send_btn</string> + <string>o_crashrep_title_txt</string> + <string>o_crashrep_win</string> + <string>o_embedded_list</string> + <string>o_eyetv</string> + <string>o_info</string> + <string>o_mainmenu</string> + <string>o_mainwindow</string> + <string>o_messages</string> + <string>o_msgs_crashlog_btn</string> + <string>o_msgs_panel</string> + <string>o_msgs_save_btn</string> + <string>o_open</string> + <string>o_playlist</string> + <string>o_prefs</string> + <string>o_sprefs</string> + <string>o_wizard</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>VLCControls</string> + <string>id</string> + <string>id</string> + <string>NSTextField</string> + <string>NSButton</string> + <string>NSTextView</string> + <string>NSButton</string> + <string>NSTextField</string> + <string>NSButton</string> + <string>NSTextField</string> + <string>NSWindow</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>NSTextView</string> + <string>NSButton</string> + <string>NSWindow</string> + <string>NSButton</string> + <string>id</string> + <string>VLCPlaylist</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_bookmarks</string> + <string>o_controls</string> + <string>o_coredialogs</string> + <string>o_coreinteraction</string> + <string>o_crashrep_desc_txt</string> + <string>o_crashrep_dontSend_btn</string> + <string>o_crashrep_fld</string> + <string>o_crashrep_includeEmail_ckb</string> + <string>o_crashrep_includeEmail_txt</string> + <string>o_crashrep_send_btn</string> + <string>o_crashrep_title_txt</string> + <string>o_crashrep_win</string> + <string>o_embedded_list</string> + <string>o_eyetv</string> + <string>o_info</string> + <string>o_mainmenu</string> + <string>o_mainwindow</string> + <string>o_messages</string> + <string>o_msgs_crashlog_btn</string> + <string>o_msgs_panel</string> + <string>o_msgs_save_btn</string> + <string>o_open</string> + <string>o_playlist</string> + <string>o_prefs</string> + <string>o_sprefs</string> + <string>o_wizard</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBToOneOutletInfo"> + <string key="name">o_bookmarks</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_controls</string> + <string key="candidateClassName">VLCControls</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_coredialogs</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_coreinteraction</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_desc_txt</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_dontSend_btn</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_fld</string> + <string key="candidateClassName">NSTextView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_includeEmail_ckb</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_includeEmail_txt</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_send_btn</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_title_txt</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_crashrep_win</string> + <string key="candidateClassName">NSWindow</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_embedded_list</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_eyetv</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_info</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_mainmenu</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_mainwindow</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_messages</string> + <string key="candidateClassName">NSTextView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_msgs_crashlog_btn</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_msgs_panel</string> + <string key="candidateClassName">NSWindow</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_msgs_save_btn</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_open</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_playlist</string> + <string key="candidateClassName">VLCPlaylist</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_prefs</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_sprefs</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">o_wizard</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> + <reference key="sourceIdentifier" ref="14210209"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">VLCMainMenu</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>clearRecentItems:</string> + <string>createVideoSnapshot:</string> + <string>floatOnTop:</string> + <string>intfOpenCapture:</string> + <string>intfOpenDisc:</string> + <string>intfOpenFile:</string> + <string>intfOpenFileGeneric:</string> + <string>intfOpenNet:</string> + <string>openDocumentation:</string> + <string>openDonate:</string> + <string>openForum:</string> + <string>openReadMe:</string> + <string>openWebsite:</string> + <string>resizeVideoWindow:</string> + <string>setPlaybackRate:</string> + <string>showAudioEffects:</string> + <string>showBookmarks:</string> + <string>showInformationPanel:</string> + <string>showLicense:</string> + <string>showTrackSynchronization:</string> + <string>showVideoEffects:</string> + <string>showWizard:</string> + <string>toggleFullscreen:</string> + <string>toggleVar:</string> + <string>viewAbout:</string> + <string>viewErrorsAndWarnings:</string> + <string>viewHelp:</string> + <string>viewPreferences:</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>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>clearRecentItems:</string> + <string>createVideoSnapshot:</string> + <string>floatOnTop:</string> + <string>intfOpenCapture:</string> + <string>intfOpenDisc:</string> + <string>intfOpenFile:</string> + <string>intfOpenFileGeneric:</string> + <string>intfOpenNet:</string> + <string>openDocumentation:</string> + <string>openDonate:</string> + <string>openForum:</string> + <string>openReadMe:</string> + <string>openWebsite:</string> + <string>resizeVideoWindow:</string> + <string>setPlaybackRate:</string> + <string>showAudioEffects:</string> + <string>showBookmarks:</string> + <string>showInformationPanel:</string> + <string>showLicense:</string> + <string>showTrackSynchronization:</string> + <string>showVideoEffects:</string> + <string>showWizard:</string> + <string>toggleFullscreen:</string> + <string>toggleVar:</string> + <string>viewAbout:</string> + <string>viewErrorsAndWarnings:</string> + <string>viewHelp:</string> + <string>viewPreferences:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">clearRecentItems:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">createVideoSnapshot:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">floatOnTop:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">intfOpenCapture:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">intfOpenDisc:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">intfOpenFile:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">intfOpenFileGeneric:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">intfOpenNet:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">openDocumentation:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">openDonate:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">openForum:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">openReadMe:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">openWebsite:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">resizeVideoWindow:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">setPlaybackRate:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showAudioEffects:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showBookmarks:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showInformationPanel:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showLicense:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showTrackSynchronization:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showVideoEffects:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showWizard:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleFullscreen:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleVar:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">viewAbout:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">viewErrorsAndWarnings:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">viewHelp:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">viewPreferences:</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_about</string> <string>o_audioeffects</string> @@ -15483,6 +15997,7 @@ LCAuLi4</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_play_btn</string> @@ -15517,6 +16032,7 @@ LCAuLi4</string> <string>id</string> <string>id</string> <string>id</string> + <string>VLCFSPanel</string> <string>id</string> <string>id</string> <string>id</string> @@ -15554,6 +16070,7 @@ LCAuLi4</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_play_btn</string> @@ -15609,6 +16126,10 @@ LCAuLi4</string> <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> diff --git a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib index ec451599123e9e8b3af20d168bc31b01c13e2aec..6b1a1732bcf01a51229f9b556d8e88f67c80172e 100644 GIT binary patch delta 12113 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 Gi2n!3$fUdg delta 12111 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 EKjAUmi~s-t diff --git a/modules/gui/macosx/MainWindow.h b/modules/gui/macosx/MainWindow.h index 22bb753affa5..ed6331da4233 100644 --- a/modules/gui/macosx/MainWindow.h +++ b/modules/gui/macosx/MainWindow.h @@ -28,6 +28,7 @@ #import "PXSourceList.h" #import <vlc_input.h> #import "misc.h" +#import "fspanel.h" #ifndef MAC_OS_X_VERSION_10_6 @protocol NSAnimationDelegate <NSObject> @end @@ -68,6 +69,8 @@ IBOutlet id o_dropzone_btn; IBOutlet id o_dropzone_lbl; + IBOutlet VLCFSPanel *o_fspanel; + BOOL b_dark_interface; BOOL b_video_playback_enabled; int i_lastShownVolume; diff --git a/modules/gui/macosx/MainWindow.m b/modules/gui/macosx/MainWindow.m index 9591170394fa..75214e380c3c 100644 --- a/modules/gui/macosx/MainWindow.m +++ b/modules/gui/macosx/MainWindow.m @@ -57,7 +57,10 @@ static VLCMainWindow *_o_sharedInstance = nil; return _o_sharedInstance; } else + { + o_fspanel = [[VLCFSPanel alloc] init]; _o_sharedInstance = [super init]; + } return _o_sharedInstance; } @@ -534,7 +537,7 @@ static VLCMainWindow *_o_sharedInstance = nil; o_time = [NSString stringWithUTF8String: secstotimestr( psz_time, (time.i_time / 1000000) )]; [o_time_fld setStringValue: o_time]; - [[[[VLCMain sharedInstance] controls] fspanel] setStreamPos: f_updated andTime: o_time]; + [o_fspanel setStreamPos: f_updated andTime: o_time]; vlc_object_release( p_input ); } [self drawFancyGradientEffectForTimeSlider]; @@ -616,7 +619,7 @@ static VLCMainWindow *_o_sharedInstance = nil; [o_time_fld setStringValue: o_time]; [o_time_fld setNeedsDisplay:YES]; -// [[[[VLCMain sharedInstance] controls] fspanel] setStreamPos: f_updated andTime: o_time]; + [o_fspanel setStreamPos: f_updated andTime: o_time]; vlc_object_release( p_input ); } else @@ -643,7 +646,8 @@ static VLCMainWindow *_o_sharedInstance = nil; int i_volume_step = 0; i_volume_step = config_GetInt( VLCIntf->p_libvlc, "volume-step" ); [o_volume_sld setFloatValue: (float)i_lastShownVolume / i_volume_step]; -// [[[[VLCMain sharedInstance] controls] fspanel] setVolumeLevel: (float)i_lastShownVolume / i_volume_step]; + if ([o_fspanel respondsToSelector:@selector(setVolumeLevel:)]) + [o_fspanel setVolumeLevel: (float)i_lastShownVolume / i_volume_step]; } } @@ -695,7 +699,7 @@ static VLCMainWindow *_o_sharedInstance = nil; } [self setTitle: aString]; - [[[[VLCMain sharedInstance] controls] fspanel] setStreamTitle: aString]; + [o_fspanel setStreamTitle: aString]; } else { @@ -758,7 +762,7 @@ static VLCMainWindow *_o_sharedInstance = nil; [o_time_sld setEnabled: b_seekable]; [self updateTimeSlider]; - [[[[VLCMain sharedInstance] controls] fspanel] setSeekable: b_seekable]; + [o_fspanel setSeekable: b_seekable]; PL_LOCK; if (playlist_CurrentSize( p_playlist ) >= 1) @@ -773,6 +777,7 @@ static VLCMainWindow *_o_sharedInstance = nil; [o_play_btn setImage: o_pause_img]; [o_play_btn setAlternateImage: o_pause_pressed_img]; [o_play_btn setToolTip: _NS("Pause")]; + [o_fspanel setPause]; } - (void)setPlay @@ -780,6 +785,7 @@ static VLCMainWindow *_o_sharedInstance = nil; [o_play_btn setImage: o_play_img]; [o_play_btn setAlternateImage: o_play_pressed_img]; [o_play_btn setToolTip: _NS("Play")]; + [o_fspanel setPlay]; } - (void)drawFancyGradientEffectForTimeSlider @@ -1027,12 +1033,12 @@ static VLCMainWindow *_o_sharedInstance = nil; [o_fullscreen_window setAcceptsMouseMovedEvents: TRUE]; /* tell the fspanel to move itself to front next time it's triggered */ - [[[[VLCMain sharedInstance] controls] fspanel] setVoutWasUpdated: (int)[[o_fullscreen_window screen] displayID]]; + [o_fspanel setVoutWasUpdated: (int)[[o_fullscreen_window screen] displayID]]; if([self isVisible]) [super orderOut: self]; - [[[[VLCMain sharedInstance] controls] fspanel] setActive: nil]; + [o_fspanel setActive: nil]; b_fullscreen = YES; [self unlockFullscreenAnimation]; @@ -1076,7 +1082,7 @@ static VLCMainWindow *_o_sharedInstance = nil; CGDisplayFade( token, 0.3, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, 0, 0, 0, YES ); } - [[[[VLCMain sharedInstance] controls] fspanel] setNonActive: nil]; + [o_fspanel setNonActive: nil]; SetSystemUIMode( kUIModeNormal, kUIOptionAutoShowMenuBar); /* Will release the lock */ @@ -1098,7 +1104,7 @@ static VLCMainWindow *_o_sharedInstance = nil; [self setAlphaValue: 0.0]; [self orderFront: self]; - [[[[VLCMain sharedInstance] controls] fspanel] setNonActive: nil]; + [o_fspanel setNonActive: nil]; SetSystemUIMode( kUIModeNormal, kUIOptionAutoShowMenuBar); if (o_fullscreen_anim1) diff --git a/modules/gui/macosx/controls.h b/modules/gui/macosx/controls.h index 7add587b559a..0d9aa367bf5b 100644 --- a/modules/gui/macosx/controls.h +++ b/modules/gui/macosx/controls.h @@ -24,8 +24,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#import "fspanel.h" - /***************************************************************************** * VLCControls interface *****************************************************************************/ @@ -41,8 +39,6 @@ IBOutlet id o_specificTime_sec_lbl; IBOutlet id o_specificTime_stepper; IBOutlet id o_specificTime_mi; - - IBOutlet VLCFSPanel *o_fs_panel; } - (IBAction)play:(id)sender; - (IBAction)stop:(id)sender; @@ -73,7 +69,5 @@ - (void)scrollWheel: (NSEvent *)theEvent; - (IBAction)goToSpecificTime:(id)sender; - -- (id)fspanel; @end diff --git a/modules/gui/macosx/controls.m b/modules/gui/macosx/controls.m index 226d667f353e..ee2ead6cea13 100644 --- a/modules/gui/macosx/controls.m +++ b/modules/gui/macosx/controls.m @@ -46,13 +46,6 @@ *****************************************************************************/ @implementation VLCControls -- (id)init -{ - [super init]; - o_fs_panel = [[VLCFSPanel alloc] init]; - return self; -} - - (void)awakeFromNib { [o_specificTime_mi setTitle: _NS("Jump To Time")]; @@ -268,17 +261,6 @@ } } -- (id)fspanel -{ - if( o_fs_panel ) - return o_fs_panel; - else - { - msg_Err( VLCIntf, "FSPanel is nil" ); - return NULL; - } -} - - (void)scrollWheel:(NSEvent *)theEvent { intf_thread_t * p_intf = VLCIntf; diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 47a93ff87172..103e00ce4a5b 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -42,7 +42,6 @@ #import "intf.h" #import "MainMenu.h" #import "MainWindow.h" -#import "fspanel.h" #import "vout.h" #import "prefs.h" #import "playlist.h" @@ -362,7 +361,7 @@ static int ShowController( vlc_object_t *p_this, const char *psz_variable, intf_thread_t * p_intf = VLCIntf; if( p_intf && p_intf->p_sys ) { - NSLog( @"fixme! we should implement ShowController here" ); +// [[[VLCMain sharedInstance] fspanel] makeKeyAndOrderFront: nil]; } return VLC_SUCCESS; } @@ -507,8 +506,6 @@ static VLCMain *_o_sharedMainInstance = nil; o_msg_lock = [[NSLock alloc] init]; o_msg_arr = [[NSMutableArray arrayWithCapacity: 600] retain]; - /* subscribe to LibVLC's debug messages as early as possible (for us) */ - [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(libvlcMessageReceived:) name: @"VLCCoreMessageReceived" object: nil]; o_open = [[VLCOpen alloc] init]; //o_embedded_list = [[VLCEmbeddedList alloc] init]; @@ -1308,7 +1305,6 @@ unsigned int CocoaKeyToVLC( unichar i_key ) int state = var_GetInteger( p_input, "state" ); if( state == PLAYING_S ) { - [[[self controls] fspanel] setPause]; [[self mainMenu] setPause]; [o_mainwindow setPause]; } @@ -1316,7 +1312,6 @@ unsigned int CocoaKeyToVLC( unichar i_key ) { if (state == END_S) [o_mainmenu setSubmenusEnabled: FALSE]; - [[[self controls] fspanel] setPlay]; [[self mainMenu] setPlay]; [o_mainwindow setPlay]; } -- GitLab