From 2f34998904fc33900fc17bf3dd9957147bd7e1dc Mon Sep 17 00:00:00 2001 From: Kiara Navarro Date: Tue, 12 Jul 2022 18:51:11 -0500 Subject: [PATCH] app: implement setup menu Offload app window initialization by moving all menu related logic into another place. --- Software/PC_Application/appwindow.cpp | 102 ++++++++++++++------------ Software/PC_Application/appwindow.h | 1 + 2 files changed, 55 insertions(+), 48 deletions(-) diff --git a/Software/PC_Application/appwindow.cpp b/Software/PC_Application/appwindow.cpp index e964080..de466c0 100644 --- a/Software/PC_Application/appwindow.cpp +++ b/Software/PC_Application/appwindow.cpp @@ -234,6 +234,60 @@ AppWindow::AppWindow(QWidget *parent) auto generator = new Generator(this); auto spectrumAnalyzer = new SpectrumAnalyzer(this); + SetupMenu(); + + setWindowTitle(qlibrevnaApp->applicationName() + " v" + getAppVersion()); + + setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); + setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + + { + QSettings settings; + restoreGeometry(settings.value("geometry").toByteArray()); + } + + SetupSCPI(); + + // Set default mode + vna->activate(); + + auto pref = Preferences::getInstance(); + if(pref.Startup.UseSetupFile) { + LoadSetup(pref.Startup.SetupFile); + } + // List available devices + UpdateDeviceList(); + if(pref.Startup.ConnectToFirstDevice) { + // at least one device available + ConnectToDevice(); + } + + if(parser.isSet("setup")) { + LoadSetup(parser.value("setup")); + } + if(parser.isSet("cal")) { + vna->LoadCalibration(parser.value("cal")); + } + if(!parser.isSet("no-gui")) { + InformationBox::setGUI(true); + resize(1280, 800); + show(); + } else { + InformationBox::setGUI(false); + noGUIset = true; + } +} + +AppWindow::~AppWindow() +{ + StopTCPServer(); + delete ui; +} + +void AppWindow::SetupMenu() +{ // UI connections connect(ui->actionUpdate_Device_List, &QAction::triggered, this, &AppWindow::UpdateDeviceList); connect(ui->actionDisconnect, &QAction::triggered, this, &AppWindow::DisconnectDevice); @@ -324,54 +378,6 @@ AppWindow::AppWindow(QWidget *parent) a.about(); }); - setWindowTitle(qlibrevnaApp->applicationName() + " v" + getAppVersion()); - - setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); - setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); - - { - QSettings settings; - restoreGeometry(settings.value("geometry").toByteArray()); - } - - SetupSCPI(); - - // Set default mode - vna->activate(); - - auto pref = Preferences::getInstance(); - if(pref.Startup.UseSetupFile) { - LoadSetup(pref.Startup.SetupFile); - } - // List available devices - UpdateDeviceList(); - if(pref.Startup.ConnectToFirstDevice) { - // at least one device available - ConnectToDevice(); - } - - if(parser.isSet("setup")) { - LoadSetup(parser.value("setup")); - } - if(parser.isSet("cal")) { - vna->LoadCalibration(parser.value("cal")); - } - if(!parser.isSet("no-gui")) { - InformationBox::setGUI(true); - resize(1280, 800); - show(); - } else { - InformationBox::setGUI(false); - noGUIset = true; - } -} - -AppWindow::~AppWindow() -{ - StopTCPServer(); - delete ui; } void AppWindow::closeEvent(QCloseEvent *event) diff --git a/Software/PC_Application/appwindow.h b/Software/PC_Application/appwindow.h index 90b18f2..e19588f 100644 --- a/Software/PC_Application/appwindow.h +++ b/Software/PC_Application/appwindow.h @@ -82,6 +82,7 @@ private: void DeviceConnectionLost(); + void SetupMenu(); void SetupStatusBar(); void UpdateStatusBar(DeviceStatusBar status); void CreateToolbars();