diff --git a/src/mainapplication.cpp b/src/mainapplication.cpp index cf7f7cbb257dc2bdfe87bda9775f1a6480c463bc..dc93b6b01330ede99261a0cdbe630dcf0e24fa60 100644 --- a/src/mainapplication.cpp +++ b/src/mainapplication.cpp @@ -133,6 +133,7 @@ MainApplication::init() GlobalInstances::setPixmapManipulator(std::make_unique<PixbufManipulator>()); initLrc(); + initConnectivityMonitor(); bool startMinimized {false}; parseArguments(startMinimized); @@ -208,6 +209,17 @@ MainApplication::initLrc() LRCInstance::getAPI().holdConferences = false; } +void +MainApplication::initConnectivityMonitor() +{ +#ifdef Q_OS_WIN + connectivityMonitor_.reset(new ConnectivityMonitor(this)); + connect(connectivityMonitor_.get(), &ConnectivityMonitor::connectivityChanged, [this] { + LRCInstance::connectivityChanged(); + }); +#endif // Q_OS_WIN +} + void MainApplication::parseArguments(bool& startMinimized) { diff --git a/src/mainapplication.h b/src/mainapplication.h index 95e656b1815a195d166e360a8ed501a21811a294..fd72c947bd650c882a4ac12029a26ad19705ddf1 100644 --- a/src/mainapplication.h +++ b/src/mainapplication.h @@ -20,6 +20,8 @@ #pragma once +#include "connectivitymonitor.h" + #include <QFile> #include <QApplication> #include <QQmlApplicationEngine> @@ -40,6 +42,7 @@ public: private: void loadTranslations(); void initLrc(); + void initConnectivityMonitor(); void parseArguments(bool& startMinimized); void setApplicationFont(); void initQmlEngine(); @@ -48,6 +51,9 @@ private: void cleanup(); private: +#ifdef Q_OS_WIN + QScopedPointer<ConnectivityMonitor> connectivityMonitor_; +#endif // Q_OS_WIN QScopedPointer<QFile> debugFile_; QQmlApplicationEngine* engine_; };