selector->setMaximumWidth( 130 );
left->addWidget( selector );
- QLabel *art = new QLabel( "" );
+ art = new QLabel( "" );
art->setMaximumHeight( 128 );
art->setMaximumWidth( 128 );
art->setScaledContents( true );
CONNECT( selector, activated( int ), rightPanel, setRoot( int ) );
+ CONNECT( qobject_cast<StandardPLPanel *>(rightPanel)->model, artSet( QString ) , this, setArt( QString ) );
+
connect( selector, SIGNAL(activated( int )),
this, SIGNAL( rootChanged( int ) ) );
emit rootChanged( p_root->i_id );
setLayout( layout );
}
+void PlaylistWidget::setArt( QString url )
+{
+ fprintf( stderr, "************** YEAH ! *************\n" );
+ art->setPixmap( QPixmap( url ) );
+}
+
PlaylistWidget::~PlaylistWidget()
{
}
PLSelector *selector;
PLPanel *rightPanel;
QPushButton *addButton;
+ QLabel *art;
+private slots:
+ void setArt( QString );
signals:
void rootChanged( int );
};
virtual void setRoot( int ) = 0;
};
+class PlaylistWidget;
class StandardPLPanel: public PLPanel
{
virtual ~StandardPLPanel();
protected:
virtual void keyPressEvent( QKeyEvent *e );
-private:
+protected:
PLModel *model;
+ friend class PlaylistWidget;
+private:
QTreeView *view;
QPushButton *repeatButton , *randomButton,*addButton;
ClickLineEdit *searchLine;
#include <playlist_model.hpp>
class QTreeView;
+class PlaylistWidget;
class PLSelector: public QWidget
{
public:
PLSelector( QWidget *p, intf_thread_t *_p_intf, playlist_t * );
virtual ~PLSelector();
+protected:
+ PLModel *model;
+ friend class PlaylistWidget;
private:
intf_thread_t *p_intf;
- PLModel *model;
QTreeView *view;
private slots:
void setSource( const QModelIndex& );
strings[2] = QString( psz_duration );
type = p_item->p_input->i_type;
current = iscurrent;
+ fprintf( stderr, "Updating current %i\n" );
+ fprintf( stderr, "Meta %p art %s\n", p_item->p_input->p_meta,p_item->p_input->p_meta ?p_item->p_input->p_meta->psz_arturl : "non" );
+ if( current && p_item->p_input->p_meta &&
+ p_item->p_input->p_meta->psz_arturl &&
+ !strncmp( p_item->p_input->p_meta->psz_arturl, "file://", 7 ) )
+ {
+ fprintf( stderr, "Have art %s\n", p_item->p_input->p_meta->psz_arturl );
+ model->sendArt( qfu( p_item->p_input->p_meta->psz_arturl ) );
+ }
}
/*************************************************************************
/************************* Actions ******************************/
+void PLModel::sendArt( QString url )
+{
+ QString arturl = url.replace( "file://",QString("" ) );
+ fprintf( stderr, "send %s\n", qta( arturl ) );
+ emit artSet( arturl );
+}
+
/**
* Deletion, here we have to do a ugly slow hack as we retrieve the full
* list of indexes to delete at once: when we delete a node and all of
void doDelete( QModelIndexList selected );
void search( QString search );
void sort( int column, Qt::SortOrder order );
+
+ void sendArt( QString url );
private:
void addCallbacks();
void delCallbacks();
PLItem *p_cached_item_bi;
int i_cached_id;
int i_cached_input_id;
+signals:
+ void artSet( QString );
public slots:
void activateItem( const QModelIndex &index );
void activateItem( playlist_item_t *p_item );