#include "formuser.h" #include "ui_formuser.h" FormUser::FormUser(QWidget *parent) : QWidget(parent), ui(new Ui::FormUser) { ui->setupUi(this); ui->gridLayout->addWidget(&formLogon, 0,0,1,1); ui->gridLayout->addWidget(&formEditUserInfo, 0,1,1,1); ui->gridLayout->addWidget(&formMfFee, 1,0,1,2); ui->gridLayout->addWidget(&formSrvInfo, 2,0,1,2); ui->gridLayout->addWidget(&formSSOWelcome, 0,2,3,1); formSSOWelcome.setNoticeUrl("http://www.baidu.com/img/baidu_jgylogo3.gif"); connect(&formSSOWelcome,SIGNAL(needShowLoginDialog()),this,SLOT(onNeedShowLoginDialog())); connect(&formSrvInfo,SIGNAL(updateMingYuanAccount(QMap)),SLOT(onMingyuan(QMap))); connect(&formSrvInfo,SIGNAL(updateShunShiAccount(QMap)),SLOT(onShunshi(QMap))); showSSOWelcome(); heartBeat = new HeartBeat(""); connect(heartBeat,SIGNAL(multiLogin()),this,SLOT(onMultiLogin())); } FormUser::~FormUser() { delete ui; if(heartBeat) { heartBeat->abort(); heartBeat->wait(); delete heartBeat; } qDebug()< info) { formLogon.setAccountInfo(info); formEditUserInfo.setUserHash(info.value("userhash")); formSrvInfo.setUserHash(info.value("userhash")); formMfFee.setUserHash(info.value("userhash")); heartBeat->setUserHash(info.value("userhash")); if(heartBeat->isFinished()) heartBeat->start(); else { heartBeat->abort(); heartBeat->wait(); heartBeat->start(); } showSSOLoginSucceed(); } void FormUser::resetAccountInfo() { formEditUserInfo.setUserHash(""); formSrvInfo.setUserHash(""); formMfFee.setUserHash(""); QMap info; formLogon.setAccountInfo(info); heartBeat->abort(); heartBeat->setUserHash(""); } void FormUser::refreshSrvInfo() { formSrvInfo.refreshSrvInfo(); } void FormUser::showSSOWelcome() { formLogon.show(); formEditUserInfo.show(); formSrvInfo.show(); formSSOWelcome.show(); } void FormUser::showSSOLoginSucceed() { formLogon.show(); formEditUserInfo.show(); formSrvInfo.show(); formSSOWelcome.show(); } void FormUser::onNeedShowLoginDialog() { emit needShowLoginDialog(); } void FormUser::onShunshi(QMap info) { emit updateShunShiAccount(info); } void FormUser::onMingyuan(QMap info) { emit updateMingYuanAccount(info); } void FormUser::onMultiLogin() { QMessageBox::critical(this,"提示","您的账号已经在别处登录,系统自动下线,请重新登录!",QMessageBox::Ok); emit needLogout(); }