Merge branch 'statusbar'
This commit is contained in:
commit
400fb7aa90
@ -101,30 +101,12 @@ AppWindow::AppWindow(QWidget *parent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->statusbar->addWidget(&lConnectionStatus);
|
|
||||||
auto div1 = new QFrame;
|
|
||||||
div1->setFrameShape(QFrame::VLine);
|
|
||||||
ui->statusbar->addWidget(div1);
|
|
||||||
ui->statusbar->addWidget(&lDeviceInfo);
|
|
||||||
ui->statusbar->addWidget(new QLabel, 1);
|
|
||||||
|
|
||||||
lADCOverload.setStyleSheet("color : red");
|
SetupStatusBar();
|
||||||
lADCOverload.setText("ADC overload");
|
UpdateStatusBar(DeviceStatusBar::Disconnected);
|
||||||
lADCOverload.setVisible(false);
|
|
||||||
ui->statusbar->addWidget(&lADCOverload);
|
|
||||||
|
|
||||||
lUnlevel.setStyleSheet("color : red");
|
|
||||||
lUnlevel.setText("Unlevel");
|
|
||||||
lUnlevel.setVisible(false);
|
|
||||||
ui->statusbar->addWidget(&lUnlevel);
|
|
||||||
|
|
||||||
lUnlock.setStyleSheet("color : red");
|
|
||||||
lUnlock.setText("Unlock");
|
|
||||||
lUnlock.setVisible(false);
|
|
||||||
ui->statusbar->addWidget(&lUnlock);
|
|
||||||
//ui->statusbar->setStyleSheet("QStatusBar::item { border: 1px solid black; };");
|
|
||||||
|
|
||||||
CreateToolbars();
|
CreateToolbars();
|
||||||
|
|
||||||
auto logDock = new QDockWidget("Device Log");
|
auto logDock = new QDockWidget("Device Log");
|
||||||
logDock->setWidget(&deviceLog);
|
logDock->setWidget(&deviceLog);
|
||||||
logDock->setObjectName("Log Dock");
|
logDock->setObjectName("Log Dock");
|
||||||
@ -288,16 +270,11 @@ bool AppWindow::ConnectToDevice(QString serial)
|
|||||||
try {
|
try {
|
||||||
qDebug() << "Attempting to connect to device...";
|
qDebug() << "Attempting to connect to device...";
|
||||||
device = new Device(serial);
|
device = new Device(serial);
|
||||||
lConnectionStatus.setText("Connected to " + device->serial());
|
UpdateStatusBar(AppWindow::DeviceStatusBar::Connected);
|
||||||
qInfo() << "Connected to" << device->serial();
|
|
||||||
lDeviceInfo.setText(device->getLastDeviceInfoString());
|
|
||||||
connect(device, &Device::LogLineReceived, &deviceLog, &DeviceLog::addLine);
|
connect(device, &Device::LogLineReceived, &deviceLog, &DeviceLog::addLine);
|
||||||
connect(device, &Device::ConnectionLost, this, &AppWindow::DeviceConnectionLost);
|
connect(device, &Device::ConnectionLost, this, &AppWindow::DeviceConnectionLost);
|
||||||
connect(device, &Device::DeviceInfoUpdated, [this]() {
|
connect(device, &Device::DeviceInfoUpdated, [this]() {
|
||||||
lDeviceInfo.setText(device->getLastDeviceInfoString());
|
UpdateStatusBar(AppWindow::DeviceStatusBar::Updated);
|
||||||
lADCOverload.setVisible(device->Info().ADC_overload);
|
|
||||||
lUnlevel.setVisible(device->Info().unlevel);
|
|
||||||
lUnlock.setVisible(!device->Info().LO1_locked || !device->Info().source_locked);
|
|
||||||
});
|
});
|
||||||
connect(device, &Device::NeedsFirmwareUpdate, this, &AppWindow::DeviceNeedsUpdate);
|
connect(device, &Device::NeedsFirmwareUpdate, this, &AppWindow::DeviceNeedsUpdate);
|
||||||
ui->actionDisconnect->setEnabled(true);
|
ui->actionDisconnect->setEnabled(true);
|
||||||
@ -343,8 +320,7 @@ void AppWindow::DisconnectDevice()
|
|||||||
if(deviceActionGroup->checkedAction()) {
|
if(deviceActionGroup->checkedAction()) {
|
||||||
deviceActionGroup->checkedAction()->setChecked(false);
|
deviceActionGroup->checkedAction()->setChecked(false);
|
||||||
}
|
}
|
||||||
lConnectionStatus.setText("No device connected");
|
UpdateStatusBar(DeviceStatusBar::Disconnected);
|
||||||
lDeviceInfo.setText("No device information available yet");
|
|
||||||
Mode::getActiveMode()->deviceDisconnected();
|
Mode::getActiveMode()->deviceDisconnected();
|
||||||
qDebug() << "Disconnected device";
|
qDebug() << "Disconnected device";
|
||||||
}
|
}
|
||||||
@ -961,3 +937,54 @@ const QString& AppWindow::getAppGitHash() const
|
|||||||
{
|
{
|
||||||
return appGitHash;
|
return appGitHash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AppWindow::SetupStatusBar()
|
||||||
|
{
|
||||||
|
ui->statusbar->addWidget(&lConnectionStatus);
|
||||||
|
auto div1 = new QFrame;
|
||||||
|
div1->setFrameShape(QFrame::VLine);
|
||||||
|
ui->statusbar->addWidget(div1);
|
||||||
|
ui->statusbar->addWidget(&lDeviceInfo);
|
||||||
|
ui->statusbar->addWidget(new QLabel, 1);
|
||||||
|
|
||||||
|
lADCOverload.setStyleSheet("color : red");
|
||||||
|
lADCOverload.setText("ADC overload");
|
||||||
|
lADCOverload.setVisible(false);
|
||||||
|
ui->statusbar->addWidget(&lADCOverload);
|
||||||
|
|
||||||
|
lUnlevel.setStyleSheet("color : red");
|
||||||
|
lUnlevel.setText("Unlevel");
|
||||||
|
lUnlevel.setVisible(false);
|
||||||
|
ui->statusbar->addWidget(&lUnlevel);
|
||||||
|
|
||||||
|
lUnlock.setStyleSheet("color : red");
|
||||||
|
lUnlock.setText("Unlock");
|
||||||
|
lUnlock.setVisible(false);
|
||||||
|
ui->statusbar->addWidget(&lUnlock);
|
||||||
|
//ui->statusbar->setStyleSheet("QStatusBar::item { border: 1px solid black; };");
|
||||||
|
}
|
||||||
|
|
||||||
|
void AppWindow::UpdateStatusBar(DeviceStatusBar status)
|
||||||
|
{
|
||||||
|
switch(status) {
|
||||||
|
case DeviceStatusBar::Connected:
|
||||||
|
lConnectionStatus.setText("Connected to " + device->serial());
|
||||||
|
qInfo() << "Connected to" << device->serial();
|
||||||
|
lDeviceInfo.setText(device->getLastDeviceInfoString());
|
||||||
|
break;
|
||||||
|
case DeviceStatusBar::Disconnected:
|
||||||
|
lConnectionStatus.setText("No device connected");
|
||||||
|
lDeviceInfo.setText("No device information available yet");
|
||||||
|
break;
|
||||||
|
case DeviceStatusBar::Updated:
|
||||||
|
lDeviceInfo.setText(device->getLastDeviceInfoString());
|
||||||
|
lADCOverload.setVisible(device->Info().ADC_overload);
|
||||||
|
lUnlevel.setVisible(device->Info().unlevel);
|
||||||
|
lUnlock.setVisible(!device->Info().LO1_locked || !device->Info().source_locked);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// invalid status
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -61,7 +61,17 @@ private slots:
|
|||||||
nlohmann::json SaveSetup();
|
nlohmann::json SaveSetup();
|
||||||
void LoadSetup(nlohmann::json j);
|
void LoadSetup(nlohmann::json j);
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
enum class DeviceStatusBar {
|
||||||
|
Connected,
|
||||||
|
Updated,
|
||||||
|
Disconnected,
|
||||||
|
};
|
||||||
|
|
||||||
void DeviceConnectionLost();
|
void DeviceConnectionLost();
|
||||||
|
|
||||||
|
void SetupStatusBar();
|
||||||
|
void UpdateStatusBar(DeviceStatusBar status);
|
||||||
void CreateToolbars();
|
void CreateToolbars();
|
||||||
void SetupSCPI();
|
void SetupSCPI();
|
||||||
void StartTCPServer(int port);
|
void StartTCPServer(int port);
|
||||||
|
Loading…
Reference in New Issue
Block a user