Commit b5d249d7 authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: changed the data appearance in the info panel to the following...

macosx: changed the data appearance in the info panel to the following behaviour: if playlist is collapsed, we show data about the currently playing item. if the playlist is shown, we show data about the current selection in the list, regardless of the current item.

Empty selections in the playlist are still not allowed, as this would lead to some trouble I don't want to solve for this old panel (to be fixed once the dudiak branch is merged)
parent 6145adae
...@@ -1271,6 +1271,11 @@ static unsigned int VLCModifiersToCocoa( unsigned int i_key ) ...@@ -1271,6 +1271,11 @@ static unsigned int VLCModifiersToCocoa( unsigned int i_key )
return nil; return nil;
} }
- (BOOL)isPlaylistCollapsed
{
return ![o_btn_playlist state];
}
- (id)getInfo - (id)getInfo
{ {
if( o_info ) if( o_info )
...@@ -1483,9 +1488,10 @@ static void * ManageThread( void *user_data ) ...@@ -1483,9 +1488,10 @@ static void * ManageThread( void *user_data )
b_buffering = YES; b_buffering = YES;
} }
/* update our info-panel to reflect the new item */ /* update our info-panel to reflect the new item, if we don't show
[[[VLCMain sharedInstance] getInfo] * the playlist or the selection is empty */
updatePanelWithItem: p_playlist->status.p_item->p_input]; if( [self isPlaylistCollapsed] == YES )
[[self getInfo] updatePanelWithItem: p_playlist->status.p_item->p_input];
/* seekable streams */ /* seekable streams */
b_seekable = var_GetBool( p_input, "seekable" ); b_seekable = var_GetBool( p_input, "seekable" );
...@@ -2469,13 +2475,11 @@ end: ...@@ -2469,13 +2475,11 @@ end:
- (void)updateTogglePlaylistState - (void)updateTogglePlaylistState
{ {
if( [o_window contentRectForFrameRect:[o_window frame]].size.height <= 169. ) if( [o_window contentRectForFrameRect:[o_window frame]].size.height <= 169. )
{
[o_btn_playlist setState: NO]; [o_btn_playlist setState: NO];
}
else else
{
[o_btn_playlist setState: YES]; [o_btn_playlist setState: YES];
}
[[self getPlaylist] outlineViewSelectionDidChange: NULL];
} }
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)proposedFrameSize - (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)proposedFrameSize
......
...@@ -495,6 +495,8 @@ ...@@ -495,6 +495,8 @@
} }
PL_UNLOCK; PL_UNLOCK;
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
[self outlineViewSelectionDidChange: nil];
} }
- (void)playModeUpdated - (void)playModeUpdated
...@@ -515,6 +517,18 @@ ...@@ -515,6 +517,18 @@
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
- (void)outlineViewSelectionDidChange:(NSNotification *)notification
{
// FIXME: unsafe
playlist_item_t * p_item = [[o_outline_view itemAtRow:[o_outline_view selectedRow]] pointerValue];
if( p_item && [[VLCMain sharedInstance] isPlaylistCollapsed] == NO )
{
/* update our info-panel to reflect the new item, if we aren't collapsed */
[[[VLCMain sharedInstance] getInfo] updatePanelWithItem:p_item->p_input];
}
}
- (BOOL)isSelectionEmpty - (BOOL)isSelectionEmpty
{ {
return [o_outline_view selectedRow] == -1; return [o_outline_view selectedRow] == -1;
...@@ -557,7 +571,6 @@ ...@@ -557,7 +571,6 @@
} }
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
/* Check if p_item is a child of p_node recursively. We need to check the item /* Check if p_item is a child of p_node recursively. We need to check the item
......
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