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()); } }
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; } } } }
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()); } }