diff options
Diffstat (limited to 'examples/serialbus/modbus/adueditor')
4 files changed, 47 insertions, 39 deletions
diff --git a/examples/serialbus/modbus/adueditor/adueditor.pro b/examples/serialbus/modbus/adueditor/adueditor.pro index facba76..77a6158 100644 --- a/examples/serialbus/modbus/adueditor/adueditor.pro +++ b/examples/serialbus/modbus/adueditor/adueditor.pro @@ -7,9 +7,19 @@ QT += serialbus-private core-private requires(qtConfig(combobox)) requires(qtConfig(modbus-serialport)) -FORMS += interface.ui -SOURCES += main.cpp mainwindow.cpp modbustcpclient.cpp -HEADERS += mainwindow.h plaintextedit.h modbustcpclient.h modbustcpclient_p.h +SOURCES += \ + main.cpp \ + mainwindow.cpp \ + modbustcpclient.cpp + +HEADERS += \ + mainwindow.h \ + modbustcpclient.h \ + modbustcpclient_p.h \ + plaintextedit.h + +FORMS += \ + interface.ui target.path = $$[QT_INSTALL_EXAMPLES]/serialbus/modbus/adueditor INSTALLS += target diff --git a/examples/serialbus/modbus/adueditor/mainwindow.cpp b/examples/serialbus/modbus/adueditor/mainwindow.cpp index 862be6a..995cfc9 100644 --- a/examples/serialbus/modbus/adueditor/mainwindow.cpp +++ b/examples/serialbus/modbus/adueditor/mainwindow.cpp @@ -52,8 +52,8 @@ #include "modbustcpclient.h" #include <QLoggingCategory> -#include <QModbusRtuSerialMaster> #include <QModbusPdu> +#include <QModbusRtuSerialMaster> #include <QSerialPortInfo> #ifndef QT_STATIC @@ -84,7 +84,7 @@ MainWindow::MainWindow(QWidget *parent) for (const QSerialPortInfo &info : ports) serialPortCombo->addItem(info.portName(), false); serialPortCombo->insertSeparator(serialPortCombo->count()); - serialPortCombo->addItem(QStringLiteral("Add port..."), true); + serialPortCombo->addItem(tr("Add port..."), true); serialPortCombo->setInsertPolicy(QComboBox::InsertAtTop); connect(tcpRadio, &QRadioButton::toggled, this, [this](bool toggled) { @@ -119,14 +119,14 @@ void MainWindow::on_sendButton_clicked() return; } - const quint8 address = (isSerial ? addressSpin : ui1Spin)->value(); + const quint8 address = quint8((isSerial ? addressSpin : ui1Spin)->value()); if (isCustom) { qDebug() << "Send: Sending custom PDU."; reply = m_device->sendRawRequest(QModbusRequest(QModbusRequest::FunctionCode( pduData[0]), pduData.mid(1)), address); } else { qDebug() << "Send: Sending PDU with predefined function code."; - quint16 fc = (isSerial ? fcSerialDrop : fcTcpDrop)->currentText().left(4).toShort(0, 16); + quint16 fc = (isSerial ? fcSerialDrop : fcTcpDrop)->currentText().left(4).toUShort(0, 16); reply = m_device->sendRawRequest(QModbusRequest(QModbusRequest::FunctionCode(fc), pduData), address); } @@ -149,24 +149,23 @@ void MainWindow::on_connectButton_clicked() { if (tcpRadio->isChecked()) { auto device = new ModbusTcpClient; - using signature = void (QSpinBox::*)(int); - connect(ti1Spin, static_cast<signature>(&QSpinBox::valueChanged), device, - &ModbusTcpClient::valueChanged); - connect(ti2Spin, static_cast<signature>(&QSpinBox::valueChanged), device, - &ModbusTcpClient::valueChanged); - - connect(pi1Spin, static_cast<signature>(&QSpinBox::valueChanged), device, - &ModbusTcpClient::valueChanged); - connect(pi2Spin, static_cast<signature>(&QSpinBox::valueChanged), device, - &ModbusTcpClient::valueChanged); - - connect(l1Spin, static_cast<signature>(&QSpinBox::valueChanged), device, - &ModbusTcpClient::valueChanged); - connect(l2Spin, static_cast<signature>(&QSpinBox::valueChanged), device, - &ModbusTcpClient::valueChanged); - - connect(ui1Spin, static_cast<signature>(&QSpinBox::valueChanged), device, - &ModbusTcpClient::valueChanged); + connect(ti1Spin, QOverload<int>::of(&QSpinBox::valueChanged), + device, &ModbusTcpClient::valueChanged); + connect(ti2Spin, QOverload<int>::of(&QSpinBox::valueChanged), + device, &ModbusTcpClient::valueChanged); + + connect(pi1Spin, QOverload<int>::of(&QSpinBox::valueChanged), + device, &ModbusTcpClient::valueChanged); + connect(pi2Spin, QOverload<int>::of(&QSpinBox::valueChanged), + device, &ModbusTcpClient::valueChanged); + + connect(l1Spin, QOverload<int>::of(&QSpinBox::valueChanged), + device, &ModbusTcpClient::valueChanged); + connect(l2Spin, QOverload<int>::of(&QSpinBox::valueChanged), + device, &ModbusTcpClient::valueChanged); + + connect(ui1Spin, QOverload<int>::of(&QSpinBox::valueChanged), + device, &ModbusTcpClient::valueChanged); m_device = device; device->valueChanged(0); // trigger update diff --git a/examples/serialbus/modbus/adueditor/modbustcpclient_p.h b/examples/serialbus/modbus/adueditor/modbustcpclient_p.h index 9d091d8..a563b6f 100644 --- a/examples/serialbus/modbus/adueditor/modbustcpclient_p.h +++ b/examples/serialbus/modbus/adueditor/modbustcpclient_p.h @@ -73,7 +73,7 @@ public: QDataStream output(&buffer, QIODevice::WriteOnly); output << m_tId << m_pId << m_length << m_uId << request; - int writtenBytes = m_socket->write(buffer); + qint64 writtenBytes = m_socket->write(buffer); if (writtenBytes == -1 || writtenBytes < buffer.size()) { Q_Q(ModbusTcpClient); qDebug() << "Cannot write request to socket."; @@ -91,14 +91,13 @@ public: Q_Q(ModbusTcpClient); auto reply = new QModbusReply(type, m_uId, q); - const auto element = QueueElement{ reply, request, unit, m_numberOfRetries, - m_responseTimeoutDuration }; + const auto element = QueueElement{reply, request, unit, m_numberOfRetries, + m_responseTimeoutDuration}; m_transactionStore.insert(m_tId, element); - using TypeId = void (QTimer::*)(int); q->connect(q, &QModbusClient::timeoutChanged, - element.timer.data(), static_cast<TypeId>(&QTimer::setInterval)); - QObject::connect(element.timer.data(), &QTimer::timeout, [this, writeToSocket]() { + element.timer.data(), QOverload<int>::of(&QTimer::setInterval)); + q->connect(element.timer.data(), &QTimer::timeout, [this, writeToSocket]() { if (!m_transactionStore.contains(m_tId)) return; @@ -120,13 +119,13 @@ public: } }); element.timer->start(); - return reply; + return reply; } - quint16 m_tId; - quint16 m_pId; - quint16 m_length; - quint8 m_uId; + quint16 m_tId = 0; + quint16 m_pId = 0; + quint16 m_length = 0; + quint8 m_uId = 0; }; #endif // MODBUSTCPCLIENT_P_H diff --git a/examples/serialbus/modbus/adueditor/plaintextedit.h b/examples/serialbus/modbus/adueditor/plaintextedit.h index 3cbbaaf..cbc590c 100644 --- a/examples/serialbus/modbus/adueditor/plaintextedit.h +++ b/examples/serialbus/modbus/adueditor/plaintextedit.h @@ -81,12 +81,12 @@ public: void contextMenuEvent(QContextMenuEvent *event) { QMenu menu(this); - menu.addAction(QStringLiteral("Clear"), this, &QPlainTextEdit::clear); + menu.addAction(tr("Clear"), this, &QPlainTextEdit::clear); #ifndef QT_NO_CLIPBOARD - menu.addAction(QStringLiteral("Copy"), this, &QPlainTextEdit::copy, QKeySequence::Copy); + menu.addAction(tr("Copy"), this, &QPlainTextEdit::copy, QKeySequence::Copy); #endif menu.addSeparator(); - menu.addAction(QStringLiteral("Select All"), this, &QPlainTextEdit::selectAll, + menu.addAction(tr("Select All"), this, &QPlainTextEdit::selectAll, QKeySequence::SelectAll); menu.exec(event->globalPos()); } |