on xenial help sign in
Use ubuntu::connectivity::NetworkingStatus instead of QNetworkConfigurationManager
3a5de52Albert Astals
debian/control+1
@@ -12,6 +12,7 @@ Build-Depends: cmake,
12# in libstdc++ causing us issues, we explicitly select a G++
12# in libstdc++ causing us issues, we explicitly select a G++
13# version.
13# version.
14 g++-4.9,
14 g++-4.9,
15+ libconnectivity-qt1-dev,
15 libgl1-mesa-dev[!armhf] | libgl-dev[!armhf],
16 libgl1-mesa-dev[!armhf] | libgl-dev[!armhf],
16 libgl1-mesa-dri,
17 libgl1-mesa-dri,
17 libgles2-mesa-dev[armhf],
18 libgles2-mesa-dev[armhf],
src/CMakeLists.txt+4−1
@@ -1,6 +1,9 @@
1+pkg_check_modules(CONNECTIVITY REQUIRED connectivity-qt1)
2+
1include_directories(
3include_directories(
2 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
4 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
3 ${CMAKE_SOURCE_DIR}/libs/UbuntuGestures
5 ${CMAKE_SOURCE_DIR}/libs/UbuntuGestures
6+ ${CONNECTIVITY_INCLUDE_DIRS}
4)
7)
5
8
6file(GLOB_RECURSE QML_FILES
9file(GLOB_RECURSE QML_FILES
@@ -30,7 +33,7 @@ if (NOT "${XCB_INCLUDE_DIRS}" STREQUAL "")
30 target_link_libraries(${SHELL_APP} ${XCB_LDFLAGS})
33 target_link_libraries(${SHELL_APP} ${XCB_LDFLAGS})
31endif()
34endif()
32
35
33−target_link_libraries(${SHELL_APP} UbuntuGestures)
36+target_link_libraries(${SHELL_APP} UbuntuGestures connectivity-qt1)
34
37
35# For it to find libUbuntuGestures.so
38# For it to find libUbuntuGestures.so
36set_target_properties(${SHELL_APP} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
39set_target_properties(${SHELL_APP} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
src/CachingNetworkManagerFactory.cpp+2−11
@@ -20,25 +20,16 @@
20#include <QNetworkDiskCache>
20#include <QNetworkDiskCache>
21#include <QNetworkAccessManager>
21#include <QNetworkAccessManager>
22#include <QStandardPaths>
22#include <QStandardPaths>
23−#include <QNetworkConfigurationManager>
24
23
25CachingNetworkAccessManager::CachingNetworkAccessManager(QObject *parent)
24CachingNetworkAccessManager::CachingNetworkAccessManager(QObject *parent)
26 : QNetworkAccessManager(parent)
25 : QNetworkAccessManager(parent)
27{
26{
28− m_networkManager = new QNetworkConfigurationManager(this);
27+ m_networkingStatus = new ubuntu::connectivity::NetworkingStatus(this);
29−
30− QObject::connect(m_networkManager, &QNetworkConfigurationManager::onlineStateChanged, this, &CachingNetworkAccessManager::onlineStateChanged);
31− m_isOnline = m_networkManager->isOnline();
32−}
33−
34−void CachingNetworkAccessManager::onlineStateChanged(bool isOnline)
35−{
36− m_isOnline = isOnline;
37}
28}
38
29
39QNetworkReply* CachingNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
30QNetworkReply* CachingNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
40{
31{
41− if (!m_isOnline) {
32+ if (m_networkingStatus->status() != ubuntu::connectivity::NetworkingStatus::Status::Online) {
42 QNetworkRequest req(request);
33 QNetworkRequest req(request);
43 req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache);
34 req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache);
44 return QNetworkAccessManager::createRequest(op, req, outgoingData);
35 return QNetworkAccessManager::createRequest(op, req, outgoingData);
src/CachingNetworkManagerFactory.h+2−6
@@ -21,7 +21,7 @@
21#include <QQmlNetworkAccessManagerFactory>
21#include <QQmlNetworkAccessManagerFactory>
22#include <QNetworkAccessManager>
22#include <QNetworkAccessManager>
23
23
24−class QNetworkConfigurationManager;
24+#include <ubuntu/connectivity/networking-status.h>
25
25
26class CachingNetworkAccessManager : public QNetworkAccessManager
26class CachingNetworkAccessManager : public QNetworkAccessManager
27{
27{
@@ -31,12 +31,8 @@ public:
31protected:
31protected:
32 QNetworkReply* createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0) override;
32 QNetworkReply* createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0) override;
33
33
34−private Q_SLOTS:
35− void onlineStateChanged(bool isOnline);
36−
37private:
34private:
38− QNetworkConfigurationManager* m_networkManager;
35+ ubuntu::connectivity::NetworkingStatus* m_networkingStatus;
39− bool m_isOnline;
40};
36};
41
37
42class CachingNetworkManagerFactory : public QQmlNetworkAccessManagerFactory
38class CachingNetworkManagerFactory : public QQmlNetworkAccessManagerFactory
src/Dash/CMakeLists.txt+1−1
@@ -12,7 +12,7 @@ qt5_use_modules(unity8-dash Gui Qml Quick Test)
12# For it to find libUbuntuGestures.so, needed by Ubuntu.Gestures QML module.
12# For it to find libUbuntuGestures.so, needed by Ubuntu.Gestures QML module.
13set_target_properties(unity8-dash PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
13set_target_properties(unity8-dash PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
14
14
15−target_link_libraries(unity8-dash UbuntuGestures)
15+target_link_libraries(unity8-dash UbuntuGestures connectivity-qt1)
16
16
17set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
17set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
18
18