X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=HomeScreen%2Fsrc2%2Fusermanagement.cpp;h=23550e47fab7a7784f86da4443b48a33a03dbc79;hb=e64b4751e3a6fc70b7a83c6aae2cd180a4284807;hp=54aff23a7d655f34b8a2463a55b4f9dde1bc0232;hpb=66263b2c54d6f34ed57eb422fc51ad80c6f1cc30;p=staging%2FHomeScreen.git diff --git a/HomeScreen/src2/usermanagement.cpp b/HomeScreen/src2/usermanagement.cpp index 54aff23..23550e4 100644 --- a/HomeScreen/src2/usermanagement.cpp +++ b/HomeScreen/src2/usermanagement.cpp @@ -1,5 +1,4 @@ #include "usermanagement.h" -#include #include #include #include @@ -11,6 +10,10 @@ UserManagement::UserManagement(QObject *root) : QObject() statusArea = root->findChild("StatusArea"); this->appModel = home->findChild("ApplicationModel"); sequence = 0; + isRed = false; + connect(&timerRed, SIGNAL(timeout()), this, SLOT(slot_turnOffRed())); + timerRed.setSingleShot(true); + timerRed.setInterval(3000); #ifdef REAL_SERVER connectWebsockets(); #else @@ -23,16 +26,31 @@ UserManagement::UserManagement(QObject *root) : QObject() } void UserManagement::setUser(const User &user) { + int hash = qHash(user.name + user.first_name); + timerRed.stop(); appModel->changeLanguage(user.graphPreferredLanguage); - QMetaObject::invokeMethod(logo, "setImage", Q_ARG(QVariant, "./images/Utility_Logo_Colour-01.png")); + appModel->changeOrder(hash); + slot_turnOffRed(); QMetaObject::invokeMethod(home, "languageChanged"); QMetaObject::invokeMethod(shortcutArea, "languageChanged", Q_ARG(QVariant, user.graphPreferredLanguage)); QMetaObject::invokeMethod(statusArea, "languageChanged", Q_ARG(QVariant, user.graphPreferredLanguage)); - QMetaObject::invokeMethod(home, "showSign90", Q_ARG(QVariant, true)); - QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, true), Q_ARG(QVariant, "---- ---- ---- " + user.ccNumberMasked)); + QMetaObject::invokeMethod(home, "showSign90", Q_ARG(QVariant, !user.graphActions.contains("Exceed 100 Kph"))); + if(user.ccNumberMasked.isEmpty()) + QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, false), Q_ARG(QVariant, "")); + else + QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, true), Q_ARG(QVariant, user.ccNumberMasked)); const QString welcome = QString("%1").arg(user.graphPreferredLanguage == "fr" ? "Bonjour " : "Hello") + " "; QMetaObject::invokeMethod(home, "showHello", Q_ARG(QVariant, welcome + user.first_name)); + QMetaObject::invokeMethod(home, "changeFlag", Q_ARG(QVariant, user.graphPreferredLanguage == "fr" ? "./images/french_flag.png" : "./images/us_flag.png")); +} +void UserManagement::slot_turnOffRed() +{ + if(!isRed) + return; + QMetaObject::invokeMethod(logo, "setImage", Q_ARG(QVariant, "./images/Utility_Logo_Colour-01.png")); + isRed = false; } + void UserManagement::connectWebsockets() { #ifdef REAL_SERVER @@ -79,7 +97,10 @@ void UserManagement::onTextMessageReceived(QString message) } QVariantMap map = list.at(2).toMap(); if(list.first().toInt() == 5) { - QMetaObject::invokeMethod(logo, "setImage", Q_ARG(QVariant, "./images/Utility_Logo_Red-01.png")); + if(!isRed) + QMetaObject::invokeMethod(logo, "setImage", Q_ARG(QVariant, "./images/Utility_Logo_Red-01.png")); + isRed = true; + timerRed.start(); map = map["data"].toMap(); if(map["eventName"].toString() == "login") { //qWarning()<<"login received in client"; @@ -102,6 +123,7 @@ void UserManagement::onTextMessageReceived(QString message) user.loc.setX(temp.at(0).toDouble()); user.loc.setY(temp.at(1).toDouble()); } + user.graphActions = map["graphActions"].toString().split(","); user.country = map["country"].toString(); user.mail = map["mail"].toString(); user.city = map["city"].toString(); @@ -200,7 +222,7 @@ void UserManagement::onServerNewConnection() } void UserManagement::processTextMessage(QString message) { - QString clientDetails_1 = "{\"postal_address\":\"201 Mission Street\",\"loc\":\"37.7914374,-122.3950694\"" + QString clientDetails_1 = "{\"postal_address\":\"201 Mission Street\",\"loc\":\"37.7914374,-122.3950694\",\"graphActions\":\"Install App,Update Software,Exceed 100 Kph,Open Trunk,View Online\"" ",\"country\":\"USA\",\"mail\":\"bjensen@example.com\",\"city\":\"San Francisco\",\"graphEmail\":" "\"bjensen@example.com\",\"graphPreferredLanguage\":\"en\",\"ccNumberMasked\":\"-111\",\"ccExpYear\"" ":\"19\",\"ccExpMonth\":\"01\",\"description\":\"Original description\",\"groups\":[],\"last_name\":\""