//this file is part of eMule //Copyright (C)2002 Merkur ( merkur-@users.sourceforge.net / http://www.emule-project.net ) // //This program is free software; you can redistribute it and/or //modify it under the terms of the GNU General Public License //as published by the Free Software Foundation; either //version 2 of the License, or (at your option) any later version. // //This program is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. // //You should have received a copy of the GNU General Public License //along with this program; if not, write to the Free Software //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include "stdafx.h" #include "emule.h" #include "ClientDetailDialog.h" #include "UpDownClient.h" #include "PartFile.h" #include "ClientCredits.h" #include "otherfunctions.h" #include "Server.h" #include "ServerList.h" #include "SharedFileList.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif // CClientDetailDialog dialog IMPLEMENT_DYNAMIC(CClientDetailDialog, CDialog) CClientDetailDialog::CClientDetailDialog(const CUpDownClient* client) : CDialog(CClientDetailDialog::IDD, 0) { m_client = client; } CClientDetailDialog::~CClientDetailDialog() { } void CClientDetailDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BOOL CClientDetailDialog::OnInitDialog(){ CDialog::OnInitDialog(); InitWindowStyles(this); Localize(); CString buffer; if (m_client->GetUserName()) GetDlgItem(IDC_DNAME)->SetWindowText(m_client->GetUserName()); else GetDlgItem(IDC_DNAME)->SetWindowText("?"); if (m_client->HasValidHash()){ buffer =""; CString buffer2; for (uint16 i = 0;i != 16;i++){ buffer2.Format("%02X",m_client->GetUserHash()[i]); buffer+=buffer2; } GetDlgItem(IDC_DHASH)->SetWindowText(buffer); } else GetDlgItem(IDC_DHASH)->SetWindowText("?"); GetDlgItem(IDC_DSOFT)->SetWindowText(m_client->GetClientSoftVer()); buffer.Format("%s",(m_client->HasLowID() ? GetResString(IDS_IDLOW):GetResString(IDS_IDHIGH))); GetDlgItem(IDC_DID)->SetWindowText(buffer); if (m_client->GetServerIP()){ in_addr server; server.S_un.S_addr = m_client->GetServerIP(); GetDlgItem(IDC_DSIP)->SetWindowText(inet_ntoa(server)); CServer* cserver = theApp.serverlist->GetServerByAddress(inet_ntoa(server), m_client->GetServerPort()); if (cserver) GetDlgItem(IDC_DSNAME)->SetWindowText(cserver->GetListName()); else GetDlgItem(IDC_DSNAME)->SetWindowText("?"); } else{ GetDlgItem(IDC_DSIP)->SetWindowText("?"); GetDlgItem(IDC_DSNAME)->SetWindowText("?"); } CKnownFile* file = theApp.sharedfiles->GetFileByID(m_client->GetUploadFileID()); if (file) GetDlgItem(IDC_DDOWNLOADING)->SetWindowText(MakeStringEscaped(file->GetFileName())); else GetDlgItem(IDC_DDOWNLOADING)->SetWindowText("-"); if (m_client->reqfile) GetDlgItem(IDC_UPLOADING)->SetWindowText( m_client->reqfile->GetFileName() ); else GetDlgItem(IDC_UPLOADING)->SetWindowText("-"); GetDlgItem(IDC_DDUP)->SetWindowText(CastItoXBytes(m_client->GetTransferedDown())); GetDlgItem(IDC_DDOWN)->SetWindowText(CastItoXBytes(m_client->GetTransferedUp())); buffer.Format("%.1f %s",(float)m_client->GetDownloadDatarate()/1024,GetResString(IDS_KBYTESEC)); GetDlgItem(IDC_DAVUR)->SetWindowText(buffer); buffer.Format("%.1f %s",(float)m_client->GetDatarate()/1024,GetResString(IDS_KBYTESEC)); GetDlgItem(IDC_DAVDR)->SetWindowText(buffer); if (m_client->Credits()){ GetDlgItem(IDC_DUPTOTAL)->SetWindowText(CastItoXBytes(m_client->Credits()->GetDownloadedTotal())); GetDlgItem(IDC_DDOWNTOTAL)->SetWindowText(CastItoXBytes(m_client->Credits()->GetUploadedTotal())); buffer.Format("%.1f",(float)m_client->Credits()->GetScoreRatio(m_client->GetIP())); GetDlgItem(IDC_DRATIO)->SetWindowText(buffer); if (theApp.clientcredits->CryptoAvailable()){ switch(m_client->Credits()->GetCurrentIdentState(m_client->GetIP())){ case IS_NOTAVAILABLE: GetDlgItem(IDC_CDIDENT)->SetWindowText(GetResString(IDS_IDENTNOSUPPORT)); break; case IS_IDFAILED: case IS_IDNEEDED: case IS_IDBADGUY: GetDlgItem(IDC_CDIDENT)->SetWindowText(GetResString(IDS_IDENTFAILED)); break; case IS_IDENTIFIED: GetDlgItem(IDC_CDIDENT)->SetWindowText(GetResString(IDS_IDENTOK)); break; } } else GetDlgItem(IDC_CDIDENT)->SetWindowText(GetResString(IDS_IDENTNOSUPPORT)); } else{ GetDlgItem(IDC_DDOWNTOTAL)->SetWindowText("?"); GetDlgItem(IDC_DUPTOTAL)->SetWindowText("?"); GetDlgItem(IDC_DRATIO)->SetWindowText("?"); GetDlgItem(IDC_CDIDENT)->SetWindowText("?"); } if (m_client->GetUserName()){ buffer.Format("%.1f",(float)m_client->GetScore(false,m_client->IsDownloading(),true)); GetDlgItem(IDC_DRATING)->SetWindowText(buffer); } else GetDlgItem(IDC_DRATING)->SetWindowText("?");; if (m_client->GetUploadState() != US_NONE){ if (!m_client->GetFriendSlot()){ buffer.Format("%u",m_client->GetScore(false,m_client->IsDownloading(),false)); GetDlgItem(IDC_DSCORE)->SetWindowText(buffer); } else GetDlgItem(IDC_DSCORE)->SetWindowText(GetResString(IDS_FRIENDDETAIL)); } else GetDlgItem(IDC_DSCORE)->SetWindowText("-"); return true; } BEGIN_MESSAGE_MAP(CClientDetailDialog, CDialog) END_MESSAGE_MAP() // CClientDetailDialog message handlers void CClientDetailDialog::Localize(){ GetDlgItem(IDC_STATIC30)->SetWindowText(GetResString(IDS_CD_GENERAL)); GetDlgItem(IDC_STATIC31)->SetWindowText(GetResString(IDS_CD_UNAME)); GetDlgItem(IDC_STATIC32)->SetWindowText(GetResString(IDS_CD_UHASH)); GetDlgItem(IDC_STATIC33)->SetWindowText(GetResString(IDS_CD_CSOFT)); GetDlgItem(IDC_STATIC35)->SetWindowText(GetResString(IDS_CD_SIP)); GetDlgItem(IDC_STATIC38)->SetWindowText(GetResString(IDS_CD_SNAME)); GetDlgItem(IDC_STATIC40)->SetWindowText(GetResString(IDS_CD_TRANS)); GetDlgItem(IDC_STATIC41)->SetWindowText(GetResString(IDS_CD_CDOWN)); GetDlgItem(IDC_STATIC42)->SetWindowText(GetResString(IDS_CD_DOWN)); GetDlgItem(IDC_STATIC43)->SetWindowText(GetResString(IDS_CD_ADOWN)); GetDlgItem(IDC_STATIC44)->SetWindowText(GetResString(IDS_CD_TDOWN)); GetDlgItem(IDC_STATIC45)->SetWindowText(GetResString(IDS_CD_UP)); GetDlgItem(IDC_STATIC46)->SetWindowText(GetResString(IDS_CD_AUP)); GetDlgItem(IDC_STATIC47)->SetWindowText(GetResString(IDS_CD_TUP)); GetDlgItem(IDC_STATIC48)->SetWindowText(GetResString(IDS_CD_UPLOADREQ)); GetDlgItem(IDC_STATIC50)->SetWindowText(GetResString(IDS_CD_SCORES)); GetDlgItem(IDC_STATIC51)->SetWindowText(GetResString(IDS_CD_MOD)); GetDlgItem(IDC_STATIC52)->SetWindowText(GetResString(IDS_CD_RATING)); GetDlgItem(IDC_STATIC53)->SetWindowText(GetResString(IDS_CD_USCORE)); GetDlgItem(IDC_STATIC133x)->SetWindowText(GetResString(IDS_CD_IDENT)); GetDlgItem(IDOK)->SetWindowText(GetResString(IDS_FD_CLOSE)); SetWindowText(GetResString(IDS_CD_TITLE)); }