#include <assert.h>
+#include "sorting.h"
+
StandardPLPanel::StandardPLPanel( PlaylistWidget *_parent,
intf_thread_t *_p_intf,
playlist_t *p_playlist,
/* Create and configure the QTreeView */
view = new QVLCTreeView( 0 );
- view->setModel(model);
+ view->setSortingEnabled( true );
+ view->sortByColumn( 0 , Qt::AscendingOrder );
+ view->setModel( model );
view->setIconSize( QSize( 20, 20 ) );
view->setAlternatingRowColors( true );
view->setAnimated( true );
- view->setSortingEnabled( true );
view->setSelectionMode( QAbstractItemView::ExtendedSelection );
view->setDragEnabled( true );
view->setAcceptDrops( true );
QMenu selectColMenu;
-#define ADD_META_ACTION( meta ) { \
- QAction* option = selectColMenu.addAction( qfu(VLC_META_##meta) ); \
- option->setCheckable( true ); \
- option->setChecked( model->shownFlags() & VLC_META_ENGINE_##meta ); \
- ContextUpdateMapper->setMapping( option, VLC_META_ENGINE_##meta ); \
- CONNECT( option, triggered(), ContextUpdateMapper, map() ); \
+#define ADD_META_ACTION( meta ) { \
+ QAction* option = selectColMenu.addAction( qfu( psz_column_title( meta ) ) ); \
+ option->setCheckable( true ); \
+ option->setChecked( model->shownFlags() & meta ); \
+ ContextUpdateMapper->setMapping( option, meta ); \
+ CONNECT( option, triggered(), ContextUpdateMapper, map() ); \
}
CONNECT( ContextUpdateMapper, mapped( int ), model, viewchanged( int ) );
- ADD_META_ACTION( TITLE );
- ADD_META_ACTION( DURATION );
- ADD_META_ACTION( ARTIST );
- ADD_META_ACTION( GENRE );
- ADD_META_ACTION( COLLECTION );
- ADD_META_ACTION( SEQ_NUM );
- ADD_META_ACTION( DESCRIPTION );
- ADD_META_ACTION( RATING );
- ADD_META_ACTION( TRACKID );
+ ADD_META_ACTION( COLUMN_NUMBER );
+ ADD_META_ACTION( COLUMN_TITLE );
+ ADD_META_ACTION( COLUMN_DURATION );
+ ADD_META_ACTION( COLUMN_ARTIST );
+ ADD_META_ACTION( COLUMN_GENRE );
+ ADD_META_ACTION( COLUMN_ALBUM );
+ ADD_META_ACTION( COLUMN_TRACK_NUMBER );
+ ADD_META_ACTION( COLUMN_DESCRIPTION );
#undef ADD_META_ACTION
/* This activated by the selector selection */
void StandardPLPanel::setRoot( int i_root_id )
{
+ QPL_LOCK;
playlist_item_t *p_item = playlist_ItemGetById( THEPL, i_root_id,
- VLC_TRUE );
+ true );
assert( p_item );
p_item = playlist_GetPreferredNode( THEPL, p_item );
assert( p_item );
+ QPL_UNLOCK;
+
model->rebuild( p_item );
}