void CLibraryFileView::OnLibraryURL() { CSingleLock pLock( &Library.m_pSection, TRUE ); if ( GetSelectedCount() == 1 ) { CLibraryFile* pFile = GetSelectedFile(); if ( ! pFile ) return; CURLCopyDlg dlg; dlg.Add( pFile ); pLock.Unlock(); dlg.DoModal(); } else { CURLExportDlg dlg; POSITION posSel = StartSelectedFileLoop(); while ( CLibraryFile* pFile = GetNextSelectedFile( posSel ) ) { dlg.Add( pFile ); } pLock.Unlock(); dlg.DoModal(); } }
void CBaseMatchWnd::OnSearchCopy() { CSingleLock pLock( &m_pMatches->m_pSection, TRUE ); CURLCopyDlg dlg; if ( CMatchFile* pFile = m_pMatches->GetSelectedFile() ) { dlg.m_sName = pFile->m_pHits->m_sName; dlg.m_bSize = TRUE; dlg.m_nSize = pFile->m_nSize; dlg.m_bSHA1 = pFile->m_bSHA1; if ( pFile->m_bSHA1 ) dlg.m_pSHA1 = pFile->m_pSHA1; dlg.m_bTiger = pFile->m_bTiger; if ( pFile->m_bTiger ) dlg.m_pTiger = pFile->m_pTiger; dlg.m_bED2K = pFile->m_bED2K; if ( pFile->m_bED2K ) dlg.m_pED2K = pFile->m_pED2K; if ( pFile->GetFilteredCount() == 1 ) dlg.m_sHost = pFile->m_pHits->m_sURL; } else if ( CQueryHit* pHit = m_pMatches->GetSelectedHit() ) { dlg.m_sHost = pHit->m_sURL; dlg.m_sName = pHit->m_sName; dlg.m_bSize = TRUE; dlg.m_nSize = pHit->m_nSize; dlg.m_bSHA1 = pHit->m_bSHA1; if ( pHit->m_bSHA1 ) dlg.m_pSHA1 = pHit->m_pSHA1; dlg.m_bTiger = pHit->m_bTiger; if ( pHit->m_bTiger ) dlg.m_pTiger = pHit->m_pTiger; dlg.m_bED2K = pHit->m_bED2K; if ( pHit->m_bED2K ) dlg.m_pED2K = pHit->m_pED2K; } pLock.Unlock(); dlg.DoModal(); }