#include "mainwindow.hpp"
+#include "application.hpp"
#include "devicemanager.hpp"
#include "devices/hardwaredevice.hpp"
#include "dialogs/settings.hpp"
}
}
+ v->setFocus();
+
return v;
}
subwindows::SubWindowType type, Session &session)
{
GlobalSettings settings;
- shared_ptr<subwindows::SubWindowBase> v;
+ shared_ptr<subwindows::SubWindowBase> w;
QMainWindow *main_window = nullptr;
for (auto& entry : session_windows_)
#ifdef ENABLE_DECODE
if (type == subwindows::SubWindowTypeDecoderSelector)
- v = make_shared<subwindows::decoder_selector::SubWindow>(session, dock_main);
+ w = make_shared<subwindows::decoder_selector::SubWindow>(session, dock_main);
#endif
- if (!v)
+ if (!w)
return nullptr;
- sub_windows_[dock] = v;
- dock_main->setCentralWidget(v.get());
+ sub_windows_[dock] = w;
+ dock_main->setCentralWidget(w.get());
dock->setWidget(dock_main);
dock->setContextMenuPolicy(Qt::PreventContextMenu);
connect(close_btn, SIGNAL(clicked(bool)),
this, SLOT(on_sub_window_close_clicked()));
- if (v->has_toolbar())
- dock_main->addToolBar(v->create_toolbar(dock_main));
+ if (w->has_toolbar())
+ dock_main->addToolBar(w->create_toolbar(dock_main));
- if (v->minimum_width() > 0)
- dock->setMinimumSize(v->minimum_width(), 0);
+ if (w->minimum_width() > 0)
+ dock->setMinimumSize(w->minimum_width(), 0);
- return v;
+ w->setFocus();
+
+ return w;
}
shared_ptr<Session> MainWindow::add_session()
window->setDockNestingEnabled(true);
- shared_ptr<views::ViewBase> main_view = add_view(views::ViewTypeTrace, *session);
+ add_view(views::ViewTypeTrace, *session);
return session;
}
sub_windows_.erase(dock);
dock->close();
+
+ // Restore focus to the last used main view
+ if (last_focused_session_)
+ last_focused_session_->main_view()->setFocus();
}
void MainWindow::on_view_colored_bg_shortcut()