diff --git a/src/interface/Interface_graphic.cpp b/src/interface/Interface_graphic.cpp index 7f620f6ca4b4f5db2085fd083539a312f2fc1c94..caa424090830f4663facd660b890faaeb0b092af 100644 --- a/src/interface/Interface_graphic.cpp +++ b/src/interface/Interface_graphic.cpp @@ -334,10 +334,6 @@ void Interface_graphic::remove_render_area(RenderLayout *render_layout) { //_plugin_window->clear_plugins(); } - if (nullptr != _ui_interval_selection) { - _ui_interval_selection->hide(); - } - // Remove RenderLayout from _render_layouts which is a vector for (std::vector<RenderLayout *>::iterator it = _render_layouts.begin(); it != _render_layouts.end(); ++it) { if (*it == render_layout) { @@ -346,6 +342,10 @@ void Interface_graphic::remove_render_area(RenderLayout *render_layout) { } } + if (nullptr != _ui_interval_selection) { + _ui_interval_selection->update_container(_render_layouts); + } + if (_render_layouts.empty()) { background_widget->show(); } @@ -502,9 +502,6 @@ void Interface_graphic::on_interval_selection_triggered() { connect(quit, &QAction::triggered, _ui_interval_selection, &QWidget::close); } _ui_interval_selection->update_container(_render_layouts); - for (const RenderLayout *render_layout: _render_layouts) { - _ui_interval_selection->update_interval_layout_from_render_view(render_layout); - } _ui_interval_selection->show(); } @@ -685,6 +682,10 @@ bool Interface_graphic::open_trace(const QString &filepath) { set_trace(trace); draw_trace(trace, _render_layouts.size() - 1); + if (nullptr != _ui_interval_selection) { + _ui_interval_selection->update_container(_render_layouts); + } + return true; } diff --git a/src/interface/IntervalSelect.cpp b/src/interface/IntervalSelect.cpp index f7413c9a16c94bd8c7a3788eecffa0cda7712309..59b5e06a50c192b85de9c6528f093b193f4f82e9 100644 --- a/src/interface/IntervalSelect.cpp +++ b/src/interface/IntervalSelect.cpp @@ -38,6 +38,7 @@ void IntervalSelect::update_container(const std::vector<RenderLayout *> &render_ // Fill interval select layouts with up to date layouts for (RenderLayout *render_layout: render_layouts) { _interval_select_layouts.push_back(new IntervalSelectLayout(this, render_layout)); + update_interval_layout_from_render_view(render_layout); interval_select_container_layout->addWidget(_interval_select_layouts.back()); }