void CED2kLinkDlg::UpdateLink() { CString strLinks; CString strBuffer; const bool bHashset = ((CButton*)GetDlgItem(IDC_LD_HASHSETCHE))->GetCheck() == BST_CHECKED; const bool bHTML = ((CButton*)GetDlgItem(IDC_LD_HTMLCHE))->GetCheck() == BST_CHECKED; const bool bSource = ((CButton*)GetDlgItem(IDC_LD_SOURCECHE))->GetCheck() == BST_CHECKED && theApp.IsConnected() && theApp.GetPublicIP() != 0 && !theApp.IsFirewalled(); const bool bHostname = ((CButton*)GetDlgItem(IDC_LD_HOSTNAMECHE))->GetCheck() == BST_CHECKED && theApp.IsConnected() && !theApp.IsFirewalled() && !thePrefs.GetYourHostname().IsEmpty() && thePrefs.GetYourHostname().Find(_T('.')) != -1; for (int i = 0; i != m_paFiles->GetSize(); i++) { if (!(*m_paFiles)[i]->IsKindOf(RUNTIME_CLASS(CKnownFile))) continue; if (!strLinks.IsEmpty()) strLinks += _T("\r\n\r\n"); CKnownFile* file = STATIC_DOWNCAST(CKnownFile, (*m_paFiles)[i]); strLinks += file->GetED2kLink(bHashset, bHTML, bHostname, bSource, theApp.GetPublicIP()); } m_ctrlLinkEdit.SetWindowText(strLinks); }