#include <QMenu>
#include <QSignalMapper>
#include <QSlider>
+#include <QStackedWidget>
/**********************************************************************
* Playlist Widget. The embedded playlist
/* Create a Container for the Art Label
in order to have a beautiful resizing for the selector above it */
- QWidget *artContainer = new QWidget;
- QHBoxLayout *artContLay = new QHBoxLayout( artContainer );
- artContLay->setMargin( 0 );
- artContLay->setSpacing( 0 );
+ artContainer = new QStackedWidget;
artContainer->setMaximumHeight( 128 );
/* Art label */
CoverArtLabel *art = new CoverArtLabel( artContainer, p_intf );
art->setToolTip( qtr( "Double click to get media information" ) );
- artContLay->addWidget( art, 1 );
+ artContainer->addWidget( art );
CONNECT( THEMIM->getIM(), artChanged( QString ),
art, showArtUpdate( const QString& ) );
setMinimumWidth( 400 );
- PLModel *model = new PLModel( p_playlist, p_intf, p_root, this );
+ PLModel *model = PLModel::getPLModel( p_intf );
#ifdef MEDIA_LIBRARY
MLModel *mlmodel = new MLModel( p_intf, this );
mainView = new StandardPLPanel( this, p_intf, p_root, selector, model, mlmodel );
CONNECT( locationBar, invoked( const QModelIndex & ),
mainView, browseInto( const QModelIndex & ) );
+ QHBoxLayout *topbarLayout = new QHBoxLayout();
+ layout->addLayout( topbarLayout, 0, 1 );
+ topbarLayout->setSpacing( 10 );
+
/* Button to switch views */
QToolButton *viewButton = new QToolButton( this );
viewButton->setIcon( style()->standardIcon( QStyle::SP_FileDialogDetailedView ) );
viewButton->setToolTip( qtr("Change playlistview") );
- layout->addWidget( viewButton, 0, 2 );
+ topbarLayout->addWidget( viewButton );
/* View selection menu */
QSignalMapper *viewSelectionMapper = new QSignalMapper( this );
QActionGroup *actionGroup = new QActionGroup( this );
- for( int i = 0; i < StandardPLPanel::VIEW_COUNT; i++ )
+#ifndef NDEBUG
+# define MAX_VIEW StandardPLPanel::VIEW_COUNT
+#else
+# define MAX_VIEW StandardPLPanel::VIEW_COUNT - 1
+#endif
+ for( int i = 0; i < MAX_VIEW; i++ )
{
viewActions[i] = actionGroup->addAction( viewNames[i] );
viewActions[i]->setCheckable( true );
searchEdit = new SearchLineEdit( this );
searchEdit->setMaximumWidth( 250 );
searchEdit->setMinimumWidth( 80 );
- layout->addWidget( searchEdit, 0, 3 );
+ searchEdit->setToolTip( qtr("Search the playlist") );
+ topbarLayout->addWidget( searchEdit );
CONNECT( searchEdit, textChanged( const QString& ),
mainView, search( const QString& ) );
CONNECT( searchEdit, searchDelayedChanged( const QString& ),
CONNECT( mainView, viewChanged( const QModelIndex& ),
this, changeView( const QModelIndex &) );
- layout->setColumnStretch( 3, 3 );
/* Connect the activation of the selector to a redefining of the PL */
DCONNECT( selector, categoryActivated( playlist_item_t *, bool ),
- mainView, setRoot( playlist_item_t *, bool ) );
- mainView->setRoot( p_root, false );
+ mainView, setRootItem( playlist_item_t *, bool ) );
+ mainView->setRootItem( p_root, false );
/* */
split = new PlaylistSplitter( this );
layout->addWidget( split, 1, 0, 1, -1 );
- /* Zoom */
- QSlider *zoomSlider = new QSlider( Qt::Horizontal, this );
- zoomSlider->setRange( -10, 10);
- zoomSlider->setPageStep( 3 );
- zoomSlider->setValue( model->getZoom() );
- CONNECT( zoomSlider, valueChanged( int ), model, changeZoom( int ) );
-
- layout->addWidget( zoomSlider, 1, 3, ( Qt::AlignBottom | Qt::AlignRight ) );
-
setAcceptDrops( true );
setWindowTitle( qtr( "Playlist" ) );
setWindowRole( "vlc-playlist" );