X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=HomeScreen%2Fsrc2%2Fusermanagement.cpp;fp=HomeScreen%2Fsrc2%2Fusermanagement.cpp;h=23550e47fab7a7784f86da4443b48a33a03dbc79;hb=e64b4751e3a6fc70b7a83c6aae2cd180a4284807;hp=f22ae2ff97eb087d89b4d95904a8fa8df7b7d112;hpb=a523ed5e0691c548af8f787dc37f04be0db52d84;p=staging%2FHomeScreen.git diff --git a/HomeScreen/src2/usermanagement.cpp b/HomeScreen/src2/usermanagement.cpp index f22ae2f..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,8 +26,11 @@ 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)); @@ -35,7 +41,16 @@ void UserManagement::setUser(const User &user) 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 @@ -82,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";