diff options
author | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2017-03-23 13:03:14 +0100 |
---|---|---|
committer | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2017-03-23 13:03:14 +0100 |
commit | d990cef71f4b794e3c6c7a9cf487bc7dcda63ce5 (patch) | |
tree | dad7aba816eaeaab708936adb3431eb2682af81b /examples | |
parent | c41e8d06ca282215e900dbce764c91b2b3be5303 (diff) |
Add support for QoS Level 1
On subscription and message side.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/mqtt/subscriptions/mainwindow.cpp | 4 | ||||
-rw-r--r-- | examples/mqtt/subscriptions/mainwindow.ui | 267 | ||||
-rw-r--r-- | examples/mqtt/subscriptions/subscriptionwindow.cpp | 4 | ||||
-rw-r--r-- | examples/mqtt/subscriptions/subscriptionwindow.ui | 14 |
4 files changed, 188 insertions, 101 deletions
diff --git a/examples/mqtt/subscriptions/mainwindow.cpp b/examples/mqtt/subscriptions/mainwindow.cpp index 33e54be..d125297 100644 --- a/examples/mqtt/subscriptions/mainwindow.cpp +++ b/examples/mqtt/subscriptions/mainwindow.cpp @@ -90,12 +90,12 @@ void MainWindow::setClientPort(int p) void MainWindow::on_buttonPublish_clicked() { - m_client->publish(ui->lineEditTopic->text(), ui->lineEditMessage->text().toUtf8()); + m_client->publish(ui->lineEditTopic->text(), ui->lineEditMessage->text().toUtf8(), ui->spinQoS_2->text().toUInt()); } void MainWindow::on_buttonSubscribe_clicked() { - auto subscription = m_client->subscribe(ui->lineEditTopic->text()); + auto subscription = m_client->subscribe(ui->lineEditTopic->text(), ui->spinQoS->text().toUInt()); auto subWindow = new SubscriptionWindow(subscription); subWindow->setWindowTitle(subscription->topic()); subWindow->show(); diff --git a/examples/mqtt/subscriptions/mainwindow.ui b/examples/mqtt/subscriptions/mainwindow.ui index b67b6c2..0c245a6 100644 --- a/examples/mqtt/subscriptions/mainwindow.ui +++ b/examples/mqtt/subscriptions/mainwindow.ui @@ -6,113 +6,182 @@ <rect> <x>0</x> <y>0</y> - <width>629</width> - <height>595</height> + <width>349</width> + <height>666</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralWidget"> - <layout class="QVBoxLayout" name="verticalLayout"> + <layout class="QVBoxLayout" name="verticalLayout_4"> <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <layout class="QFormLayout" name="formLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Host:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLineEdit" name="lineEditHost"> - <property name="text"> - <string>hostprocess.de</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Port:</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QSpinBox" name="spinBoxPort"> - <property name="maximum"> - <number>99999</number> - </property> - <property name="value"> - <number>1883</number> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QPushButton" name="buttonConnect"> - <property name="text"> - <string>Connect</string> - </property> - </widget> - </item> - </layout> + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> + <string>Connection</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Host:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEditHost"> + <property name="text"> + <string>hostprocess.de</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Port:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSpinBox" name="spinBoxPort"> + <property name="maximum"> + <number>99999</number> + </property> + <property name="value"> + <number>1883</number> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QPushButton" name="buttonConnect"> + <property name="text"> + <string>Connect</string> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QPushButton" name="buttonPing"> + <property name="text"> + <string>Ping</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> </item> <item> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="1"> - <widget class="QLineEdit" name="lineEditTopic"> - <property name="text"> - <string>qtmqtt/topic1</string> - </property> - </widget> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_3"> - <property name="text"> - <string>Topic:</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_4"> - <property name="text"> - <string>Message:</string> - </property> - </widget> - </item> - <item row="1" column="2"> - <widget class="QPushButton" name="buttonPublish"> - <property name="text"> - <string>Publish</string> - </property> - </widget> - </item> - <item row="0" column="2"> - <widget class="QPushButton" name="buttonSubscribe"> - <property name="text"> - <string>Subscribe</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QLineEdit" name="lineEditMessage"> - <property name="text"> - <string>This is a test message</string> - </property> - </widget> - </item> - <item row="2" column="2"> - <widget class="QPushButton" name="buttonPing"> - <property name="text"> - <string>Ping</string> - </property> - </widget> - </item> - </layout> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>Subscriptions</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Topic:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEditTopic"> + <property name="text"> + <string>qtmqtt/topic1</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>QoS:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSpinBox" name="spinQoS"> + <property name="maximum"> + <number>2</number> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QPushButton" name="buttonSubscribe"> + <property name="text"> + <string>Subscribe</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_4"> + <property name="title"> + <string>Messages</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <layout class="QFormLayout" name="formLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Content:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEditMessage"> + <property name="text"> + <string>This is a test message</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>QoS:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QSpinBox" name="spinQoS_2"> + <property name="maximum"> + <number>2</number> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Retain:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QCheckBox" name="checkBoxRetain"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QPushButton" name="buttonPublish"> + <property name="text"> + <string>Publish</string> + </property> + </widget> + </item> + </layout> + </widget> </item> <item> <widget class="QGroupBox" name="groupBox"> @@ -157,7 +226,7 @@ <rect> <x>0</x> <y>0</y> - <width>629</width> + <width>349</width> <height>21</height> </rect> </property> diff --git a/examples/mqtt/subscriptions/subscriptionwindow.cpp b/examples/mqtt/subscriptions/subscriptionwindow.cpp index 19bb31c..f9c6ecb 100644 --- a/examples/mqtt/subscriptions/subscriptionwindow.cpp +++ b/examples/mqtt/subscriptions/subscriptionwindow.cpp @@ -9,9 +9,13 @@ SubscriptionWindow::SubscriptionWindow(QSharedPointer<QMqttSubscription> &sub, Q ui->setupUi(this); ui->labelSub->setText(m_sub->topic()); + ui->labelQoS->setText(QString::number(sub->qos())); updateStatus(m_sub->state()); connect(m_sub.data(), &QMqttSubscription::messageReceived, this, &SubscriptionWindow::updateMessage); connect(m_sub.data(), &QMqttSubscription::stateChanged, this, &SubscriptionWindow::updateStatus); + connect(m_sub.data(), &QMqttSubscription::qosChanged, [this](quint8 qos) { + ui->labelQoS->setText(QString::number(qos)); + }); connect(ui->pushButton, &QAbstractButton::clicked, m_sub.data(), &QMqttSubscription::unsubscribe); } diff --git a/examples/mqtt/subscriptions/subscriptionwindow.ui b/examples/mqtt/subscriptions/subscriptionwindow.ui index 46ca75f..acf6591 100644 --- a/examples/mqtt/subscriptions/subscriptionwindow.ui +++ b/examples/mqtt/subscriptions/subscriptionwindow.ui @@ -44,6 +44,20 @@ </property> </widget> </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>QoS:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="labelQoS"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> </layout> </item> <item> |