]> git.sesse.net Git - vlc/commitdiff
Qt: Better restore of the playlist State
authorJean-Baptiste Kempf <jb@videolan.org>
Tue, 30 Mar 2010 15:19:04 +0000 (17:19 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Tue, 30 Mar 2010 16:36:29 +0000 (18:36 +0200)
modules/gui/qt4/components/playlist/standardpanel.cpp
modules/gui/qt4/main_interface.cpp

index 8299cedfbd6d48e0e04470133b8acdb47c346ec3..3a4568b0584a21b8ac1fa4749dd36524efc42df6 100644 (file)
@@ -325,7 +325,6 @@ void StandardPLPanel::createTreeView()
             else if( m == COLUMN_DURATION ) treeView->header()->resizeSection( c, 80 );
         }
     }
-    getSettings()->endGroup();
 
     /* Connections for the TreeView */
     CONNECT( treeView, activated( const QModelIndex& ),
index 7ff26ef8e3138dcb4c9428aa3da3f5fa332f522d..953fd4bcf3ded8b4407dc57904eced2988184783 100644 (file)
@@ -254,8 +254,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
     }
 
     /* Playlist */
-    int i_plVis = settings->value( "playlist-visible", 0 ).toInt();
-
+    int i_plVis = settings->value( "playlist-visible", false ).toBool();
     settings->endGroup();
 
     if( i_plVis ) togglePlaylist();
@@ -274,18 +273,9 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
 MainInterface::~MainInterface()
 {
     /* Unsure we hide the videoWidget before destroying it */
-    if( stackCentralOldWidget == playlistWidget )
+    if( stackCentralOldWidget == videoWidget )
         showBg();
 
-    /* Save playlist state */
-    if( playlistWidget )
-    {
-        if( !isPlDocked() )
-            QVLCTools::saveWidgetPosition( p_intf, "Playlist", playlistWidget );
-
-        delete playlistWidget;
-    }
-
 #ifdef WIN32
     if( himl )
         ImageList_Destroy( himl );
@@ -306,7 +296,22 @@ MainInterface::~MainInterface()
     /* Save states */
     settings->beginGroup( "MainWindow" );
     settings->setValue( "pl-dock-status", b_plDocked );
-    settings->setValue( "playlist-visible", (int)playlistVisible );
+    /* 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
+        }
+
+        delete playlistWidget;
+    }
+
     settings->setValue( "adv-controls",
                         getControlsVisibilityStatus() & CONTROLS_ADVANCED );