#include "intf.h"
#import "wizard.h"
#import "bookmarks.h"
+#import "playlistinfo.h"
#include "playlist.h"
#include "controls.h"
#include "vlc_osd.h"
[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
- (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;
- (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];
[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];
}
- (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;
[[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