on xenial help sign in
Use ubuntu::connectivity::NetworkingStatus instead of QNetworkConfigurationManager

Seems to pull less code to the binary

commit29af9e58de64ecd1b83663fb43e83bd70132ba39 authorAlbert Astals <albert.astals@canonical.com> dateMon 27 Oct 2014, 10:40 (12 years ago) parent1ff2631
5 files changed+11−17
debian/control+1 src/CMakeLists.txt+4−1 src/CachingNetworkManagerFactory.cpp+2−11 src/CachingNetworkManagerFactory.h+3−4 src/Dash/CMakeLists.txt+1−1
debian/control+1
@@ -12,6 +12,7 @@ Build-Depends: cmake,
1212# in libstdc++ causing us issues, we explicitly select a G++
1313# version.
1414 g++-4.9,
15+ libconnectivity-qt1-dev,
1516 libdee-qt5-dev (>= 3.2),
1617 libgl1-mesa-dev[!armhf] | libgl-dev[!armhf],
1718 libgl1-mesa-dri,
src/CMakeLists.txt+4−1
@@ -1,6 +1,9 @@
1+pkg_check_modules(CONNECTIVITY REQUIRED connectivity-qt1)
2+
13include_directories(
24 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
35 ${CMAKE_SOURCE_DIR}/libs/UbuntuGestures
6+ ${CONNECTIVITY_INCLUDE_DIRS}
47)
58
69file(GLOB_RECURSE QML_FILES
@@ -30,7 +33,7 @@ if (NOT "${XCB_INCLUDE_DIRS}" STREQUAL "")
3033 target_link_libraries(${SHELL_APP} ${XCB_LDFLAGS})
3134endif()
3235
33−target_link_libraries(${SHELL_APP} UbuntuGestures)
36+target_link_libraries(${SHELL_APP} UbuntuGestures connectivity-qt1)
3437
3538# For it to find libUbuntuGestures.so
3639set_target_properties(${SHELL_APP} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
src/CachingNetworkManagerFactory.cpp+2−11
@@ -20,25 +20,16 @@
2020#include <QNetworkDiskCache>
2121#include <QNetworkAccessManager>
2222#include <QStandardPaths>
23−#include <QNetworkConfigurationManager>
2423
2524CachingNetworkAccessManager::CachingNetworkAccessManager(QObject *parent)
2625 : QNetworkAccessManager(parent)
2726{
28− m_networkManager = new QNetworkConfigurationManager(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;
27+ m_networkingStatus = new ubuntu::connectivity::NetworkingStatus(this);
3728}
3829
3930QNetworkReply* CachingNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
4031{
41− if (!m_isOnline) {
32+ if (m_networkingStatus->status() != ubuntu::connectivity::NetworkingStatus::Status::Online) {
4233 QNetworkRequest req(request);
4334 req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache);
4435 return QNetworkAccessManager::createRequest(op, req, outgoingData);
src/CachingNetworkManagerFactory.h+3−4
@@ -21,7 +21,7 @@
2121#include <QQmlNetworkAccessManagerFactory>
2222#include <QNetworkAccessManager>
2323
24−class QNetworkConfigurationManager;
24+#include <ubuntu/connectivity/networking-status.h>
2525
2626class CachingNetworkAccessManager : public QNetworkAccessManager
2727{
@@ -32,11 +32,10 @@ protected:
3232 QNetworkReply* createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0) override;
3333
3434private Q_SLOTS:
35− void onlineStateChanged(bool isOnline);
35+ void onlineStatusChanged(ubuntu::connectivity::NetworkingStatus::Status status);
3636
3737private:
38− QNetworkConfigurationManager* m_networkManager;
39− bool m_isOnline;
38+ ubuntu::connectivity::NetworkingStatus* m_networkingStatus;
4039};
4140
4241class CachingNetworkManagerFactory : public QQmlNetworkAccessManagerFactory
src/Dash/CMakeLists.txt+1−1
@@ -12,7 +12,7 @@ qt5_use_modules(unity8-dash Gui Qml Quick Test)
1212# For it to find libUbuntuGestures.so, needed by Ubuntu.Gestures QML module.
1313set_target_properties(unity8-dash PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
1414
15−target_link_libraries(unity8-dash UbuntuGestures)
15+target_link_libraries(unity8-dash UbuntuGestures connectivity-qt1)
1616
1717set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
1818