void CAbstractFile::RefilterKadNotes(bool bUpdate){ // check all availabe comments against our filter again if (thePrefs.GetCommentFilter().IsEmpty()) return; POSITION pos1, pos2; for (pos1 = m_kadNotes.GetHeadPosition();( pos2 = pos1 ) != NULL;) { m_kadNotes.GetNext(pos1); Kademlia::CEntry* entry = m_kadNotes.GetAt(pos2); if (!entry->GetStrTagValue(TAG_DESCRIPTION).IsEmpty()){ CString strCommentLower(entry->GetStrTagValue(TAG_DESCRIPTION)); strCommentLower.MakeLower(); int iPos = 0; CString strFilter(thePrefs.GetCommentFilter().Tokenize(_T("|"), iPos)); while (!strFilter.IsEmpty()) { // comment filters are already in lowercase, compare with temp. lowercased received comment if (strCommentLower.Find(strFilter) >= 0) { m_kadNotes.RemoveAt(pos2); delete entry; break; } strFilter = thePrefs.GetCommentFilter().Tokenize(_T("|"), iPos); } } } if (bUpdate) // untill updated rating and m_bHasComment might be wrong UpdateFileRatingCommentAvail(); }
bool CAbstractFile::AddNote(Kademlia::CEntry* pEntry) { for(POSITION pos = m_kadNotes.GetHeadPosition(); pos != NULL; ) { Kademlia::CEntry* entry = m_kadNotes.GetNext(pos); if(entry->m_uSourceID == pEntry->m_uSourceID) { ASSERT(entry != pEntry); return false; } } m_kadNotes.AddHead(pEntry); UpdateFileRatingCommentAvail(); return true; }
CCollectionFile::CCollectionFile(CAbstractFile* pAbstractFile) : CAbstractFile(pAbstractFile) { ClearTags(); taglist.Add(new CTag(FT_FILEHASH, pAbstractFile->GetFileHash())); taglist.Add(new CTag(FT_FILESIZE, pAbstractFile->GetFileSize())); taglist.Add(new CTag(FT_FILENAME, pAbstractFile->GetFileName())); if(!pAbstractFile->GetFileComment().IsEmpty()) taglist.Add(new CTag(FT_FILECOMMENT, pAbstractFile->GetFileComment())); if(pAbstractFile->GetFileRating()) taglist.Add(new CTag(FT_FILERATING, pAbstractFile->GetFileRating())); UpdateFileRatingCommentAvail(); }
void CAbstractFile::SetKadCommentSearchRunning(bool bVal){ if (bVal != m_bKadCommentSearchRunning){ m_bKadCommentSearchRunning = bVal; UpdateFileRatingCommentAvail(true); } }