plt.setColor( QPalette::Active, QPalette::Window , Qt::black );
plt.setColor( QPalette::Inactive, QPalette::Window , Qt::black );
setPalette( plt );
+ setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred);
label = new QLabel;
- label->setMaximumHeight( ICON_SIZE );
- label->setMaximumWidth( ICON_SIZE );
+ label->setMaximumHeight( MAX_BG_SIZE );
+ label->setMaximumWidth( MAX_BG_SIZE );
label->setScaledContents( true );
label->setPixmap( QPixmap( ":/vlc128.png" ) );
backgroundLayout = new QHBoxLayout;
backgroundLayout->addWidget( label );
setLayout( backgroundLayout );
+ updateGeometry();
}
BackgroundWidget::~BackgroundWidget()
label->setPixmap( QPixmap( ":/vlc128.png" ) );
else
label->setPixmap( QPixmap( url ) );
+ updateGeometry();
}
QSize BackgroundWidget::sizeHint() const
{
- return widgetSize;
+ return label->maximumSize();
}
void BackgroundWidget::resizeEvent( QResizeEvent *e )
{
- if( e->size().height() < ICON_SIZE -1 )
+ if( e->size().height() < MAX_BG_SIZE -1 )
+ {
label->setMaximumWidth( e->size().height() );
+ label->setMaximumHeight( e->size().width() );
+ }
else
- label->setMaximumWidth( ICON_SIZE );
+ {
+ label->setMaximumHeight( MAX_BG_SIZE );
+ label->setMaximumWidth( MAX_BG_SIZE );
+ }
}
void BackgroundWidget::contextMenuEvent( QContextMenuEvent *event )
VisualSelector::~VisualSelector()
{
+
}
void VisualSelector::prev()
{
controlLayout = new QGridLayout( this );
controlLayout->setSpacing( 0 );
- setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum );
+ setSizePolicy( QSizePolicy::Preferred , QSizePolicy::Fixed );
/** The main Slider **/
slider = new InputSlider( Qt::Horizontal, NULL );
VOLUME_MAX / (AOUT_VOLUME_MAX/2) );
/* Volume control connection */
+ resize( QSize( 400, 60 ) );
CONNECT( volumeSlider, valueChanged( int ), this, updateVolume( int ) );
- msg_Dbg( p_intf, "size: %i - %i", size().height(), size().width() );
+ msg_Dbg( p_intf, "controls size: %i - %i", size().width(), size().height() );
}
ControlsWidget::~ControlsWidget()
{
}
+
+QSize ControlsWidget::sizeHint() const
+{
+ return QSize( 300, 50 );
+}
+
+
void ControlsWidget::stop()
{
THEMIM->stop();
/* Audio part */
audio_volume_t i_volume;
aout_VolumeGet( p_intf, &i_volume );
- i_volume = ( i_volume * VOLUME_MAX )/ (AOUT_VOLUME_MAX/2) ;
+ i_volume = ( i_volume * VOLUME_MAX )/ (AOUT_VOLUME_MAX/2);
int i_gauge = volumeSlider->value();
b_my_volume = false;
if( i_volume - i_gauge > 1 || i_gauge - i_volume > 1 )
QList<int> sizeList;
sizeList << 180 << 520 ;
setSizes( sizeList );
+ setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred );
+ resize(700,200);
+ updateGeometry();
}
void PlaylistWidget::setArt( QString url )
{
if( url.isNull() )
+ {
art->setPixmap( QPixmap( ":/noart.png" ) );
+ emit artSet( url );
+ }
else if( prevArt != url )
{
art->setPixmap( QPixmap( url ) );
}
}
+QSize PlaylistWidget::sizeHint() const
+{
+ return QSize( 700, 200 );
+}
+
PlaylistWidget::~PlaylistWidget()
{
}
vout_thread_t *p_vout;
QSize widgetSize;
- virtual QSize sizeHint() const;
+ QSize sizeHint() const;
private:
QWidget *frame;
intf_thread_t *p_intf;
BackgroundWidget( intf_thread_t * );
virtual ~BackgroundWidget();
QSize widgetSize;
- virtual QSize sizeHint() const;
+ QSize sizeHint() const;
private:
QPalette plt;
QLabel *label;
public:
/* p_intf, advanced control visible or not, blingbling or not */
ControlsWidget( intf_thread_t *, bool, bool );
+ QSize sizeHint() const;
virtual ~ControlsWidget();
QPushButton *playlistButton;
public:
PlaylistWidget( intf_thread_t *_p_i ) ;
virtual ~PlaylistWidget();
+ QSize sizeHint() const;
private:
PLSelector *selector;
PLPanel *rightPanel;
bgWidget = NULL; videoWidget = NULL; playlistWidget = NULL;
embeddedPlaylistWasActive = videoIsActive = false;
input_name = "";
+ playlistWidget = new PlaylistWidget( p_intf );
/* Ask for the network policy on first startup */
if( config_GetInt( p_intf, "privacy-ask") )
* UI and Widgets design
**************************/
setVLCWindowsTitle();
- handleMainUi( settings );
+ dockPL = new QDockWidget( qtr("Playlist"), this );
/* Create a Dock to get the playlist */
- dockPL = new QDockWidget( qtr("Playlist"), this );
+ handleMainUi( settings );
dockPL->setAllowedAreas( Qt::LeftDockWidgetArea
| Qt::RightDockWidgetArea
| Qt::BottomDockWidgetArea );
dockPL->setFeatures( QDockWidget::AllDockWidgetFeatures );
+ dockPL->setWidget( playlistWidget );
+ addDockWidget( Qt::BottomDockWidgetArea, dockPL );
/* Menu Bar */
QVLCMenu::createMenuBar( this, p_intf, visualSelectorEnabled );
// DEBUG FIXME
hide();
+ updateGeometry();
}
MainInterface::~MainInterface()
speedControlMenu->addAction( widgetAction );
/* Set initial size */
- resize( PREF_W, PREF_H );
- addSize = QSize( mainLayout->margin() * 2, PREF_H );
/* Visualisation */
visualSelector = new VisualSelector( p_intf );
bgWidget->updateGeometry();
mainLayout->insertWidget( 0, bgWidget );
CONNECT( this, askBgWidgetToToggle(), bgWidget, toggle() );
+ CONNECT( playlistWidget, artSet( QString ), bgWidget, setArt(QString) );
}
if( videoEmbeddedFlag )
}
/* Finish the sizing */
- setMinimumSize( PREF_W, addSize.height() );
+ setMinimumSize( PREF_W, PREF_H );
+ updateGeometry();
}
/**********************************************************************
* Handling of sizing of the components
**********************************************************************/
+#if 0
void MainInterface::calculateInterfaceSize()
{
int width = 0, height = 0;
playlistWidget->updateGeometry();
}
}
+#endif
/****************************************************************************
* Small right-click menu for rate control
videoWidget->widgetSize = QSize( *pi_width, *pi_height );
}
videoWidget->updateGeometry(); // Needed for deinterlace
- need_components_update = true;
+ updateGeometry();
}
return ret;
}
bgWidget->show();
videoIsActive = false;
- need_components_update = true;
+ updateGeometry();
}
int MainInterface::controlVideo( void *p_window, int i_query, va_list args )
unsigned int i_height = va_arg( args, unsigned int );
videoWidget->widgetSize = QSize( i_width, i_height );
videoWidget->updateGeometry();
- need_components_update = true;
+ updateGeometry();
i_ret = VLC_SUCCESS;
break;
}
{
/* toggle the display */
TOGGLEV( dockPL );
+ resize(sizeHint());
}
+#if 0
doComponentsUpdate();
+#endif
+ updateGeometry();
}
void MainInterface::undockPlaylist()
{
dockPL->setFloating( true );
+ updateGeometry();
+#if 0
doComponentsUpdate();
+#endif
}
#if 0
/* Video widget cannot do this synchronously as it runs in another thread */
/* Well, could it, actually ? Probably dangerous ... */
+#if 0
void MainInterface::doComponentsUpdate()
{
calculateInterfaceSize();
resize( mainSize );
}
+#endif
void MainInterface::toggleAdvanced()
{
QApplication::closeAllWindows();
QApplication::quit();
}
+#if 0
if( need_components_update )
{
doComponentsUpdate();
need_components_update = false;
}
+#endif
controls->updateOnTimer();
}
QMenu *getSysTrayMenu() { return systrayMenu; };
int getControlsVisibilityStatus();
protected:
- void resizeEvent( QResizeEvent * );
+// void resizeEvent( QResizeEvent * );
void dropEvent( QDropEvent *);
void dragEnterEvent( QDragEnterEvent * );
void dragMoveEvent( QDragMoveEvent * );
bool need_components_update;
- void calculateInterfaceSize();
void handleMainUi( QSettings* );
void handleSystray();
void doComponentsUpdate();