summaryrefslogtreecommitdiffstats
path: root/examples/bluetooth/btchat
diff options
context:
space:
mode:
authorAndreas Buhr <andreas@andreasbuhr.de>2021-02-09 19:26:33 +0100
committerAndreas Buhr <andreas@andreasbuhr.de>2021-02-12 16:53:26 +0100
commit3f4d3476d870c06b6c5b93a6fc909a1c9a0e2edc (patch)
tree5c4bb5db9b78233046830d2844c8bf9e13af180a /examples/bluetooth/btchat
parent0961f042ee42f00152b7fea3f7b9e8d1727272cf (diff)
Adapt btchat example for Android
The btchat example was unusable on Android because QListWidget:: itemActivated had to be triggered to select a partner to chat with. This is impossible on Android. This patch adds a QPushButton to confirm the chat partner. Change-Id: I3abb4eb35a983202dc6a7a551419b1c4ba1cfd51 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'examples/bluetooth/btchat')
-rw-r--r--examples/bluetooth/btchat/remoteselector.cpp19
-rw-r--r--examples/bluetooth/btchat/remoteselector.h2
-rw-r--r--examples/bluetooth/btchat/remoteselector.ui10
3 files changed, 30 insertions, 1 deletions
diff --git a/examples/bluetooth/btchat/remoteselector.cpp b/examples/bluetooth/btchat/remoteselector.cpp
index ec5d207c..4257e90b 100644
--- a/examples/bluetooth/btchat/remoteselector.cpp
+++ b/examples/bluetooth/btchat/remoteselector.cpp
@@ -141,7 +141,6 @@ void RemoteSelector::discoveryFinished()
void RemoteSelector::on_remoteDevices_itemActivated(QListWidgetItem *item)
{
- qDebug() << "got click" << item->text();
m_service = m_discoveredServices.value(item);
if (m_discoveryAgent->isActive())
m_discoveryAgent->stop();
@@ -149,6 +148,24 @@ void RemoteSelector::on_remoteDevices_itemActivated(QListWidgetItem *item)
accept();
}
+void RemoteSelector::on_remoteDevices_itemClicked(QListWidgetItem *)
+{
+ ui->connectButton->setEnabled(true);
+}
+
+void RemoteSelector::on_connectButton_clicked()
+{
+ auto items = ui->remoteDevices->selectedItems();
+ if (items.size()) {
+ QListWidgetItem *item = items[0];
+ m_service = m_discoveredServices.value(item);
+ if (m_discoveryAgent->isActive())
+ m_discoveryAgent->stop();
+
+ accept();
+ }
+}
+
void RemoteSelector::on_cancelButton_clicked()
{
reject();
diff --git a/examples/bluetooth/btchat/remoteselector.h b/examples/bluetooth/btchat/remoteselector.h
index 54649ba9..d5de3492 100644
--- a/examples/bluetooth/btchat/remoteselector.h
+++ b/examples/bluetooth/btchat/remoteselector.h
@@ -91,7 +91,9 @@ private slots:
void serviceDiscovered(const QBluetoothServiceInfo &serviceInfo);
void discoveryFinished();
void on_remoteDevices_itemActivated(QListWidgetItem *item);
+ void on_remoteDevices_itemClicked(QListWidgetItem *item);
void on_cancelButton_clicked();
+ void on_connectButton_clicked();
};
#endif // REMOTESELECTOR_H
diff --git a/examples/bluetooth/btchat/remoteselector.ui b/examples/bluetooth/btchat/remoteselector.ui
index d415f416..108ae885 100644
--- a/examples/bluetooth/btchat/remoteselector.ui
+++ b/examples/bluetooth/btchat/remoteselector.ui
@@ -25,6 +25,16 @@
<widget class="QListWidget" name="remoteDevices"/>
</item>
<item>
+ <widget class="QPushButton" name="connectButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Connect</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QPushButton" name="cancelButton">
<property name="text">
<string>Cancel</string>