Skip to content

Commit 6e61ecb

Browse files
committed
Feature: Detect Available Serialports for Local Connection
1 parent fbfc2c3 commit 6e61ecb

3 files changed

Lines changed: 18 additions & 19 deletions

File tree

ozwadmin-main/ozwadmin-main.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
#-------------------------------------------------
66

7-
QT += core gui widgets xml remoteobjects websockets svg
7+
QT += core gui widgets xml remoteobjects websockets svg serialport
88
CONFIG += silent
99

1010
TARGET = ../ozwadmin

ozwadmin-main/startup.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <QSettings>
44
#include <QUrl>
55
#include <QDebug>
6+
#include <QSerialPortInfo>
67

78
#include "startup.h"
89
#include "ui_startup.h"
@@ -19,16 +20,16 @@ Startup::Startup(QWidget *parent) :
1920
ui->remoteport->setMaximumWidth(w+8);
2021
QObject::connect(ui->startlocal, &QPushButton::clicked, this, &Startup::localPressed);
2122
QObject::connect(ui->startremote, &QPushButton::clicked, this, &Startup::remotePressed);
23+
foreach(QSerialPortInfo spinfo, QSerialPortInfo::availablePorts()) {
2224
#if defined(Q_OS_MACOS)
23-
ui->serialport->setText(QSettings().value("connection/serialport", "/dev/cu.SLAB_USBtoUART").toString());
24-
#elif defined(Q_OS_WIN)
25-
ui->serialport->setText(QSettings().value("connection/serialport", "COM1").toString());
26-
#else
27-
ui->serialport->setText(QSettings().value("connection/serialport", "/dev/ttyUSB0").toString());
25+
if (spinfo.portName().startsWith("tty", Qt::CaseInsensitive))
26+
continue;
2827
#endif
29-
ui->enableserver->setChecked(QSettings().value("connection/startserver", true).toBool());
28+
ui->serialport->addItem(spinfo.systemLocation());
29+
}
30+
//ui->enableserver->setChecked(QSettings().value("connection/startserver", true).toBool());
31+
ui->enableserver->setChecked(true);
3032
QUrl server = QUrl::fromUserInput(QSettings().value("connection/remotehost", "ws://localhost:1983").toString());
31-
qDebug() << server;
3233
ui->remotehost->setText(server.host());
3334
ui->remoteport->setText(QString::number(server.port()));
3435
ui->authKey->setText(QSettings().value("connection/authKey", "").toString());
@@ -41,10 +42,7 @@ Startup::~Startup()
4142

4243
void Startup::localPressed() {
4344

44-
if (ui->serialport->text().length() == 0) {
45-
QMessageBox::critical(this, tr("Error"), tr("You Must Specify a Serial Port"), QMessageBox::Ok);
46-
}
47-
this->m_serialPort = ui->serialport->text();
45+
this->m_serialPort = ui->serialport->currentText();
4846
this->m_remote = false;
4947
this->m_startServer = ui->enableserver->isChecked();
5048
this->setResult(DialogCode::Accepted);
@@ -53,6 +51,8 @@ void Startup::localPressed() {
5351
void Startup::remotePressed() {
5452
if (ui->remotehost->text().length() == 0) {
5553
QMessageBox::critical(this, tr("Error"), tr("You Must Specify a Remote Host"), QMessageBox::Ok);
54+
this->reject();
55+
return;
5656
}
5757
this->m_remoteHost = ui->remotehost->text();
5858
this->m_remotePort = ui->remoteport->text().toUInt();

ozwadmin-main/startup.ui

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,6 @@
2727
</property>
2828
</widget>
2929
</item>
30-
<item row="0" column="1">
31-
<widget class="QLineEdit" name="serialport">
32-
<property name="text">
33-
<string/>
34-
</property>
35-
</widget>
36-
</item>
3730
<item row="1" column="0">
3831
<widget class="QLabel" name="label_2">
3932
<property name="text">
@@ -43,6 +36,9 @@
4336
</item>
4437
<item row="1" column="1">
4538
<widget class="QCheckBox" name="enableserver">
39+
<property name="enabled">
40+
<bool>false</bool>
41+
</property>
4642
<property name="text">
4743
<string>Enabled</string>
4844
</property>
@@ -61,6 +57,9 @@
6157
</property>
6258
</widget>
6359
</item>
60+
<item row="0" column="1">
61+
<widget class="QComboBox" name="serialport"/>
62+
</item>
6463
</layout>
6564
</widget>
6665
</item>

0 commit comments

Comments
 (0)