diff options
-rw-r--r-- | mobile-widgets/qmlmanager.cpp | 20 | ||||
-rw-r--r-- | mobile-widgets/qmlmanager.h | 11 |
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(); |