From: Philippe Lelong Date: Wed, 14 Dec 2016 15:56:14 +0000 (+0100) Subject: add visa card, start websocket inplementation X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2FHomeScreen.git;a=commitdiff_plain;h=29be7bef7c0bb700af8992c73ab7a3c6d1fbdfce add visa card, start websocket inplementation --- diff --git a/HomeScreen/HomeScreen.pro b/HomeScreen/HomeScreen.pro index ac4f2d2..2f08a0f 100644 --- a/HomeScreen/HomeScreen.pro +++ b/HomeScreen/HomeScreen.pro @@ -14,7 +14,7 @@ TEMPLATE = app TARGET = HomeScreen -QT = qml quick dbus +QT = qml quick widgets dbus websockets CONFIG += c++11 include(../interfaces/interfaces.pri) diff --git a/HomeScreen/qml/Home.qml b/HomeScreen/qml/Home.qml index a3603be..8753d29 100644 --- a/HomeScreen/qml/Home.qml +++ b/HomeScreen/qml/Home.qml @@ -41,6 +41,17 @@ Item { source: './images/B14-90.png' visible: false } + Image { + id: visa + width: 200 + height: 124 + anchors.right: parent.right + anchors.rightMargin: 20 + anchors.top: parent.top + anchors.topMargin: 20 + source: './images/visa.png' + visible: false + } Item { id: hello anchors.horizontalCenter: parent.horizontalCenter @@ -84,6 +95,9 @@ Item { sign90.visible = show } + function showVisa(show) { + visa.visible = show + } GridView { anchors.centerIn: parent width: cellHeight * 3 diff --git a/HomeScreen/qml/images/Home/home.qrc b/HomeScreen/qml/images/Home/home.qrc index 4a112ce..14e2828 100644 --- a/HomeScreen/qml/images/Home/home.qrc +++ b/HomeScreen/qml/images/Home/home.qrc @@ -20,5 +20,6 @@ HMI_AppLauncher_Settings_Active-01.png HMI_AppLauncher_Settings_Inactive-01.png B14-90.png + visa.png diff --git a/HomeScreen/qml/images/Home/visa.png b/HomeScreen/qml/images/Home/visa.png new file mode 100755 index 0000000..1c854bc Binary files /dev/null and b/HomeScreen/qml/images/Home/visa.png differ diff --git a/HomeScreen/src2/usermanagement.cpp b/HomeScreen/src2/usermanagement.cpp index bbbbac1..f973001 100644 --- a/HomeScreen/src2/usermanagement.cpp +++ b/HomeScreen/src2/usermanagement.cpp @@ -11,6 +11,7 @@ UserManagement::UserManagement(QObject *home, QObject *shortcutArea, QObject *st connect(&timerTest, SIGNAL(timeout()), this, SLOT(slot_timerTest())); timerTest.setSingleShot(false); timerTest.start(5000); + connectWebsockets(QStringLiteral("wss://echo.websocket.org")); } void UserManagement::slot_timerTest() { @@ -25,10 +26,37 @@ void UserManagement::slot_timerTest() if(currentLanguage == "fr") { QLocale::setDefault(QLocale("fr_FR")); QMetaObject::invokeMethod(home, "showSign90", Q_ARG(QVariant, true)); + QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, false)); QMetaObject::invokeMethod(home, "showHello", Q_ARG(QVariant, "Bonjour José!")); } else { QLocale::setDefault(QLocale("en_US")); QMetaObject::invokeMethod(home, "showSign90", Q_ARG(QVariant, false)); + QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, true)); QMetaObject::invokeMethod(home, "showHello", Q_ARG(QVariant, "Hello José!")); } } +void UserManagement::connectWebsockets(const QUrl &url) +{ + QSslConfiguration config = QSslConfiguration::defaultConfiguration(); + config.setProtocol(QSsl::SecureProtocols); + webSocket.setSslConfiguration(config); + connect(&webSocket, &QWebSocket::connected, this, &UserManagement::onConnected); + connect(&webSocket, &QWebSocket::disconnected, this, &UserManagement::onClosed); + webSocket.open(QUrl(url)); +} +void UserManagement::onConnected() +{ + connect(&webSocket, &QWebSocket::textMessageReceived, + this, &UserManagement::onTextMessageReceived); + webSocket.sendTextMessage(QStringLiteral("Hello, world!")); + +} +void UserManagement::onTextMessageReceived(QString message) +{ + qWarning()<<"message received:"< #include "applicationmodel.h" #include +#include class UserManagement : public QObject { Q_OBJECT @@ -14,6 +15,9 @@ signals: public slots: void slot_timerTest(); + void onConnected(); + void onClosed(); + void onTextMessageReceived(QString message); private: QObject *home; QObject *shortcutArea; @@ -21,6 +25,8 @@ private: ApplicationModel *appModel; QTimer timerTest; QString currentLanguage; + QWebSocket webSocket; + void connectWebsockets(const QUrl &url); }; #endif // USERMANAGEMENT_H