BOOL CClientDetailPage::OnSetActive() { if (!CResizablePage::OnSetActive()) return FALSE; if (m_bDataChanged) { //Xman Code Fix //don't know how this happend, but happend with a friend: if(m_paClients==NULL) return FALSE; //Xman end CUpDownClient* client = STATIC_DOWNCAST(CUpDownClient, (*m_paClients)[0]); CString buffer; if (client->GetUserName()) GetDlgItem(IDC_DNAME)->SetWindowText(client->GetUserName()); else GetDlgItem(IDC_DNAME)->SetWindowText(_T("?")); //EastShare Start - added by AndCycle, IP to Country GetDlgItem(IDC_DLOC)->SetWindowText(client->GetCountryName(true)); //EastShare End - added by AndCycle, IP to Country if (client->HasValidHash()) GetDlgItem(IDC_DHASH)->SetWindowText(md4str(client->GetUserHash())); else GetDlgItem(IDC_DHASH)->SetWindowText(_T("?")); //Xman ModId /* GetDlgItem(IDC_DSOFT)->SetWindowText(client->GetClientSoftVer()); */ GetDlgItem(IDC_DSOFT)->SetWindowText(client->DbgGetFullClientSoftVer()); //Xman end if (client->SupportsCryptLayer() && thePrefs.IsClientCryptLayerSupported() && (client->RequestsCryptLayer() || thePrefs.IsClientCryptLayerRequested()) && (client->IsObfuscatedConnectionEstablished() || !(client->socket != NULL && client->socket->IsConnected()))) { buffer = GetResString(IDS_ENABLED); } else if (client->SupportsCryptLayer()) buffer = GetResString(IDS_SUPPORTED); else buffer = GetResString(IDS_IDENTNOSUPPORT); #if defined(_DEBUG) if (client->IsObfuscatedConnectionEstablished()) buffer += _T("(In Use)"); #endif GetDlgItem(IDC_OBFUSCATION_STAT)->SetWindowText(buffer); buffer.Format(_T("%s"),(client->HasLowID() ? GetResString(IDS_IDLOW):GetResString(IDS_IDHIGH))); GetDlgItem(IDC_DID)->SetWindowText(buffer); if (client->GetServerIP()){ GetDlgItem(IDC_DSIP)->SetWindowText(ipstr(client->GetServerIP())); CServer* cserver = theApp.serverlist->GetServerByIPTCP(client->GetServerIP(), client->GetServerPort()); if (cserver) GetDlgItem(IDC_DSNAME)->SetWindowText(cserver->GetListName()); else GetDlgItem(IDC_DSNAME)->SetWindowText(_T("?")); } else{ GetDlgItem(IDC_DSIP)->SetWindowText(_T("?")); GetDlgItem(IDC_DSNAME)->SetWindowText(_T("?")); } //Xman Queuerank at clientdetail if(client->GetUploadState()==US_ONUPLOADQUEUE) buffer.Format(_T("%u"),theApp.uploadqueue->GetWaitingPosition(client)); else buffer.Format(_T("-")); GetDlgItem(IDC_DOWNQUEUERANK)->SetWindowText(buffer); if(client->GetDownloadState()==DS_ONQUEUE) { if(client->IsRemoteQueueFull()) buffer = GetResString(IDS_QUEUEFULL); else buffer.Format(_T("%u"), client->GetRemoteQueueRank()); } else buffer.Format(_T("-")); GetDlgItem(IDC_UPLOADQUEURANK)->SetWindowText(buffer); //Xman end //Xman Anti-Leecher if(client->IsLeecher()>0 && client->GetBanMessageString().IsEmpty()==false) GetDlgItem(IDC_LEECHERINFO)->SetWindowText(client->GetBanMessageString()); else GetDlgItem(IDC_LEECHERINFO)->SetWindowText(_T(" ")); //Xman end // ==> requpfile optimization [SiRoB] - Stulle /* CKnownFile* file = theApp.sharedfiles->GetFileByID(client->GetUploadFileID()); */ CKnownFile* file = client->CheckAndGetReqUpFile(); // <== requpfile optimization [SiRoB] - Stulle if (file) GetDlgItem(IDC_DDOWNLOADING)->SetWindowText(file->GetFileName()); else GetDlgItem(IDC_DDOWNLOADING)->SetWindowText(_T("-")); if (client->GetRequestFile()) GetDlgItem(IDC_UPLOADING)->SetWindowText( client->GetRequestFile()->GetFileName() ); else GetDlgItem(IDC_UPLOADING)->SetWindowText(_T("-")); GetDlgItem(IDC_DDUP)->SetWindowText(CastItoXBytes(client->GetTransferredDown(), false, false)); GetDlgItem(IDC_DDOWN)->SetWindowText(CastItoXBytes(client->GetTransferredUp(), false, false)); buffer.Format(_T("%s"), CastItoXBytes(client->GetDownloadDatarate(), false, true)); GetDlgItem(IDC_DAVUR)->SetWindowText(buffer); //Xman // Maella -Accurate measure of bandwidth /* buffer.Format(_T("%s"),CastItoXBytes(client->GetDatarate(), false, true)); */ buffer.Format(_T("%s"),CastItoXBytes(client->GetUploadDatarate(), false, true)); //Xman end GetDlgItem(IDC_DAVDR)->SetWindowText(buffer); if (client->Credits()){ GetDlgItem(IDC_DUPTOTAL)->SetWindowText(CastItoXBytes(client->Credits()->GetDownloadedTotal(), false, false)); GetDlgItem(IDC_DDOWNTOTAL)->SetWindowText(CastItoXBytes(client->Credits()->GetUploadedTotal(), false, false)); // Xman Creditsystem /* buffer.Format(_T("%.1f"),(float)client->Credits()->GetScoreRatio(client->GetIP())); */ // ==> CreditSystems [EastShare/ MorphXT] - Stulle if (thePrefs.GetCreditSystem() == 7) // is Xman CS¿ buffer.Format(_T("%.1f %+.1f [%.1f]"),(float)client->Credits()->GetScoreRatio(client)- (float)client->Credits()->GetBonusFaktor(client),(float)client->Credits()->GetBonusFaktor(client),(float)client->Credits()->GetMyScoreRatio(client->GetIP())); // See own credits VQB else buffer.Format(_T("%.1f [%.1f]"),(float)client->Credits()->GetScoreRatio(client),(float)client->Credits()->GetMyScoreRatio(client->GetIP())); // See own credits VQB // <== CreditSystems [EastShare/ MorphXT] - Stulle //Xman Creditsystem end GetDlgItem(IDC_DRATIO)->SetWindowText(buffer); if (theApp.clientcredits->CryptoAvailable()){ switch(client->Credits()->GetCurrentIdentState(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(_T("?")); GetDlgItem(IDC_DUPTOTAL)->SetWindowText(_T("?")); GetDlgItem(IDC_DRATIO)->SetWindowText(_T("?")); GetDlgItem(IDC_CDIDENT)->SetWindowText(_T("?")); } if (client->GetUserName() && client->Credits()!=NULL){ buffer.Format(_T("%.1f"),(float)client->GetScore(false,client->IsDownloading(),true)); GetDlgItem(IDC_DRATING)->SetWindowText(buffer); } else GetDlgItem(IDC_DRATING)->SetWindowText(_T("?")); if (client->GetUploadState() != US_NONE && client->Credits()!=NULL){ if (!client->GetFriendSlot()){ buffer.Format(_T("%u"),client->GetScore(false,client->IsDownloading(),false)); GetDlgItem(IDC_DSCORE)->SetWindowText(buffer); } else GetDlgItem(IDC_DSCORE)->SetWindowText(GetResString(IDS_FRIENDDETAIL)); } else GetDlgItem(IDC_DSCORE)->SetWindowText(_T("-")); if (client->GetKadPort() ) buffer.Format( _T("%s"), GetResString(IDS_CONNECTED)); else buffer.Format( _T("%s"), GetResString(IDS_DISCONNECTED)); GetDlgItem(IDC_CLIENTDETAIL_KADCON)->SetWindowText(buffer); m_bDataChanged = false; } return TRUE; }