Session: Save/restore channel info and top-level decoder
[pulseview.git] / pv / mainwindow.cpp
index 6e408583a52d0cb1e7e2c45870c950cbedc4094f..45d805a8d6f87f2c08eb649cbdf930c70dca48df 100644 (file)
@@ -191,10 +191,6 @@ shared_ptr<pv::view::View> MainWindow::add_view(const QString &title,
                if (type == view::TraceView) {
                        connect(&session, SIGNAL(trigger_event(util::Timestamp)), v.get(),
                                SLOT(trigger_event(util::Timestamp)));
-                       connect(v.get(), SIGNAL(sticky_scrolling_changed(bool)), this,
-                               SLOT(sticky_scrolling_changed(bool)));
-                       connect(v.get(), SIGNAL(always_zoom_to_fit_changed(bool)), this,
-                               SLOT(always_zoom_to_fit_changed(bool)));
 
                        v->enable_sticky_scrolling(action_view_sticky_scrolling_->isChecked());
                        v->enable_coloured_bg(action_view_coloured_bg_->isChecked());
@@ -206,6 +202,9 @@ shared_ptr<pv::view::View> MainWindow::add_view(const QString &title,
                                session.set_main_bar(main_bar);
                        }
                        main_bar->action_view_show_cursors()->setChecked(v->cursors_shown());
+
+                       connect(v.get(), SIGNAL(always_zoom_to_fit_changed(bool)),
+                               main_bar.get(), SLOT(on_always_zoom_to_fit_changed(bool)));
                }
        }
 
@@ -279,6 +278,7 @@ void MainWindow::save_ui_settings()
                }
 
                settings.beginGroup("Session" + QString::number(id++));
+               settings.remove("");  // Remove all keys in this group
                session->save_settings(settings);
                settings.endGroup();
        }