]> git.sesse.net Git - vlc/commitdiff
Qt: more settings fixes (undocked playlist size)
authorJakob Leben <jleben@videolan.org>
Tue, 6 Apr 2010 10:30:50 +0000 (12:30 +0200)
committerJakob Leben <jleben@videolan.org>
Tue, 6 Apr 2010 10:50:19 +0000 (12:50 +0200)
modules/gui/qt4/main_interface.cpp

index 26e9d11b2409c31519081f3c8b5dc1edb1861af0..6cba05f53cd5113008815615e2d9a23c04f9131e 100644 (file)
@@ -295,19 +295,15 @@ MainInterface::~MainInterface()
 
     /* Save states */
     settings->beginGroup( "MainWindow" );
+
     settings->setValue( "pl-dock-status", b_plDocked );
     /* Save playlist state */
     if( playlistWidget )
     {
-        if( isPlDocked() )
-        {
-            QVLCTools::saveWidgetPosition( p_intf, "Playlist", playlistWidget );
-            settings->setValue( "playlist-visible", playlistVisible );
-        }
-        else
-        {
-            settings->setValue( "playlist-visible", playlistWidget->isVisible() ); // FIXME
-        }
+        settings->setValue( "playlist-visible",
+                            isPlDocked() ?
+                            playlistVisible :
+                            playlistWidget->isVisible() /* FIXME */ );
     }
 
     settings->setValue( "adv-controls",
@@ -320,9 +316,15 @@ MainInterface::~MainInterface()
 
     /* Save this size */
     QVLCTools::saveWidgetPosition(settings, this);
+
     settings->endGroup();
 
+    /* Save undocked playlist size */
+    if( playlistWidget && !isPlDocked() )
+        QVLCTools::saveWidgetPosition( p_intf, "Playlist", playlistWidget );
+
     delete playlistWidget;
+
     delete statusBar();
 
     /* Unregister callbacks */
@@ -717,6 +719,7 @@ void MainInterface::dockPlaylist( bool p_docked )
     }
     else
     {
+        QVLCTools::saveWidgetPosition( p_intf, "Playlist", playlistWidget );
         playlistWidget->setWindowFlags( Qt::Widget ); // Probably a Qt bug here
         // It would be logical that QStackWidget::addWidget reset the flags...
         stackCentralW->addWidget( playlistWidget );