From 3b90fc6e1d569d568d4158aae700b077e2ad824b Mon Sep 17 00:00:00 2001 From: Philippe Lelong Date: Tue, 20 Dec 2016 10:19:29 +0100 Subject: [PATCH] Add logout button in home screen Signed-off-by: Philippe Lelong --- HomeScreen/qml/Home.qml | 38 ++++++++++++++++++++++++++++--- HomeScreen/qml/images/Home/Logout-01.png | Bin 0 -> 8868 bytes HomeScreen/qml/images/Home/home.qrc | 1 + HomeScreen/src2/usermanagement.cpp | 19 ++++++++++++++++ HomeScreen/src2/usermanagement.h | 1 + 5 files changed, 56 insertions(+), 3 deletions(-) create mode 100755 HomeScreen/qml/images/Home/Logout-01.png diff --git a/HomeScreen/qml/Home.qml b/HomeScreen/qml/Home.qml index 756efb9..ed0d949 100644 --- a/HomeScreen/qml/Home.qml +++ b/HomeScreen/qml/Home.qml @@ -24,6 +24,7 @@ Item { id: root property int pid: -1 signal languageChanged + signal disconnect Image { anchors.fill: parent @@ -82,14 +83,15 @@ Item { Text { id: helloText anchors.centerIn: parent - color: "white" - text: "No Authenticated User" + color: 'white' + text: 'No Authenticated User' font.pixelSize: 40 - font.family: "Roboto" + font.family: 'Roboto' SequentialAnimation on font.letterSpacing { id: animation1 loops: 1; NumberAnimation { from: 0; to: 50; easing.type: Easing.InQuad; duration: 3000 } + running: false onRunningChanged: { if(running) { hello.visible = true @@ -103,6 +105,7 @@ Item { SequentialAnimation on opacity { id: animation2 loops: 1; + running: false NumberAnimation { from: 1; to: 0; duration: 2600 } PauseAnimation { duration: 400 } } @@ -176,4 +179,33 @@ Item { } } } + Image { + id: logout + width: sourceSize.width + height: sourceSize.height + anchors.bottom: parent.bottom + anchors.right: parent.right + anchors.bottomMargin: 10 + anchors.rightMargin: 20 + source: './images/Logout-01.png' + visible: true + MouseArea { + anchors.fill: parent + onClicked: { + rotateLogout.start() + disconnect() + helloText.text= 'No Authenticated User' + + } + } + RotationAnimator { + id: rotateLogout + target: logout; + from: 0; + to: 360; + loops: 1 + duration: 500 + running: false + } + } } diff --git a/HomeScreen/qml/images/Home/Logout-01.png b/HomeScreen/qml/images/Home/Logout-01.png new file mode 100755 index 0000000000000000000000000000000000000000..01835655576498e4313984981d2befd8e7a0cd5e GIT binary patch literal 8868 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 literal 0 HcmV?d00001 diff --git a/HomeScreen/qml/images/Home/home.qrc b/HomeScreen/qml/images/Home/home.qrc index 8bef69d..a9d1dc3 100644 --- a/HomeScreen/qml/images/Home/home.qrc +++ b/HomeScreen/qml/images/Home/home.qrc @@ -23,5 +23,6 @@ visa.png french_flag.png us_flag.png + Logout-01.png diff --git a/HomeScreen/src2/usermanagement.cpp b/HomeScreen/src2/usermanagement.cpp index 23550e4..5daa1f5 100644 --- a/HomeScreen/src2/usermanagement.cpp +++ b/HomeScreen/src2/usermanagement.cpp @@ -5,6 +5,8 @@ UserManagement::UserManagement(QObject *root) : QObject() { home = root->findChild("Home"); + QObject::connect(home, SIGNAL(disconnect()), + this, SLOT(slot_disconnect())); logo = root->findChild("Logo_colour"); shortcutArea = root->findChild("ShortcutArea"); statusArea = root->findChild("StatusArea"); @@ -24,6 +26,19 @@ UserManagement::UserManagement(QObject *root) : QObject() launchServer(); #endif } +void UserManagement::slot_disconnect() +{ + appModel->changeOrder(-1); + timerRed.stop(); + slot_turnOffRed(); + QMetaObject::invokeMethod(home, "languageChanged"); + QMetaObject::invokeMethod(shortcutArea, "languageChanged", Q_ARG(QVariant, "en")); + QMetaObject::invokeMethod(statusArea, "languageChanged", Q_ARG(QVariant, "en")); + QMetaObject::invokeMethod(home, "showSign90", Q_ARG(QVariant, false)); + QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, false), Q_ARG(QVariant, "")); + QMetaObject::invokeMethod(home, "changeFlag", Q_ARG(QVariant, "./images/us_flag.png")); +} + void UserManagement::setUser(const User &user) { int hash = qHash(user.name + user.first_name); @@ -293,6 +308,10 @@ void UserManagement::slot_timerTest() { if(!pSocket) return; + if(sequence > 3) { + timerTest.stop(); + return; + } pSocket->sendTextMessage("[5,\"agl-identity-agent/event\",{\"event\":\"agl-identity-agent\/event\",\"data\":{\"eventName\":\"incoming\",\"accountid\":\"D2:D4:71:0D:B5:F1\",\"nickname\":\"D2:D4:71:0D:B5:F1\"},\"jtype\":\"afb-event\"}]"); pSocket->sendTextMessage("[5,\"agl-identity-agent/event\",{\"event\":\"agl-identity-agent\/event\",\"data\":{\"eventName\":\"login\",\"accountid\":\"null\"},\"jtype\":\"afb-event\"}]"); } diff --git a/HomeScreen/src2/usermanagement.h b/HomeScreen/src2/usermanagement.h index 085549d..b374719 100644 --- a/HomeScreen/src2/usermanagement.h +++ b/HomeScreen/src2/usermanagement.h @@ -62,6 +62,7 @@ public slots: void slot_timerTest(); #endif void slot_turnOffRed(); + void slot_disconnect(); private: QObject *home; QObject *shortcutArea; -- 2.16.6