* UI and Widgets design
**************************/
setVLCWindowsTitle();
- createMainWidget( settings );
/************
* Menu Bar *
CONNECT( THEMIM->getIM(), voutListChanged( vout_thread_t **, int ),
this, destroyPopupMenu() );
+ createMainWidget( settings );
/*********************************
* Create the Systray Management *
*********************************/
/* Register callback for the intf-popupmenu variable */
var_AddCallback( p_intf->p_libvlc, "intf-popupmenu", PopupMenuCB, p_intf );
+ /* Playlist */
+ int i_plVis = settings->value( "MainWindow/playlist-visible", false ).toBool();
+
+ if( i_plVis ) togglePlaylist();
+
/**** FINAL SIZING and placement of interface */
settings->beginGroup( "MainWindow" );
QVLCTools::restoreWidgetPosition( settings, this, QSize(400, 100) );
-
- /* Playlist */
- int i_plVis = settings->value( "playlist-visible", false ).toBool();
settings->endGroup();
- if( i_plVis ) togglePlaylist();
-
/* Final sizing and showing */
setVisible( !b_hideAfterCreation );
void MainInterface::releaseVideo( void )
{
emit askReleaseVideo();
+ QApplication::postEvent( this, new SetVideoOnTopQtEvent( false ) );
}
/* Function that is CONNECTED to the previous emit */
}
else
{
+#ifdef WIN32
+ playlistWidget->setParent( NULL );
+#endif
playlistWidget->setWindowFlags( Qt::Window );
/* This will restore the geometry but will not work for position,
}
else
{
+#ifdef WIN32
+ playlistWidget->setParent( NULL );
+#endif
playlistWidget->setWindowFlags( Qt::Window );
playlistVisible = !playlistVisible;
playlistWidget->setVisible( playlistVisible );
if( !p_docked )
{
stackCentralW->removeWidget( playlistWidget );
+#ifdef WIN32
+ playlistWidget->setParent( NULL );
+#endif
playlistWidget->setWindowFlags( Qt::Window );
QVLCTools::restoreWidgetPosition( p_intf, "Playlist",
playlistWidget, QSize( 600, 300 ) );
if ( event->type() == (int)SetVideoOnTopEvent_Type )
{
SetVideoOnTopQtEvent* p_event = (SetVideoOnTopQtEvent*)event;
+ Qt::WindowFlags oldflags = windowFlags(), newflags;
+
if( p_event->OnTop() )
- setWindowFlags( windowFlags() | Qt::WindowStaysOnTopHint );
+ newflags = oldflags | Qt::WindowStaysOnTopHint;
else
- setWindowFlags( windowFlags() & ~Qt::WindowStaysOnTopHint );
- show(); /* necessary to apply window flags */
+ newflags = oldflags & ~Qt::WindowStaysOnTopHint;
+ if( newflags != oldflags )
+ {
+ setWindowFlags( newflags );
+ show(); /* necessary to apply window flags */
+ }
}
}