* selector.cpp : Playlist source selector
****************************************************************************
* Copyright (C) 2000-2005 the VideoLAN team
- * $Id: standardpanel.cpp 16024 2006-07-13 13:51:05Z xtophe $
+ * $Id$
*
* Authors: Clément Stenac <zorglub@videolan.org>
*
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include "components/playlist/selector.hpp"
#include "qt4.hpp"
+
#include <QVBoxLayout>
#include <QHeaderView>
#include <QTreeView>
PLSelector::PLSelector( QWidget *p, intf_thread_t *_p_intf,
playlist_t *p_playlist ) : QWidget( p ), p_intf(_p_intf)
{
- model = new PLModel( THEPL, THEPL->p_root_category, 1, this );
+ model = new PLModel( THEPL, p_intf, THEPL->p_root_category, 1, this );
view = new QTreeView( 0 );
+ view->setIconSize( QSize( 24,24 ) );
+ view->setAlternatingRowColors( true );
view->setIndentation( 0 );
view->header()->hide();
view->setModel( model );
- connect( view, SIGNAL( activated( const QModelIndex& ) ),
- this, SLOT( setSource( const QModelIndex& ) ) );
- connect( view, SIGNAL( clicked( const QModelIndex& ) ),
- this, SLOT( setSource( const QModelIndex& ) ) );
+ view->setAcceptDrops(true);
+ view->setDropIndicatorShown(true);
+
+ CONNECT( view, activated( const QModelIndex& ),
+ this, setSource( const QModelIndex& ) );
+ CONNECT( view, clicked( const QModelIndex& ),
+ this, setSource( const QModelIndex& ) );
QVBoxLayout *layout = new QVBoxLayout();
layout->setSpacing( 0 ); layout->setMargin( 0 );
layout->addWidget( view );
setLayout( layout );
+
+ /* select the first item */
+ view->setCurrentIndex( model->index( 0, 0, QModelIndex() ) );
}
void PLSelector::setSource( const QModelIndex &index )