From 5714ae44456bc26ea28fdbae4c5fab989356a31f Mon Sep 17 00:00:00 2001
From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com>
Date: Wed, 7 Sep 2016 15:51:41 -0400
Subject: [PATCH] connectivity: monitor changes

Reload accounts when network changes

Change-Id: Id5f19a0974ab45c96eadc2a87615d95d0cce4b17
Tuleap: #1011
---
 RingWinClient.pro | 5 +++--
 mainwindow.cpp    | 6 ++++++
 mainwindow.h      | 2 ++
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/RingWinClient.pro b/RingWinClient.pro
index 1acfc1f..c1cb633 100644
--- a/RingWinClient.pro
+++ b/RingWinClient.pro
@@ -6,7 +6,7 @@
 
 QT       += core gui
 
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets svg xml
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets svg xml network
 
 win32: QT += winextras
 
@@ -227,7 +227,8 @@ win32 {
 
     QTRUNTIME.files = $$RUNTIMEDIR/Qt5Core.dll $$RUNTIMEDIR/Qt5Widgets.dll \
                             $$RUNTIMEDIR/Qt5Gui.dll $$RUNTIMEDIR/Qt5Svg.dll \
-                            $$RUNTIMEDIR/Qt5Xml.dll $$RUNTIMEDIR/Qt5WinExtras.dll
+                            $$RUNTIMEDIR/Qt5Xml.dll $$RUNTIMEDIR/Qt5WinExtras.dll \
+                            $$RUNTIMEDIR/Qt5Network.dll
     QTRUNTIME.path = $$OUT_PWD/release
 
     QTDEPSRUNTIME.files = $$RUNTIMEDIR/zlib1.dll \
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 0e034c3..ee86312 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -120,6 +120,12 @@ MainWindow::MainWindow(QWidget* parent) :
         settings.setValue(SettingsKey::enableNotifications, true);
     }
     connect(&GlobalSystemTray::instance(), SIGNAL(messageClicked()), this, SLOT(notificationClicked()));
+
+    connect(&netManager_, &QNetworkConfigurationManager::onlineStateChanged, [=](bool online) {
+        Q_UNUSED(online)
+        AccountModel::instance().slotConnectivityChanged();
+    });
+
 }
 
 MainWindow::~MainWindow()
diff --git a/mainwindow.h b/mainwindow.h
index dafad35..7eecdee 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -22,6 +22,7 @@
 
 #include <QMainWindow>
 #include <QMouseEvent>
+#include <QNetworkConfigurationManager>
 
 #include "navstack.h"
 
@@ -60,4 +61,5 @@ private:
      ~MainWindow();
     Ui::MainWindow* ui;
     NavStack* navStack_;
+    QNetworkConfigurationManager netManager_;
 };
-- 
GitLab