diff --git a/Makefile.am b/Makefile.am
index dc2831ce78..5e35330a1d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -199,6 +199,8 @@ EXTRA_DIST += \
extras/package/macosx/Resources/mainwindow/back.png \
extras/package/macosx/Resources/mainwindow/bottom-background.png \
extras/package/macosx/Resources/mainwindow/bottom-bar-mini.png \
+ extras/package/macosx/Resources/mainwindow/dropzone-background.png \
+ extras/package/macosx/Resources/mainwindow/dropzone.png \
extras/package/macosx/Resources/mainwindow/effects-double-buttons-blue.png \
extras/package/macosx/Resources/mainwindow/effects-double-buttons-pressed.png \
extras/package/macosx/Resources/mainwindow/effects-double-buttons.png \
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 f2cd553c72..ea0f1c9fec 100644
--- a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib
+++ b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/designable.nib
@@ -21,13 +21,14 @@
@@ -774,7 +774,7 @@
20
- -633339904
+ 1111490560
4
@@ -806,7 +806,7 @@
-2147483392
- {{1, 556}, {212, 15}}
+ {{-100, -100}, {212, 15}}
1
@@ -817,7 +817,7 @@
{{-1, 0}, {123, 274}}
- 133682
+ 133650
@@ -1118,7 +1118,7 @@
4
- {{-1, 0}, {482, 254}}
+ {482, 254}
133682
@@ -1184,7 +1184,7 @@
{{0, 0}, {1280, 778}}
- {400, 222}
+ {400, 310}
{1.7976931348623157e+308, 1.7976931348623157e+308}
vlc-10thanniversary
YES
@@ -3051,7 +3051,7 @@
{1.7976931348623157e+308, 1.7976931348623157e+308}
-
+
256
YES
@@ -3060,6 +3060,7 @@
256
{{-3, 79}, {240, 17}}
+
YES
67239424
@@ -3080,6 +3081,7 @@
256
{{20, 52}, {159, 19}}
+
YES
-1804468671
@@ -3102,6 +3104,7 @@
256
{{150, 13}, {84, 28}}
+
YES
67239424
@@ -3123,6 +3126,7 @@
256
{{185, 50}, {15, 22}}
+
YES
917024
@@ -3139,6 +3143,7 @@
256
{{68, 13}, {84, 28}}
+
YES
67239424
@@ -3160,6 +3165,7 @@
256
{{203, 54}, {34, 14}}
+
YES
67239424
@@ -3172,7 +3178,9 @@
- {{1, 9}, {249, 103}}
+ {249, 103}
+
+
{{0, 0}, {1280, 778}}
{1.7976931348623157e+308, 1.7976931348623157e+308}
@@ -4266,6 +4274,166 @@ LCAuLi4
NSView
+
+
+ 274
+
+ YES
+
+
+ 45
+
+ YES
+
+
+ 274
+
+ YES
+
+
+ 301
+ {{16, 69}, {202, 22}}
+
+ _NS:4068
+ YES
+
+ 68288064
+ 138413056
+ Drop Media here
+
+ LucidaGrande
+ 18
+ 16
+
+ _NS:4068
+
+
+
+
+
+
+
+ 301
+
+ YES
+
+ YES
+ Apple PDF pasteboard type
+ Apple PICT pasteboard type
+ Apple PNG pasteboard type
+ NSFilenamesPboardType
+ NeXT Encapsulated PostScript v1.2 pasteboard type
+ NeXT TIFF v4.0 pasteboard type
+
+
+ {{64, 108}, {108, 108}}
+
+ _NS:2165
+ YES
+
+ 130560
+ 33554432
+
+ NSImage
+ dropzone
+
+ _NS:2165
+ 0
+ 0
+ 0
+ NO
+
+ YES
+
+
+
+ 301
+ {{41, 7}, {153, 32}}
+
+ _NS:610
+ YES
+
+ 67239424
+ 134217728
+ Open media...
+
+ _NS:610
+
+ -2038284033
+ 129
+
+
+ 200
+ 25
+
+
+
+ {234, 229}
+
+ _NS:21
+
+
+ {{123, 12}, {234, 229}}
+
+ _NS:18
+ {0, 0}
+
+ 67239424
+ 0
+ Box
+
+
+
+ 3
+ MCAwLjgwMDAwMDAxMTkAA
+
+
+
+ 0
+ 0
+ 0
+ NO
+
+
+
+ 306
+
+ YES
+
+ YES
+ Apple PDF pasteboard type
+ Apple PICT pasteboard type
+ Apple PNG pasteboard type
+ NSFilenamesPboardType
+ NeXT Encapsulated PostScript v1.2 pasteboard type
+ NeXT TIFF v4.0 pasteboard type
+
+
+ {482, 254}
+
+ _NS:2165
+ YES
+
+ 130560
+ 33554432
+
+ NSImage
+ dropzone-background
+
+ _NS:2165
+ 0
+ 1
+ 0
+ NO
+
+ YES
+
+
+ {482, 254}
+
+ _NS:1109
+ NSView
+
@@ -6934,6 +7102,46 @@ LCAuLi4
4721
+
+
+ o_dropzone_view
+
+
+
+ 4733
+
+
+
+ o_dropzone_lbl
+
+
+
+ 4734
+
+
+
+ o_dropzone_btn
+
+
+
+ 4735
+
+
+
+ dropzoneButtonAction:
+
+
+
+ 4737
+
+
+
+ o_right_split_view
+
+
+
+ 4738
+
@@ -9545,6 +9753,84 @@ LCAuLi4
+
+ 4722
+
+
+ YES
+
+
+
+
+ Dropzone
+
+
+ 4731
+
+
+ YES
+
+
+
+
+
+ 4732
+
+
+
+
+ 4739
+
+
+ YES
+
+
+
+
+
+
+
+ 4727
+
+
+ YES
+
+
+
+
+
+ 4728
+
+
+
+
+ 4725
+
+
+ YES
+
+
+
+
+
+ 4726
+
+
+
+
+ 4729
+
+
+ YES
+
+
+
+
+
+ 4730
+
+
+
@@ -9821,7 +10107,9 @@ LCAuLi4
245.ImportedFromIB2
2457.IBPluginDependency
2457.ImportedFromIB2
+ 2460.IBEditorWindowLastContentRect
2460.IBPluginDependency
+ 2460.IBWindowTemplateEditedContentRect
2460.ImportedFromIB2
2461.IBPluginDependency
2461.ImportedFromIB2
@@ -10225,6 +10513,21 @@ LCAuLi4
4716.IBPluginDependency
4717.IBPluginDependency
4718.IBPluginDependency
+ 4722.IBEditorWindowLastContentRect
+ 4722.IBPluginDependency
+ 4725.CustomClassName
+ 4725.IBPluginDependency
+ 4725.IBViewBoundsToFrameTransform
+ 4726.IBPluginDependency
+ 4727.IBPluginDependency
+ 4727.IBViewBoundsToFrameTransform
+ 4728.IBPluginDependency
+ 4729.IBPluginDependency
+ 4729.IBViewBoundsToFrameTransform
+ 4730.IBPluginDependency
+ 4731.CustomClassName
+ 4731.IBPluginDependency
+ 4732.IBPluginDependency
5.IBPluginDependency
5.ImportedFromIB2
56.IBPluginDependency
@@ -10468,7 +10771,7 @@ LCAuLi4
- {400, 200}
+ {400, 288}
com.apple.InterfaceBuilder.CocoaPlugin
{{816, 490}, {64, 6}}
@@ -10548,7 +10851,9 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
+ {{330, 619}, {249, 103}}
com.apple.InterfaceBuilder.CocoaPlugin
+ {{330, 619}, {249, 103}}
com.apple.InterfaceBuilder.CocoaPlugin
@@ -10856,7 +11161,7 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
- P4AAAL+AAAC/gAAAw3wAAA
+ P4AAAL+AAABCsAAAw3cAAA
com.apple.InterfaceBuilder.CocoaPlugin
@@ -11012,6 +11317,27 @@ LCAuLi4
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+ {{330, 491}, {482, 254}}
+ com.apple.InterfaceBuilder.CocoaPlugin
+ VLBrushedMetalImageView
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUNLAABCzAAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABDCwAAwtwAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABDJsYAwpIAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+ VLBrushedMetalImageView
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -11078,7 +11404,7 @@ LCAuLi4
- 4721
+ 4740
@@ -13832,6 +14158,356 @@ LCAuLi4
+
+ VLCMainWindow
+ NSWindow
+
+ YES
+
+ YES
+ bwd:
+ dropzoneButtonAction:
+ effects:
+ fullscreen:
+ fwd:
+ play:
+ repeat:
+ shuffle:
+ stop:
+ timeSliderAction:
+ togglePlaylist:
+ volumeAction:
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+
+
+
+ YES
+
+ YES
+ bwd:
+ dropzoneButtonAction:
+ effects:
+ fullscreen:
+ fwd:
+ play:
+ repeat:
+ shuffle:
+ stop:
+ timeSliderAction:
+ togglePlaylist:
+ volumeAction:
+
+
+ YES
+
+ bwd:
+ id
+
+
+ dropzoneButtonAction:
+ id
+
+
+ effects:
+ id
+
+
+ fullscreen:
+ id
+
+
+ fwd:
+ id
+
+
+ play:
+ id
+
+
+ repeat:
+ id
+
+
+ shuffle:
+ id
+
+
+ stop:
+ id
+
+
+ timeSliderAction:
+ id
+
+
+ togglePlaylist:
+ id
+
+
+ volumeAction:
+ id
+
+
+
+
+ YES
+
+ YES
+ o_bottombar_view
+ o_bwd_btn
+ o_chosen_category_lbl
+ o_dropzone_btn
+ o_dropzone_lbl
+ o_dropzone_view
+ o_effects_btn
+ o_fullscreen_btn
+ o_fwd_btn
+ o_play_btn
+ o_playlist_btn
+ o_playlist_table
+ o_progress_bar
+ o_repeat_btn
+ o_right_split_view
+ o_search_fld
+ o_shuffle_btn
+ o_sidebar_view
+ o_split_view
+ o_stop_btn
+ o_time_fld
+ o_time_sld
+ o_time_sld_fancygradient_view
+ o_time_sld_left_view
+ o_time_sld_middle_view
+ o_time_sld_right_view
+ o_video_view
+ o_volume_down_btn
+ o_volume_sld
+ o_volume_track_view
+ o_volume_up_btn
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+
+
+
+ YES
+
+ YES
+ o_bottombar_view
+ o_bwd_btn
+ o_chosen_category_lbl
+ o_dropzone_btn
+ o_dropzone_lbl
+ o_dropzone_view
+ o_effects_btn
+ o_fullscreen_btn
+ o_fwd_btn
+ o_play_btn
+ o_playlist_btn
+ o_playlist_table
+ o_progress_bar
+ o_repeat_btn
+ o_right_split_view
+ o_search_fld
+ o_shuffle_btn
+ o_sidebar_view
+ o_split_view
+ o_stop_btn
+ o_time_fld
+ o_time_sld
+ o_time_sld_fancygradient_view
+ o_time_sld_left_view
+ o_time_sld_middle_view
+ o_time_sld_right_view
+ o_video_view
+ o_volume_down_btn
+ o_volume_sld
+ o_volume_track_view
+ o_volume_up_btn
+
+
+ YES
+
+ o_bottombar_view
+ id
+
+
+ o_bwd_btn
+ id
+
+
+ o_chosen_category_lbl
+ id
+
+
+ o_dropzone_btn
+ id
+
+
+ o_dropzone_lbl
+ id
+
+
+ o_dropzone_view
+ id
+
+
+ o_effects_btn
+ id
+
+
+ o_fullscreen_btn
+ id
+
+
+ o_fwd_btn
+ id
+
+
+ o_play_btn
+ id
+
+
+ o_playlist_btn
+ id
+
+
+ o_playlist_table
+ id
+
+
+ o_progress_bar
+ id
+
+
+ o_repeat_btn
+ id
+
+
+ o_right_split_view
+ id
+
+
+ o_search_fld
+ id
+
+
+ o_shuffle_btn
+ id
+
+
+ o_sidebar_view
+ id
+
+
+ o_split_view
+ id
+
+
+ o_stop_btn
+ id
+
+
+ o_time_fld
+ id
+
+
+ o_time_sld
+ id
+
+
+ o_time_sld_fancygradient_view
+ id
+
+
+ o_time_sld_left_view
+ id
+
+
+ o_time_sld_middle_view
+ id
+
+
+ o_time_sld_right_view
+ id
+
+
+ o_video_view
+ id
+
+
+ o_volume_down_btn
+ id
+
+
+ o_volume_sld
+ id
+
+
+ o_volume_track_view
+ id
+
+
+ o_volume_up_btn
+ id
+
+
+
+
+ IBDocumentRelativeSource
+ ../../../../../modules/gui/macosx/MainWindow.h
+
+
+
+ VLCProgressBarGradientEffect
+ NSView
+
+
YES
@@ -14775,6 +15451,8 @@ LCAuLi4
back
back-pressed
bottom-background
+ dropzone
+ dropzone-background
effects-double-buttons
effects-double-buttons-pressed
forward
@@ -14818,6 +15496,8 @@ LCAuLi4
{35, 23}
{35, 23}
{6, 36}
+ {128, 128}
+ {128, 128}
{29, 23}
{29, 23}
{35, 23}
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 54e3ad10e1..3809ab127d 100644
Binary files a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib and b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib differ
diff --git a/extras/package/macosx/Resources/mainwindow/dropzone-background.png b/extras/package/macosx/Resources/mainwindow/dropzone-background.png
new file mode 100644
index 0000000000..1ea0157b30
Binary files /dev/null and b/extras/package/macosx/Resources/mainwindow/dropzone-background.png differ
diff --git a/extras/package/macosx/Resources/mainwindow/dropzone.png b/extras/package/macosx/Resources/mainwindow/dropzone.png
new file mode 100644
index 0000000000..d8f90e610a
Binary files /dev/null and b/extras/package/macosx/Resources/mainwindow/dropzone.png differ
diff --git a/extras/package/macosx/vlc.xcodeproj/project.pbxproj b/extras/package/macosx/vlc.xcodeproj/project.pbxproj
index 4457cf0d06..10cc778e2e 100644
--- a/extras/package/macosx/vlc.xcodeproj/project.pbxproj
+++ b/extras/package/macosx/vlc.xcodeproj/project.pbxproj
@@ -188,6 +188,7 @@
CC402F440E00ABBB006A4BA4 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC962E2C0CC7992800A56695 /* WebKit.framework */; };
CC426FD11020D44F00A32659 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC426FD01020D44F00A32659 /* Sparkle.framework */; };
CC426FD71020D47100A32659 /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = CC426FD01020D44F00A32659 /* Sparkle.framework */; };
+ CC4EFC2D13E96BD00091D19A /* dropzone.png in Resources */ = {isa = PBXBuildFile; fileRef = CC4EFC2C13E96BD00091D19A /* dropzone.png */; };
CC5560281365CE4800D54038 /* AudioEffects.nib in Resources */ = {isa = PBXBuildFile; fileRef = CC5560261365CE4800D54038 /* AudioEffects.nib */; };
CC707EC8137474A50003010A /* SyncTracks.nib in Resources */ = {isa = PBXBuildFile; fileRef = CC707EC6137474A50003010A /* SyncTracks.nib */; };
CC78DA4413DE056700E9603C /* topbar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = CC78DA4313DE056700E9603C /* topbar_background.png */; };
@@ -198,6 +199,7 @@
CC9B43B113B29FCF000205AE /* bottom-background_dark.png in Resources */ = {isa = PBXBuildFile; fileRef = CC9B43B013B29FCF000205AE /* bottom-background_dark.png */; };
CCBE999F0F922C51000705F8 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CCBE999E0F922C51000705F8 /* CoreServices.framework */; };
CCC0C2AA13A285F700AC92B3 /* VideoEffects.nib in Resources */ = {isa = PBXBuildFile; fileRef = CCC0C2A813A285F700AC92B3 /* VideoEffects.nib */; };
+ CCDB535D13E97D3500A1782F /* dropzone-background.png in Resources */ = {isa = PBXBuildFile; fileRef = CCDB535C13E97D3500A1782F /* dropzone-background.png */; };
CCE6439413E8CC170061B5F2 /* document-music-playlist.png in Resources */ = {isa = PBXBuildFile; fileRef = CCE6438E13E8CC170061B5F2 /* document-music-playlist.png */; };
CCE6439513E8CC170061B5F2 /* film-cast.png in Resources */ = {isa = PBXBuildFile; fileRef = CCE6438F13E8CC170061B5F2 /* film-cast.png */; };
CCE6439613E8CC170061B5F2 /* film.png in Resources */ = {isa = PBXBuildFile; fileRef = CCE6439013E8CC170061B5F2 /* film.png */; };
@@ -438,6 +440,7 @@
CC4ED9AD0ABE07C800CA4CC5 /* add_embedded.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = add_embedded.png; path = Resources/add_embedded.png; sourceTree = ""; };
CC4ED9AF0ABE07C800CA4CC5 /* repeat_embedded.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = repeat_embedded.png; path = Resources/repeat_embedded.png; sourceTree = ""; };
CC4ED9B20ABE07C800CA4CC5 /* shuffle_embedded.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = shuffle_embedded.png; path = Resources/shuffle_embedded.png; sourceTree = ""; };
+ CC4EFC2C13E96BD00091D19A /* dropzone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dropzone.png; path = Resources/mainwindow/dropzone.png; sourceTree = ""; };
CC5560231365CDC700D54038 /* AudioEffects.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioEffects.h; path = ../../../modules/gui/macosx/AudioEffects.h; sourceTree = ""; };
CC5560241365CDC800D54038 /* AudioEffects.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AudioEffects.m; path = ../../../modules/gui/macosx/AudioEffects.m; sourceTree = ""; };
CC5560271365CE4800D54038 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = Resources/English.lproj/AudioEffects.nib; sourceTree = ""; };
@@ -486,6 +489,7 @@
CCD590F110E5B73200D39094 /* dialogProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = dialogProvider.m; path = ../../../modules/gui/macosx_dialog_provider/dialogProvider.m; sourceTree = SOURCE_ROOT; };
CCD590F210E5B76300D39094 /* VLCLoginPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCLoginPanel.h; path = ../../../modules/gui/macosx_dialog_provider/VLCLoginPanel.h; sourceTree = SOURCE_ROOT; };
CCD590F310E5B76300D39094 /* VLCLoginPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCLoginPanel.m; path = ../../../modules/gui/macosx_dialog_provider/VLCLoginPanel.m; sourceTree = SOURCE_ROOT; };
+ CCDB535C13E97D3500A1782F /* dropzone-background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "dropzone-background.png"; path = "Resources/mainwindow/dropzone-background.png"; sourceTree = ""; };
CCDBA3B313D32E200006127B /* macosx.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = macosx.m; path = ../../../modules/video_output/macosx.m; sourceTree = ""; };
CCE6438E13E8CC170061B5F2 /* document-music-playlist.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "document-music-playlist.png"; path = "Resources/sidebar-icons/document-music-playlist.png"; sourceTree = ""; };
CCE6438F13E8CC170061B5F2 /* film-cast.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "film-cast.png"; path = "Resources/sidebar-icons/film-cast.png"; sourceTree = ""; };
@@ -697,6 +701,8 @@
CC0430EE13B2461A00D7D52E /* 10th anniversary ui */ = {
isa = PBXGroup;
children = (
+ CC4EFC2C13E96BD00091D19A /* dropzone.png */,
+ CCDB535C13E97D3500A1782F /* dropzone-background.png */,
CC78DA4313DE056700E9603C /* topbar_background.png */,
CCE6438C13E8CC040061B5F2 /* sidebar */,
CC0432C213B2479E00D7D52E /* bright variant */,
@@ -1234,6 +1240,8 @@
CCE6439713E8CC170061B5F2 /* music-beam.png in Resources */,
CCE6439813E8CC170061B5F2 /* network-cloud.png in Resources */,
CCE6439913E8CC170061B5F2 /* picture.png in Resources */,
+ CC4EFC2D13E96BD00091D19A /* dropzone.png in Resources */,
+ CCDB535D13E97D3500A1782F /* dropzone-background.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/modules/gui/macosx/MainWindow.h b/modules/gui/macosx/MainWindow.h
index ca4bed6406..57973eebbb 100644
--- a/modules/gui/macosx/MainWindow.h
+++ b/modules/gui/macosx/MainWindow.h
@@ -56,9 +56,14 @@
IBOutlet id o_playlist_table;
IBOutlet id o_video_view;
IBOutlet id o_split_view;
+ IBOutlet id o_right_split_view;
IBOutlet id o_sidebar_view;
IBOutlet id o_chosen_category_lbl;
+ IBOutlet id o_dropzone_view;
+ IBOutlet id o_dropzone_btn;
+ IBOutlet id o_dropzone_lbl;
+
BOOL b_dark_interface;
BOOL b_video_playback_enabled;
int i_lastShownVolume;
@@ -99,9 +104,12 @@
- (IBAction)volumeAction:(id)sender;
- (IBAction)effects:(id)sender;
- (IBAction)fullscreen:(id)sender;
+- (IBAction)dropzoneButtonAction:(id)sender;
- (id)videoView;
- (void)setVideoplayEnabled;
+- (void)showDropZone;
+- (void)hideDropZone;
- (void)updateTimeSlider;
- (void)updateVolumeSlider;
- (void)updateWindow;
diff --git a/modules/gui/macosx/MainWindow.m b/modules/gui/macosx/MainWindow.m
index c001a5ad4e..905bc5f304 100644
--- a/modules/gui/macosx/MainWindow.m
+++ b/modules/gui/macosx/MainWindow.m
@@ -29,6 +29,7 @@
#import "CoreInteraction.h"
#import "AudioEffects.h"
#import "MainMenu.h"
+#import "open.h"
#import "controls.h" // TODO: remove me
#import "SideBarItem.h"
#import
@@ -118,6 +119,8 @@ static VLCMainWindow *_o_sharedInstance = nil;
[o_volume_down_btn setToolTip: _NS("Mute")];
[o_volume_up_btn setToolTip: _NS("Full Volume")];
[o_time_sld setToolTip: _NS("Position")];
+ [o_dropzone_btn setTitle: _NS("Open media...")];
+ [o_dropzone_lbl setStringValue: _NS("Drop media here")];
if (!b_dark_interface) {
[o_bottombar_view setImage: [NSImage imageNamed:@"bottom-background"]];
@@ -206,7 +209,7 @@ static VLCMainWindow *_o_sharedInstance = nil;
[self setDelegate: self];
[self setExcludedFromWindowsMenu: YES];
// Set that here as IB seems to be buggy
- [self setContentMinSize:NSMakeSize(500., 200.)];
+ [self setContentMinSize:NSMakeSize(400., 288.)];
[self setTitle: _NS("VLC media player")];
[o_playlist_btn setEnabled:NO];
@@ -308,6 +311,13 @@ static VLCMainWindow *_o_sharedInstance = nil;
[o_sidebaritems addObject: internetItem];
[o_sidebar_view reloadData];
+ [o_sidebar_view selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:YES];
+
+ playlist_t *p_playlist = pl_Get( VLCIntf );
+ PL_LOCK;
+ if( playlist_CurrentSize( p_playlist ) < 1 )
+ [self showDropZone];
+ PL_UNLOCK;
}
#pragma mark -
@@ -549,8 +559,26 @@ static VLCMainWindow *_o_sharedInstance = nil;
[[VLCCoreInteraction sharedInstance] toggleFullscreen];
}
+- (IBAction)dropzoneButtonAction:(id)sender
+{
+ [[[VLCMain sharedInstance] open] openFileGeneric];
+}
+
#pragma mark -
#pragma mark Update interface and respond to foreign events
+- (void)showDropZone
+{
+ [o_playlist_table setHidden:YES];
+ [o_dropzone_view setFrame: [o_playlist_table frame]];
+ [o_right_split_view addSubview: o_dropzone_view];
+}
+
+- (void)hideDropZone
+{
+ [o_playlist_table setHidden: NO];
+ [o_dropzone_view removeFromSuperview];
+}
+
- (void)updateTimeSlider
{
input_thread_t * p_input;
@@ -727,10 +755,16 @@ static VLCMainWindow *_o_sharedInstance = nil;
[o_bwd_btn setEnabled: (b_seekable || b_plmul || b_chapters)];
[[VLCMainMenu sharedInstance] setRateControlsEnabled: b_control];
-
[o_time_sld setEnabled: b_seekable];
[self updateTimeSlider];
[[[[VLCMain sharedInstance] controls] fspanel] setSeekable: b_seekable];
+
+ PL_LOCK;
+ if (playlist_CurrentSize( p_playlist ) >= 1)
+ [self hideDropZone];
+ else
+ [self showDropZone];
+ PL_UNLOCK;
}
- (void)setPause
diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
index 03b7cac05d..7333a5d516 100644
--- a/modules/gui/macosx/intf.m
+++ b/modules/gui/macosx/intf.m
@@ -1277,6 +1277,7 @@ unsigned int CocoaKeyToVLC( unichar i_key )
{
[self playbackStatusUpdated];
[o_playlist playlistUpdated];
+ [o_mainwindow updateWindow];
}
- (void)updateInfoandMetaPanel