Example #1
0
void WaitingUsersFrame::updateStatus()
{
	if (ctrlStatus.IsWindow())
	{
		const int cnt = m_ctrlList.GetItemCount();
		const int users = ctrlQueued.GetCount();
		
		tstring tmp[2];
		if (m_showTree)
		{
			tmp[0] = TSTRING(USERS) + _T(": ") + Util::toStringW(users);
		}
		
		tmp[1] = TSTRING(ITEMS) + _T(": ") + Util::toStringW(cnt);
		bool u = false;
		
		for (int i = 1; i < 3; i++)
		{
			const int w = WinUtil::getTextWidth(tmp[i - 1], ctrlStatus.m_hWnd);
			
			if (statusSizes[i] < w)
			{
				statusSizes[i] = w + 50;
				u = true;
			}
			ctrlStatus.SetText(i + 1, tmp[i - 1].c_str());
		}
		
		if (u)
		{
			UpdateLayout(TRUE);
		}
		setCountMessages(m_ctrlList.GetItemCount());
	}
}
Example #2
0
void UsersFrame::removeUser(const FavoriteUser& aUser)
{
	dcassert(!ClientManager::isShutdown());
	if (!ClientManager::isShutdown())
	{
		const int l_cnt = ctrlUsers.GetItemCount();
		for (int i = 0; i < l_cnt; ++i)
		{
			dcassert(l_cnt == ctrlUsers.GetItemCount());
			UserInfo *ui = ctrlUsers.getItemData(i);
			if (ui->getUser() == aUser.getUser())
			{
				ctrlUsers.DeleteItem(i);
				delete ui;
				setCountMessages(ctrlUsers.GetItemCount());
				return;
			}
		}
	}
}
Example #3
0
void UsersFrame::updateUser(const int i, UserInfo* p_ui, const FavoriteUser& favUser) // [+] IRainman fix.
{
	dcassert(!ClientManager::isShutdown());
	if (!ClientManager::isShutdown())
	{
		p_ui->columns[COLUMN_SEEN] = favUser.getUser()->isOnline() ? TSTRING(ONLINE) : Text::toT(Util::formatDigitalClock(favUser.getLastSeen()));
		
		// !SMT!-UI
		int imageIndex = favUser.getUser()->isOnline() ? (favUser.getUser()->isAway() ? 1 : 0) : 2;
		
		if (favUser.getUploadLimit() == FavoriteUser::UL_BAN || favUser.isSet(FavoriteUser::FLAG_IGNORE_PRIVATE))
		{
			imageIndex += 3;
		}
		
		p_ui->update(favUser);
		
		ctrlUsers.SetItem(i, 0, LVIF_IMAGE, NULL, imageIndex, 0, 0, NULL);
		
		ctrlUsers.updateItem(i);
		setCountMessages(ctrlUsers.GetItemCount());
	}
}