From 76f6a3fddae6951c62d4b0f5a5d5b80be94b1566 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 31 Aug 2018 16:32:27 +0200 Subject: [PATCH] Use OpenSSL --- CMakeLists.txt | 3 ++- accelbubble.pro | 2 +- accelbubble.qml | 11 ++++++++--- main.cpp | 22 +++++++++++++++++++++- 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d2723d2..614f00e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,9 +4,10 @@ set(CMAKE_AUTORCC ON) find_package(Qt5Core) find_package(Qt5Quick) +find_package(Qt5Network) find_package(Qt5Sensors) find_package(Qt5Svg) find_package(Qt5Xml) add_executable(accelbubble main.cpp accelbubble.qrc) -target_link_libraries(accelbubble Qt5::Quick Qt5::Sensors Qt5::Svg Qt5::Xml) +target_link_libraries(accelbubble Qt5::Network Qt5::Quick Qt5::Sensors Qt5::Svg Qt5::Xml) diff --git a/accelbubble.pro b/accelbubble.pro index d3b20a9..39941b0 100644 --- a/accelbubble.pro +++ b/accelbubble.pro @@ -1,6 +1,6 @@ TEMPLATE = app TARGET = accelbubble -QT += quick sensors svg xml +QT += network quick sensors svg xml SOURCES = main.cpp RESOURCES += \ diff --git a/accelbubble.qml b/accelbubble.qml index c2cfd73..511edac 100644 --- a/accelbubble.qml +++ b/accelbubble.qml @@ -48,8 +48,8 @@ ** ****************************************************************************/ - import QtQuick 2.1 +import QtQuick.Layouts 1.3 import QtQuick.Controls 2.4 import org.kde.kirigami 2.4 as Kirigami @@ -74,8 +74,13 @@ Kirigami.ApplicationWindow { title: mainWindow.title } - Label { - text: "Using QQC2 and Kirigami" + ColumnLayout { + Label { + text: "Using QQC2 and Kirigami" + } + Label { + text: "IP-Address: " + ipAddr + } } //! [1] diff --git a/main.cpp b/main.cpp index e7ccc07..a5e61cc 100644 --- a/main.cpp +++ b/main.cpp @@ -51,11 +51,31 @@ #include #include +#include +#include +#include + +void ignoreSslErrors(QNetworkReply *reply, const QList &errors) +{ + reply->ignoreSslErrors(errors); +} int main(int argc, char *argv[]) { QGuiApplication app(argc,argv); - QQmlApplicationEngine engine(QUrl("qrc:///accelbubble.qml")); + + QNetworkAccessManager networkAccessManager; + QObject::connect(&networkAccessManager, &QNetworkAccessManager::sslErrors, &ignoreSslErrors); + auto *const reply = networkAccessManager.get(QNetworkRequest(QUrl(QStringLiteral("https://192.168.2.2/website/ip.php")))); + + QQmlApplicationEngine engine; + QQmlContext *const context(engine.rootContext()); + + QObject::connect(reply, &QNetworkReply::finished, [&] { + const auto ipAddr(QString::fromUtf8(reply->readAll())); + context->setContextProperty(QStringLiteral("ipAddr"), ipAddr); + engine.load(QUrl("qrc:///accelbubble.qml")); + }); return app.exec(); }