Commit 4fdba87a authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: added Podcast UI skeleton

parent b1f85214
...@@ -87,6 +87,15 @@ ...@@ -87,6 +87,15 @@
IBOutlet id o_detached_titlebar_view; IBOutlet id o_detached_titlebar_view;
IBOutlet id o_detached_video_window; 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_dark_interface;
BOOL b_nativeFullscreenMode; BOOL b_nativeFullscreenMode;
BOOL b_video_playback_enabled; BOOL b_video_playback_enabled;
...@@ -124,6 +133,7 @@ ...@@ -124,6 +133,7 @@
NSMutableArray *o_sidebaritems; NSMutableArray *o_sidebaritems;
BOOL b_nonembedded; BOOL b_nonembedded;
BOOL b_podcastView_displayed;
VLCWindow * o_fullscreen_window; VLCWindow * o_fullscreen_window;
NSViewAnimation * o_fullscreen_anim1; NSViewAnimation * o_fullscreen_anim1;
...@@ -165,6 +175,9 @@ ...@@ -165,6 +175,9 @@
- (IBAction)fullscreen:(id)sender; - (IBAction)fullscreen:(id)sender;
- (IBAction)dropzoneButtonAction:(id)sender; - (IBAction)dropzoneButtonAction:(id)sender;
- (IBAction)addPodcast:(id)sender;
- (IBAction)addPodcastWindowAction:(id)sender;
- (void)setTitle:(NSString *)title; - (void)setTitle:(NSString *)title;
- (void)customZoom:(id)sender; - (void)customZoom:(id)sender;
- (void)windowResizedOrMoved:(NSNotification *)notification; - (void)windowResizedOrMoved:(NSNotification *)notification;
......
...@@ -254,6 +254,12 @@ static VLCMainWindow *_o_sharedInstance = nil; ...@@ -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_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_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) { if (!b_dark_interface) {
[o_bottombar_view setImagesLeft: [NSImage imageNamed:@"bottom-background"] middle: [NSImage imageNamed:@"bottom-background"] right: [NSImage imageNamed:@"bottom-background"]]; [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"]]; [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; ...@@ -499,8 +505,7 @@ static VLCMainWindow *_o_sharedInstance = nil;
{ {
[internetItems addObject: [SideBarItem itemWithTitle: _NS(*ppsz_longname) identifier: o_identifier]]; [internetItems addObject: [SideBarItem itemWithTitle: _NS(*ppsz_longname) identifier: o_identifier]];
if (!strncmp( *ppsz_name, "podcast", 7 )) 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 else
[[internetItems lastObject] setIcon: [NSImage imageNamed:@"NSApplicationIcon"]]; [[internetItems lastObject] setIcon: [NSImage imageNamed:@"NSApplicationIcon"]];
[[internetItems lastObject] setSdtype: SD_CAT_INTERNET]; [[internetItems lastObject] setSdtype: SD_CAT_INTERNET];
...@@ -2784,6 +2789,11 @@ static VLCMainWindow *_o_sharedInstance = nil; ...@@ -2784,6 +2789,11 @@ static VLCMainWindow *_o_sharedInstance = nil;
else else
[self showDropZone]; [self showDropZone];
PL_UNLOCK; 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 - (NSDragOperation)sourceList:(PXSourceList *)aSourceList validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)index
...@@ -2878,6 +2888,55 @@ static VLCMainWindow *_o_sharedInstance = nil; ...@@ -2878,6 +2888,55 @@ static VLCMainWindow *_o_sharedInstance = nil;
return 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 -
#pragma mark Accessibility stuff #pragma mark Accessibility stuff
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment