Ejemplo n.º 1
0
/**
 * \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();
  }
}
Ejemplo n.º 2
0
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();
		}
}