]> sigrok.org Git - pulseview.git/blobdiff - pv/mainwindow.cpp
Introduce ViewBase::is_main_view
[pulseview.git] / pv / mainwindow.cpp
index 2f9ab323008948395f3496e5e14bf39bb0a23736..985f698f8127f1e6efb2cf5f31ed067ec318c132 100644 (file)
@@ -168,6 +168,8 @@ shared_ptr<views::ViewBase> MainWindow::add_view(const QString &title,
 
        assert(main_window);
 
 
        assert(main_window);
 
+       shared_ptr<MainBar> main_bar = session.main_bar();
+
        QDockWidget* dock = new QDockWidget(title, main_window);
        dock->setObjectName(title);
        main_window->addDockWidget(Qt::TopDockWidgetArea, dock);
        QDockWidget* dock = new QDockWidget(title, main_window);
        dock->setObjectName(title);
        main_window->addDockWidget(Qt::TopDockWidgetArea, dock);
@@ -177,7 +179,9 @@ shared_ptr<views::ViewBase> MainWindow::add_view(const QString &title,
        dock_main->setWindowFlags(Qt::Widget);  // Remove Qt::Window flag
 
        if (type == views::ViewTypeTrace)
        dock_main->setWindowFlags(Qt::Widget);  // Remove Qt::Window flag
 
        if (type == views::ViewTypeTrace)
-               v =     make_shared<views::TraceView::View>(session, dock_main);
+               // This view will be the main view if there's no main bar yet
+               v = make_shared<views::TraceView::View>(session,
+                       (main_bar ? false : true), dock_main);
 
        if (!v)
                return nullptr;
 
        if (!v)
                return nullptr;
@@ -209,7 +213,6 @@ shared_ptr<views::ViewBase> MainWindow::add_view(const QString &title,
                tv->enable_sticky_scrolling(true);
                tv->enable_coloured_bg(settings.value(GlobalSettings::Key_View_ColouredBG).toBool());
 
                tv->enable_sticky_scrolling(true);
                tv->enable_coloured_bg(settings.value(GlobalSettings::Key_View_ColouredBG).toBool());
 
-               shared_ptr<MainBar> main_bar = session.main_bar();
                if (!main_bar) {
                        /* Initial view, create the main bar */
                        main_bar = make_shared<MainBar>(session, this, tv);
                if (!main_bar) {
                        /* Initial view, create the main bar */
                        main_bar = make_shared<MainBar>(session, this, tv);