summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mobile-widgets/qmlmanager.cpp20
-rw-r--r--mobile-widgets/qmlmanager.h11
2 files changed, 31 insertions, 0 deletions
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 4d2999049..f10564a94 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -89,6 +89,18 @@ QMLManager::QMLManager() : m_locationServiceEnabled(false),
m_credentialStatus(UNKNOWN),
alreadySaving(false)
{
+#if BT_SUPPORT
+ if (localBtDevice.isValid()) {
+ localBtDevice.powerOn();
+ QString localDeviceName = "localDevice " + localBtDevice.name() + " is valid, starting discovery";
+ appendTextToLog(localDeviceName.toUtf8().data());
+ discoveryAgent = new QBluetoothDeviceDiscoveryAgent(this);
+ connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered, this, &QMLManager::btDeviceDiscovered);
+ discoveryAgent->start();
+ } else {
+ appendTextToLog("localBtDevice isn't valid");
+ }
+#endif
m_instance = this;
m_lastDevicePixelRatio = qApp->devicePixelRatio();
connect(qobject_cast<QApplication *>(QApplication::instance()), &QApplication::applicationStateChanged, this, &QMLManager::applicationStateChanged);
@@ -191,6 +203,14 @@ void QMLManager::mergeLocalRepo()
process_dives(true, false);
}
+#if BT_SUPPORT
+void QMLManager::btDeviceDiscovered(const QBluetoothDeviceInfo &device)
+{
+ QString newDevice = "Found new device " + device.name() + " (" + device.address().toString() + ")";
+ appendTextToLog(newDevice);
+}
+#endif
+
void QMLManager::finishSetup()
{
// Initialize cloud credentials.
diff --git a/mobile-widgets/qmlmanager.h b/mobile-widgets/qmlmanager.h
index db170704b..16085dc44 100644
--- a/mobile-widgets/qmlmanager.h
+++ b/mobile-widgets/qmlmanager.h
@@ -7,6 +7,10 @@
#include <QNetworkAccessManager>
#include <QScreen>
#include <QElapsedTimer>
+#if BT_SUPPORT
+#include <QBluetoothLocalDevice>
+#include <QBluetoothDeviceDiscoveryAgent>
+#endif
#include "core/gpslocation.h"
#include "qt-models/divelistmodel.h"
@@ -114,6 +118,9 @@ public:
bool showPin() const;
void setShowPin(bool enable);
Q_INVOKABLE QStringList getDCListFromVendor(const QString& vendor);
+#if BT_SUPPORT
+ void btDeviceDiscovered(const QBluetoothDeviceInfo &device);
+#endif
public slots:
void applicationStateChanged(Qt::ApplicationState state);
@@ -196,6 +203,10 @@ private:
bool checkDepth(DiveObjectHelper *myDive, struct dive *d, QString depth);
bool currentGitLocalOnly;
bool m_showPin;
+#if BT_SUPPORT
+ QBluetoothLocalDevice localBtDevice;
+ QBluetoothDeviceDiscoveryAgent *discoveryAgent;
+#endif
signals:
void cloudUserNameChanged();