Still errors present, but too latE.
event->acceptProposedAction();
}
+void PlaylistWidget::closeEvent( QCloseEvent *event )
+{
+ if( THEDP->isDying() )
+ {
+ close();
+ }
+ else
+ {
+ if( p_intf->p_sys->p_mi )
+ p_intf->p_sys->p_mi->togglePlaylist();
+ }
+}
QWidget *parent;
protected:
intf_thread_t *p_intf;
- void dropEvent( QDropEvent *);
- void dragEnterEvent( QDragEnterEvent * );
+ virtual void dropEvent( QDropEvent *);
+ virtual void dragEnterEvent( QDragEnterEvent * );
+ virtual void closeEvent( QCloseEvent * );
private slots:
void setArt( QString );
DialogsProvider::DialogsProvider( intf_thread_t *_p_intf ) :
QObject( NULL ), p_intf( _p_intf )
{
+ b_isDying = false;
fixed_timer = new QTimer( this );
fixed_timer->start( 150 /* milliseconds */ );
void DialogsProvider::quit()
{
+ b_isDying = true;
vlc_object_kill( p_intf->p_libvlc );
QApplication::closeAllWindows();
QApplication::quit();
EXT_FILTER_VIDEO | EXT_FILTER_AUDIO |
EXT_FILTER_PLAYLIST,
QString path = QString() );
+ bool isDying() { return b_isDying; }
protected:
QSignalMapper *menusMapper;
QSignalMapper *menusUpdateMapper;
intf_thread_t *p_intf;
static DialogsProvider *instance;
void addFromSimple( bool, bool );
+ bool b_isDying;
public slots:
void doInteraction( intf_dialog_args_t * );
QVLCTools::restoreWidgetPosition( settings, this, QSize(380, 60) );
- /* Playlist */
- if( settings->value( "playlist-visible", 0 ).toInt() ) togglePlaylist();
+ bool b_visible = settings->value( "playlist-visible", 0 ).toInt();
settings->endGroup();
+ /* Playlist */
+ if( b_visible ) togglePlaylist();
+
/* Final sizing and showing */
setMinimumWidth( __MAX( controls->sizeHint().width(),
menuBar()->sizeHint().width() ) );
{
playlistWidget = new PlaylistWidget( p_intf, this );
- i_pl_dock = (pl_dock_e)getSettings()
- ->value( "pl-dock-status", PL_UNDOCKED ).toInt();
+ i_pl_dock = PL_UNDOCKED;
+/* i_pl_dock = (pl_dock_e)getSettings()
+ ->value( "pl-dock-status", PL_UNDOCKED ).toInt(); */
+
if( i_pl_dock == PL_UNDOCKED )
{
playlistWidget->setWindowFlags( Qt::Window );