X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=a20f12a6712a087522ab45d6d770e0fba668fe03;hb=d8d053b6e51abf651ca31d0d4822035c06fb7f9b;hp=86a015533f824cb8483e7ef7b456d080266d9ebc;hpb=d375140b2e760226ff5f0d8aafc0386c0010644b;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index 86a0155..a20f12a 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -70,7 +70,7 @@ const QString MainWindow::WindowTitle = tr("PulseView"); MainWindow::MainWindow(DeviceManager &device_manager, string open_file_name, string open_file_format, - QWidget *parent) : + bool restore_sessions, QWidget *parent) : QMainWindow(parent), device_manager_(device_manager), session_selector_(this), @@ -92,7 +92,7 @@ MainWindow::MainWindow(DeviceManager &device_manager, bind(&MainWindow::on_settingViewShowAnalogMinorGrid_changed, this, _1)); setup_ui(); - restore_ui_settings(); + restore_ui_settings(restore_sessions); if (!open_file_name.empty()) { shared_ptr session = add_session(); @@ -455,10 +455,9 @@ void MainWindow::save_ui_settings() settings.setValue("sessions", id); } -void MainWindow::restore_ui_settings() +void MainWindow::restore_ui_settings(bool restore_sessions) { QSettings settings; - int i, session_count; settings.beginGroup("MainWindow"); @@ -470,13 +469,17 @@ void MainWindow::restore_ui_settings() settings.endGroup(); - session_count = settings.value("sessions", 0).toInt(); + if (restore_sessions) { + int i, session_count; - for (i = 0; i < session_count; i++) { - settings.beginGroup("Session" + QString::number(i)); - shared_ptr session = add_session(); - session->restore_settings(settings); - settings.endGroup(); + session_count = settings.value("sessions", 0).toInt(); + + for (i = 0; i < session_count; i++) { + settings.beginGroup("Session" + QString::number(i)); + shared_ptr session = add_session(); + session->restore_settings(settings); + settings.endGroup(); + } } } @@ -721,7 +724,8 @@ void MainWindow::on_tab_close_requested(int index) { shared_ptr session = get_tab_session(index); - assert(session); + if (!session) + return; if (session->data_saved() || (QMessageBox::question(this, tr("Confirmation"), tr("This session contains unsaved data. Close it anyway?"),