/** * \brief 检查离线成员状态,删除超时的,恢复上线的 * \param pUser 队长 */ void TeamManager::checkOffline(SceneUser *pUser) { CheckOfflineExec exec(pUser); team.execEvery(exec); if (!exec.del_vec.empty()) { for(CheckOfflineExec::Remove_vec_iterator del_iter=exec.del_vec.begin();del_iter != exec.del_vec.end();del_iter ++) { removeMember(&*del_iter); } exec.del_vec.clear(); if (getSize() == 1) { deleteTeam(); } } if (!exec.add_vec.empty()) { for(CheckOfflineExec::Online_vec_iterator add_iter=exec.add_vec.begin();add_iter !=exec.add_vec.end();add_iter ++) { SceneUser *tuser = SceneUserManager::getMe(). getUserByID(*add_iter); if (tuser) { addNewMember(pUser,tuser); } } exec.add_vec.clear(); } }
RegistrationApp::RegistrationApp(QWidget* parent) : m_team_table_wnd( new Ui::team_table_wnd ), m_user_table_wnd(new Ui::user_table_wnd), m_user_edit_wnd(new Ui::user_edit_wnd), m_sql(SqlUtil::getInstance()) { bool ok; QString text = QInputDialog::getText(this, tr("Database Directory"), tr("Database Path:"), QLineEdit::Normal, QDir::home().dirName(), &ok); if (!text.isEmpty()) m_sql.init(text); this->hide(); m_team_table_w = new QDialog(this); m_team_table_wnd->setupUi(m_team_table_w); m_team_table_w->show(); m_user_table_w = new QDialog(this); m_user_table_wnd->setupUi(m_user_table_w); m_user_table_w->hide(); m_user_edit_w = new QDialog(this); m_user_edit_wnd->setupUi(m_user_edit_w); m_user_edit_w->hide(); //network? //connecting stuff //connections for the buttons //team table connect(m_team_table_wnd->add_team_btn, SIGNAL(clicked()), this, SLOT(addTeam())); connect(m_team_table_wnd->team_edit_btn, SIGNAL(clicked()), this, SLOT(goToEditTeam())); connect(m_team_table_wnd->team_delete_btn, SIGNAL(clicked()), this, SLOT(deleteTeam())); //user table connect(m_user_table_wnd->edit_school_btn, SIGNAL(clicked()), this, SLOT(editTeamSchool())); connect(m_user_table_wnd->add_user_btn, SIGNAL(clicked()), this, SLOT(addUser())); connect(m_user_table_wnd->edit_user_btn, SIGNAL(clicked()), this, SLOT(editUser())); connect(m_user_table_wnd->delete_user_btn, SIGNAL(clicked()), this, SLOT(deleteUser())); connect(m_user_table_wnd->backtoteams_btn, SIGNAL(clicked()), this, SLOT(backToTeam())); //user edit connect(m_user_edit_wnd->save_userchange_btn, SIGNAL(clicked()), this, SLOT(saveUserEdit())); connect(m_user_edit_wnd->backtouser_btn, SIGNAL(clicked()), this, SLOT(backToUser())); bool result = SqlUtil::getInstance().init ( text ); if ( !result ) { QMessageBox msg ( this ); msg.setText ( "Failed to load database" ); msg.exec(); } }