#include "main_interface.hpp"
#include "input_manager.hpp"
-#include "pixmaps/art.xpm"
-#include <vlc/vout.h>
+#include <vlc_vout.h>
+#include <QLabel>
+#include <QSpacerItem>
#include <QCursor>
#include <QPushButton>
#include <QHBoxLayout>
QSize VideoWidget::sizeHint() const
{
- fprintf( stderr, "Video Size %ix%i\n", widgetSize.width(), widgetSize.height() );
return widgetSize;
}
return NULL;
}
p_vout = p_nvout;
- setMinimumSize( 1,1 );
+ setMinimumSize( 0, 0 );
return (void*)winId();
}
QSize BackgroundWidget::sizeHint() const
{
- fprintf( stderr, "BG %ix%i\n", widgetSize.width(), widgetSize.height() );
return widgetSize;
}
QPushButton *nextButton = new QPushButton( "Next");
layout->addWidget( prevButton );
layout->addWidget( nextButton );
+
+ layout->addItem( new QSpacerItem( 40,20,
+ QSizePolicy::Expanding, QSizePolicy::Minimum) );
+ layout->addWidget( new QLabel( qtr("Current visualization:") ) );
+
+ current = new QLabel( qtr( "None" ) );
+ layout->addWidget( current );
+
+ BUTTONACT( prevButton, prev() );
+ BUTTONACT( nextButton, next() );
+
setLayout( layout );
setMaximumHeight( 35 );
}
{
}
+void VisualSelector::prev()
+{
+ char *psz_new = aout_VisualPrev( p_intf );
+ if( psz_new )
+ {
+ current->setText( qfu( psz_new ) );
+ free( psz_new );
+ }
+}
+
+void VisualSelector::next()
+{
+ char *psz_new = aout_VisualNext( p_intf );
+ if( psz_new )
+ {
+ current->setText( qfu( psz_new ) );
+ free( psz_new );
+ }
+}
+
+/**********************************************************************
+ * More controls
+ **********************************************************************/
+ControlsWidget::ControlsWidget( intf_thread_t *_p_i ) :
+ QFrame( NULL ), p_intf( _p_i )
+{
+ QHBoxLayout *layout = new QHBoxLayout( this );
+ layout->setMargin( 0 );
+
+ slowerButton = new QPushButton( "S" );
+ BUTTON_SET_ACT( slowerButton, "S", qtr("Slower" ), slower() );
+ layout->addWidget( slowerButton );
+ slowerButton->setMaximumWidth( 35 );
+
+ normalButton = new QPushButton( "N" );
+ BUTTON_SET_ACT( normalButton, "N", qtr("Normal rate"), normal() );
+ layout->addWidget( normalButton );
+ normalButton->setMaximumWidth( 35 );
+
+ fasterButton = new QPushButton( "F" );
+ BUTTON_SET_ACT( fasterButton, "F", qtr("Faster" ), faster() );
+ layout->addWidget( fasterButton );
+ fasterButton->setMaximumWidth( 35 );
+
+ layout->addItem( new QSpacerItem( 100,20,
+ QSizePolicy::Expanding, QSizePolicy::Minimum) );
+
+ snapshotButton = new QPushButton( "S" );
+ BUTTON_SET_ACT( snapshotButton, "S", qtr("Take a snapshot"), snapshot() );
+ layout->addWidget( snapshotButton );
+ snapshotButton->setMaximumWidth( 35 );
+
+ fullscreenButton = new QPushButton( "F" );
+ BUTTON_SET_ACT( fullscreenButton, "F", qtr("Fullscreen"), fullscreen() );
+ layout->addWidget( fullscreenButton );
+ fullscreenButton->setMaximumWidth( 35 );
+}
+
+ControlsWidget::~ControlsWidget()
+{
+}
+
+void ControlsWidget::enableInput( bool enable )
+{
+ slowerButton->setEnabled( enable );
+ normalButton->setEnabled( enable );
+ fasterButton->setEnabled( enable );
+}
+void ControlsWidget::enableVideo( bool enable )
+{
+ snapshotButton->setEnabled( enable );
+ fullscreenButton->setEnabled( enable );
+}
+
+void ControlsWidget::slower()
+{
+ THEMIM->getIM()->slower();
+}
+
+void ControlsWidget::faster()
+{
+ THEMIM->getIM()->faster();
+}
+
+void ControlsWidget::normal()
+{
+ THEMIM->getIM()->normalRate();
+}
+
+void ControlsWidget::snapshot()
+{
+}
+
+void ControlsWidget::fullscreen()
+{
+}
+
/**********************************************************************
* Playlist Widget. The embedded playlist
**********************************************************************/
BasePlaylistWidget ( _p_intf)
{
QVBoxLayout *left = new QVBoxLayout( );
- QHBoxLayout *middle = new QHBoxLayout;
selector = new PLSelector( this, p_intf, THEPL );
selector->setMaximumWidth( 130 );
left->addWidget( selector );
-/* QPushButton *undockButton = new QPushButton( "UN", this );
- undockButton->setMaximumWidth( 25 );
- undockButton->setToolTip( qtr( "Undock playlist for main interface" ) );
- BUTTONACT( undockButton, undock() );
- middle->addWidget( undockButton );
-*/
- left->addLayout( middle );
-
- QLabel *art = new QLabel( "" );
+ art = new QLabel( "" );
+ art->setMinimumHeight( 128 );
+ art->setMinimumWidth( 128 );
art->setMaximumHeight( 128 );
art->setMaximumWidth( 128 );
art->setScaledContents( true );
- art->setPixmap( QPixmap( art_xpm ) ); //":/vlc128.png" ) );
+
+ art->setPixmap( QPixmap( ":/noart.png" ) );
left->addWidget( art );
playlist_item_t *p_root = playlist_GetPreferredNode( THEPL,
CONNECT( selector, activated( int ), rightPanel, setRoot( int ) );
+ CONNECT( qobject_cast<StandardPLPanel *>(rightPanel)->model,
+ artSet( QString ) , this, setArt( QString ) );
+ /* Forward removal requests from the selector to the main panel */
+ CONNECT( qobject_cast<PLSelector *>(selector)->model,
+ shouldRemove( int ),
+ qobject_cast<StandardPLPanel *>(rightPanel), removeItem(int) );
+
connect( selector, SIGNAL(activated( int )),
this, SIGNAL( rootChanged( int ) ) );
emit rootChanged( p_root->i_id );
setLayout( layout );
}
+void PlaylistWidget::setArt( QString url )
+{
+ if( url.isNull() )
+ art->setPixmap( QPixmap( ":/noart.png" ) );
+ else if( prevArt != url )
+ art->setPixmap( QPixmap( url ) );
+ prevArt = url;
+}
+
PlaylistWidget::~PlaylistWidget()
{
}