diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4cac042fc..2a9ca3d94 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -304,10 +304,8 @@ MainWindow::MainWindow(QNetworkAccessManager* network, QWidget *parent) library_->StartThreads(); playlistManager_->SetTabWidget(ui_.tabWidget); - qDebug() << "restoring"; - bool bRestored = playlistManager_->Restore() ; - if ( !bRestored ) - playlistManager_->addPlaylist(); + + QTimer::singleShot(500,this,SLOT(InitPlaylists())) ; } @@ -717,3 +715,8 @@ void MainWindow::CurrentTabChanged(int index ){ void MainWindow::CurrentPlaylistChanged(Playlist* pPlaylist){ } +void MainWindow::InitPlaylists(){ + bool bRestored = playlistManager_->Restore() ; + if ( !bRestored ) + playlistManager_->addPlaylist(); +} diff --git a/src/mainwindow.h b/src/mainwindow.h index 8a760ddc1..92332f7d3 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -90,6 +90,8 @@ class MainWindow : public QMainWindow { void CurrentTabChanged ( int ) ; void CurrentPlaylistChanged( Playlist * pPlaylist ) ; + + void InitPlaylists() ; private: void SaveGeometry(); diff --git a/src/playlistmanager.cpp b/src/playlistmanager.cpp index 1c595430a..bf287751d 100644 --- a/src/playlistmanager.cpp +++ b/src/playlistmanager.cpp @@ -59,6 +59,7 @@ void PlaylistManager::Save() const{ p->SaveR() ; } s.setValue("numberofplaylists", playlistCount_ ) ; + s.setValue("currentplaylistindex",pTabWidget_->currentIndex()); } bool PlaylistManager::Restore(){ Q_ASSERT ( pTabWidget_ ) ; @@ -102,6 +103,9 @@ bool PlaylistManager::Restore(){ pCurrentPlaylistView_ = playListView ; playlists_ << playList ; } + int currentIndex = s.value("currentplaylistindex").toInt(&bOk); + if(bOk) + pTabWidget_->setCurrentIndex(currentIndex); return true ; }