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

* update the info panel when switching the currently played p_item

parent 9cf3ff6b
......@@ -47,6 +47,7 @@
#include "intf.h"
#import "wizard.h"
#import "bookmarks.h"
#import "playlistinfo.h"
#include "playlist.h"
#include "controls.h"
#include "vlc_osd.h"
......@@ -617,6 +618,9 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/
[o_outline_view scrollRowToVisible: i_row];
vlc_object_release(p_playlist);
/* update our info-panel to reflect the new item */
[[[VLCMain sharedInstance] getInfo] updatePanel];
}
/* Check if p_item is a child of p_node recursively. We need to check the item
......
......@@ -103,6 +103,7 @@
- (IBAction)togglePlaylistInfoPanel:(id)sender;
- (IBAction)toggleInfoPanel:(id)sender;
- (void)initPanel:(id)sender;
- (void)updatePanel;
- (IBAction)infoCancel:(id)sender;
- (IBAction)infoOk:(id)sender;
- (playlist_item_t *)getItem;
......
......@@ -101,7 +101,7 @@
- (void)dealloc
{
/* make that it is released in any case */
/* make sure that it is released in any case */
if ( o_statUpdateTimer )
[o_statUpdateTimer release];
[super dealloc];
......@@ -149,6 +149,11 @@
[o_statUpdateTimer fire];
[o_statUpdateTimer retain];
}
else
{
if( [o_tab_view numberOfTabViewItems] > 2 )
[o_tab_view removeTabViewItem: [o_tab_view tabViewItemAtIndex: 2]];
}
[self initPanel:sender];
}
......@@ -156,6 +161,23 @@
- (void)initPanel:(id)sender
{
[self updatePanel];
[o_info_window makeKeyAndOrderFront: sender];
}
- (void)updatePanel
{
/* make sure that we got the current item and not an outdated one */
intf_thread_t * p_intf = VLCIntf;
playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE );
if( p_playlist )
{
p_item = p_playlist->status.p_item;
vlc_object_release( p_playlist );
}
/* check whether our item is valid, because we would crash if not */
if(! [self isItemInPlaylist: p_item] ) return;
......@@ -204,17 +226,7 @@
[[VLCInfoTreeItem rootItem] refresh];
[o_outline_view reloadData];
BOOL b_stats = config_GetInt(VLCIntf, "stats");
if(! b_stats )
{
if( [o_tab_view numberOfTabViewItems] > 2 )
[o_tab_view removeTabViewItem: [o_tab_view tabViewItemAtIndex: 2]];
}
else
{
[self updateStatistics: nil];
}
[o_info_window makeKeyAndOrderFront: sender];
/* updating the stats isn't our job, but is done by the timer if needed */
}
- (void)setMeta: (char *)meta forLabel: (id)theItem
......
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