LRESULT WaitingUsersFrame::onRemove(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { if (getSelectedUser()) { const UserPtr User = getCurrentdUser(); if (User) { UploadManager::LockInstanceQueue lockedInstance; // [+] IRainman opt. lockedInstance->clearUserFilesL(User); } } else { if (m_ctrlList.getSelectedCount()) { int j = -1; UserList RemoveUsers; while ((j = m_ctrlList.GetNextItem(j, LVNI_SELECTED)) != -1) { // Ok let's cheat here, if you try to remove more users here is not working :( RemoveUsers.push_back((m_ctrlList.getItemData(j))->getUser()); } UploadManager::LockInstanceQueue lockedInstance; // [+] IRainman opt. for (auto i = RemoveUsers.cbegin(); i != RemoveUsers.cend(); ++i) { lockedInstance->clearUserFilesL(*i); } } } m_needsUpdateStatus = true; // [!] IRainman opt. return 0; }
void WaitingUsersFrame::removeSelected() { int j = -1; UserList RemoveUsers; while ((j = m_ctrlList.GetNextItem(j, LVNI_SELECTED)) != -1) { // Ok let's cheat here, if you try to remove more users here is not working :( RemoveUsers.push_back(m_ctrlList.getItemData(j)->getUser()); } { UploadManager::LockInstanceQueue lockedInstance; // [+] IRainman opt. for (auto i = RemoveUsers.cbegin(); i != RemoveUsers.cend(); ++i) { lockedInstance->clearUserFilesL(*i); } } m_needsUpdateStatus = true; // [!] IRainman opt. }