* - "playlist-item-deleted": It will contain the playlist_item_t->i_id of a
* deleted playlist_item_t.
*
- * - "leaf-to-parent": Set when an item gets subitems and is transformed to a
- * node. It will contain a pointer to the input_item_t bound to the transformed
- * playlist item.
+ * - "leaf-to-parent": It will contain the playlist_item_t->i_id of an item that is transformed
+ * into a node.
*
* The playlist contains rate-variable which is propagated to current input if available
* also rate-slower/rate-faster is in use
int i_savedViewMode = getSettings()->value( "Playlist/view-mode", TREE_VIEW ).toInt();
showView( i_savedViewMode );
- DCONNECT( THEMIM, leafBecameParent( input_item_t *),
- this, browseInto( input_item_t * ) );
+ DCONNECT( THEMIM, leafBecameParent( int ),
+ this, browseInto( int ) );
CONNECT( model, currentChanged( const QModelIndex& ),
this, handleExpansion( const QModelIndex& ) );
}
}
-void StandardPLPanel::browseInto( input_item_t *p_input )
+void StandardPLPanel::browseInto( int i_id )
{
- if( p_input->i_id != lastActivatedId ) return;
+ if( i_id != lastActivatedId ) return;
- playlist_Lock( THEPL );
-
- playlist_item_t *p_item = playlist_ItemGetByInput( THEPL, p_input );
- if( !p_item )
- {
- playlist_Unlock( THEPL );
- return;
- }
-
- QModelIndex index = model->index( p_item->i_id, 0 );
+ QModelIndex index = model->index( i_id, 0 );
playlist_Unlock( THEPL );
if( currentView == treeView )
void activate( const QModelIndex & );
void browseInto();
- void browseInto( input_item_t * );
+ void browseInto( int );
void gotoPlayingItem();
notifyRepeatLoop();
return;
case LeafToParent_Type:
- imEv = static_cast<IMEvent*>( event );
- emit leafBecameParent( imEv->p_item );
+ plEv = static_cast<PLEvent*>( event );
+ emit leafBecameParent( plEv->i_item );
return;
default:
if( type != ItemChanged_Type ) return;
VLC_UNUSED( p_this ); VLC_UNUSED( psz_var ); VLC_UNUSED( oldval );
MainInputManager *mim = (MainInputManager*)param;
- IMEvent *event = new IMEvent( LeafToParent_Type,
- static_cast<input_item_t*>( newval.p_address ) );
+ PLEvent *event = new PLEvent( LeafToParent_Type, newval.i_int );
+
QApplication::postEvent( mim, event );
return VLC_SUCCESS;
}
class PLEvent : public QEvent
{
public:
- PLEvent( PLEventTypes t, int i, int p )
- : QEvent( (QEvent::Type)t ), i_item(i), i_parent(p) {}
+ PLEvent( int t, int i, int p = 0 )
+ : QEvent( (QEvent::Type)(t) ), i_item(i), i_parent(p) {}
+
+ /* Needed for "playlist-item*" and "leaf-to-parent" callbacks
+ * !! Can be a input_item_t->i_id or a playlist_item_t->i_id */
int i_item;
+ // Needed for "playlist-item-append" callback, notably
int i_parent;
};
void playlistItemRemoved( int itemId );
void randomChanged( bool );
void repeatLoopChanged( int );
- void leafBecameParent( input_item_t * );
+ void leafBecameParent( int );
};
#endif
pos,
b_flat );
- if( !b_flat ) var_SetAddress( p_playlist, "leaf-to-parent", p_input );
+ if( !b_flat ) var_SetAddress( p_playlist, "leaf-to-parent", p_item->i_id );
//control playback only if it was the current playing item that got subitems
if( b_current )