예제 #1
0
void CFileDetailDialog::UpdateData()
{
	wxString bufferS;
	CastChild(IDC_FNAME,wxStaticText)->SetLabel(MakeStringEscaped(
		TruncateFilename(m_file->GetFileName(),60)));
	CastChild(IDC_METFILE,wxStaticText)->SetLabel(MakeStringEscaped(
		TruncateFilename(m_file->GetFullName(),60,true)));

	wxString tmp = CastChild(IDC_FILENAME, wxTextCtrl)->GetValue();
	if (tmp.Length() < 3) {
		resetValueForFilenameTextEdit();
	}

	CastChild(IDC_FHASH,wxStaticText)->SetLabel(m_file->GetFileHash().Encode());
	bufferS = wxString::Format(wxT("%llu bytes ("), m_file->GetFileSize())
			+ CastItoXBytes(m_file->GetFileSize())
			+ wxT(")");
	CastChild(IDC_FSIZE,wxControl)->SetLabel(bufferS);
	CastChild(IDC_PFSTATUS,wxControl)->SetLabel(m_file->getPartfileStatus());
	bufferS = wxString::Format(wxT("%i (%i)"),m_file->GetPartCount(),m_file->GetHashCount());
	CastChild(IDC_PARTCOUNT,wxControl)->SetLabel(bufferS);
	CastChild(IDC_TRANSFERRED,wxControl)->SetLabel(CastItoXBytes(m_file->GetTransferred()));
	CastChild(IDC_FD_STATS1,wxControl)->SetLabel(CastItoXBytes(m_file->GetLostDueToCorruption()));
	CastChild(IDC_FD_STATS2,wxControl)->SetLabel(CastItoXBytes(m_file->GetGainDueToCompression()));
	CastChild(IDC_FD_STATS3,wxControl)->SetLabel(CastItoIShort(m_file->TotalPacketsSavedDueToICH()));
	CastChild(IDC_COMPLSIZE,wxControl)->SetLabel(CastItoXBytes(m_file->GetCompletedSize()));
	bufferS = wxString::Format(_("%.2f%% done"),m_file->GetPercentCompleted());
	CastChild(IDC_PROCCOMPL,wxControl)->SetLabel(bufferS);
	bufferS = wxString::Format(_("%.2f kB/s"),(float)m_file->GetKBpsDown());
	CastChild(IDC_DATARATE,wxControl)->SetLabel(bufferS);
	bufferS = wxString::Format(wxT("%i"),m_file->GetSourceCount());
	CastChild(IDC_SOURCECOUNT,wxControl)->SetLabel(bufferS);
	bufferS = wxString::Format(wxT("%i"),m_file->GetTransferingSrcCount());
	CastChild(IDC_SOURCECOUNT2,wxControl)->SetLabel(bufferS);
	bufferS = wxString::Format(wxT("%i (%.1f%%)"),
		m_file->GetAvailablePartCount(),
		((m_file->GetAvailablePartCount() * 100.0f)/ m_file->GetPartCount()));
	CastChild(IDC_PARTAVAILABLE,wxControl)->SetLabel(bufferS);
	bufferS = CastSecondsToHM(m_file->GetDlActiveTime());
	CastChild(IDC_DLACTIVETIME, wxControl)->SetLabel(bufferS);
	
	if (m_file->lastseencomplete==0) {
		bufferS = wxString(_("Unknown")).MakeLower();
	} else {
		wxDateTime last_seen(m_file->lastseencomplete);
		bufferS = last_seen.FormatISODate() + wxT(" ") + last_seen.FormatISOTime();
	}

	CastChild(IDC_LASTSEENCOMPL,wxControl)->SetLabel(bufferS);
	setEnableForApplyButton();
	// disable "Show all comments" button if there are no comments
	FileRatingList list;
	m_file->GetRatingAndComments(list);
	CastChild(IDC_CMTBT, wxControl)->Enable(!list.empty());
	FillSourcenameList();
	Layout();
}
예제 #2
0
void CFileDetailDialog::OnBnClickedApply(wxCommandEvent& WXUNUSED(evt))
{
	CPath fileName = CPath(CastChild(IDC_FILENAME, wxTextCtrl)->GetValue());

	if (fileName.IsOk() && (fileName != m_file->GetFileName())) {
		if (theApp->sharedfiles->RenameFile(m_file, fileName)) {
			FindWindow(IDC_FNAME)->SetLabel(MakeStringEscaped(m_file->GetFileName().GetPrintable()));
			FindWindow(IDC_METFILE)->SetLabel(m_file->GetFullName().GetPrintable());
			
			resetValueForFilenameTextEdit();
	
			Layout();
		}
	}
}
예제 #3
0
bool CClientDetailDialog::OnInitDialog() {
    // Username, Userhash
    if (!m_client.GetUserName().IsEmpty()) {
        CastChild(ID_DNAME, wxStaticText)->SetLabel(
            m_client.GetUserName());
        // if we have client name we have userhash
        wxASSERT(!m_client.GetUserHash().IsEmpty());
        CastChild(ID_DHASH, wxStaticText)->SetLabel(
            m_client.GetUserHash().Encode());
    } else {
        CastChild(ID_DNAME, wxStaticText)->SetLabel(_("Unknown"));
        CastChild(ID_DHASH, wxStaticText)->SetLabel(_("Unknown"));
    }

    // Client Software
    wxString OSInfo = m_client.GetClientOSInfo();
    if (!OSInfo.IsEmpty()) {
        CastChild(ID_DSOFT, wxStaticText)->SetLabel(
            m_client.GetSoftStr()+wxT(" (")+OSInfo+wxT(")"));
    } else {
        CastChild(ID_DSOFT, wxStaticText)->SetLabel(
            m_client.GetSoftStr());
    }

    // Client Version
    CastChild(ID_DVERSION, wxStaticText)->SetLabel(
        m_client.GetSoftVerStr());

    // User ID
    CastChild(ID_DID, wxStaticText)->SetLabel(
        CFormat(wxT("%u (%s)")) % m_client.GetUserIDHybrid() % (m_client.HasLowID() ? _("LowID") : _("HighID")));

    // Client IP/Port
    CastChild(ID_DIP, wxStaticText)->SetLabel(
        CFormat(wxT("%s:%i")) % m_client.GetFullIP() % m_client.GetUserPort());

    // Server IP/Port/Name
    if (m_client.GetServerIP()) {
        wxString srvaddr = Uint32toStringIP(m_client.GetServerIP());
        CastChild(ID_DSIP, wxStaticText)->SetLabel(
            CFormat(wxT("%s:%i")) % srvaddr % m_client.GetServerPort());
        CastChild(ID_DSNAME, wxStaticText)->SetLabel(
            m_client.GetServerName());
    } else {
        CastChild(ID_DSIP, wxStaticText)->SetLabel(_("Unknown"));
        CastChild(ID_DSNAME, wxStaticText)->SetLabel(_("Unknown"));
    }

    // Obfuscation
    wxString buffer;
    switch (m_client.GetObfuscationStatus()) {
    case OBST_ENABLED:
        buffer = _("Enabled");
        break;
    case OBST_SUPPORTED:
        buffer = _("Supported");
        break;
    case OBST_NOT_SUPPORTED:
        buffer = _("Not supported");
        break;
    case OBST_DISABLED:
        buffer = _("Disabled");
        break;
    default:
        buffer = _("Unknown");
        break;
    }
    CastChild(IDT_OBFUSCATION, wxStaticText)->SetLabel(buffer);

    // Kad
    if (m_client.GetKadPort()) {
        CastChild(IDT_KAD, wxStaticText)->SetLabel(_("Connected"));
    } else {
        CastChild(IDT_KAD, wxStaticText)->SetLabel(_("Disconnected"));
    }

    // File Name
    const CKnownFile* file = m_client.GetUploadFile();
    if (file) {
        wxString filename = MakeStringEscaped(file->GetFileName().TruncatePath(60));
        CastChild(ID_DDOWNLOADING, wxStaticText)->SetLabel(filename);
    } else {
        CastChild(ID_DDOWNLOADING, wxStaticText)->SetLabel(wxT("-"));
    }

    // Upload
    CastChild(ID_DDUP, wxStaticText)->SetLabel(
        CastItoXBytes(m_client.GetTransferredDown()));

    // Download
    CastChild(ID_DDOWN, wxStaticText)->SetLabel(
        CastItoXBytes(m_client.GetTransferredUp()));

    // Average Upload Rate
    CastChild(ID_DAVUR, wxStaticText)->SetLabel(
        CFormat(_("%.1f kB/s")) % m_client.GetKBpsDown());

    // Average Download Rate
    CastChild(ID_DAVDR, wxStaticText)->SetLabel(
        CFormat(_("%.1f kB/s")) % (m_client.GetUploadDatarate() / 1024.0f));

    // Total Upload
    CastChild(ID_DUPTOTAL, wxStaticText)->SetLabel(
        CastItoXBytes(m_client.GetDownloadedTotal()));

    // Total Download
    CastChild(ID_DDOWNTOTAL, wxStaticText)->SetLabel(
        CastItoXBytes(m_client.GetUploadedTotal()));

    // DL/UP Modifier
    CastChild(ID_DRATIO, wxStaticText)->SetLabel(
        CFormat(wxT("%.1f")) % m_client.GetScoreRatio());

    // Secure Ident
    CastChild(IDC_CDIDENT, wxStaticText)->SetLabel(
        m_client.GetSecureIdentTextStatus());

    // Queue Score
    if (m_client.GetUploadState() != US_NONE) {
        CastChild(ID_QUEUERANK, wxStaticText)->SetLabel(
            CFormat(wxT("%u")) % m_client.GetUploadQueueWaitingPosition());
        CastChild(ID_DSCORE, wxStaticText)->SetLabel(
            CFormat(wxT("%u")) % m_client.GetScore());
    } else {
        CastChild(ID_QUEUERANK, wxStaticText)->SetLabel(wxT("-"));
        CastChild(ID_DSCORE, wxStaticText)->SetLabel(wxT("-"));
    }
    Layout();

    return true;
}
예제 #4
0
void CSharedFilesWnd::ShowSelectedFilesSummary()
{
	const CKnownFile* pTheFile = NULL;
	int iFiles = 0;
	uint64 uTransferred = 0;
	UINT uRequests = 0;
	UINT uAccepted = 0;
	uint64 uAllTimeTransferred = 0;
	UINT uAllTimeRequests = 0;
	UINT uAllTimeAccepted = 0;
	POSITION pos = sharedfilesctrl.GetFirstSelectedItemPosition();
	while (pos)
	{
		int iItem = sharedfilesctrl.GetNextSelectedItem(pos);
		const CKnownFile* pFile = (CKnownFile*)sharedfilesctrl.GetItemData(iItem);
		iFiles++;
		if (iFiles == 1)
			pTheFile = pFile;

		uTransferred += pFile->statistic.GetTransferred();
		uRequests += pFile->statistic.GetRequests();
		uAccepted += pFile->statistic.GetAccepts();

		uAllTimeTransferred += pFile->statistic.GetAllTimeTransferred();
		uAllTimeRequests += pFile->statistic.GetAllTimeRequests();
		uAllTimeAccepted += pFile->statistic.GetAllTimeAccepts();
	}

	if (iFiles != 0)
	{
		pop_bartrans.SetRange32(0, (int)(theApp.knownfiles->transferred/1024));
		pop_bartrans.SetPos((int)(uTransferred/1024));
		pop_bartrans.SetShowPercent();
		SetDlgItemText(IDC_STRANSFERRED, CastItoXBytes(uTransferred, false, false));

		pop_bar.SetRange32(0, theApp.knownfiles->requested);
		pop_bar.SetPos(uRequests);
		pop_bar.SetShowPercent();
		SetDlgItemInt(IDC_SREQUESTED, uRequests, FALSE);

		pop_baraccept.SetRange32(0, theApp.knownfiles->accepted);
		pop_baraccept.SetPos(uAccepted);
		pop_baraccept.SetShowPercent();
		SetDlgItemInt(IDC_SACCEPTED, uAccepted, FALSE);

		SetDlgItemText(IDC_STRANSFERRED2, CastItoXBytes(uAllTimeTransferred, false, false));
		SetDlgItemInt(IDC_SREQUESTED2, uAllTimeRequests, FALSE);
		SetDlgItemInt(IDC_SACCEPTED2, uAllTimeAccepted, FALSE);

		CString str(GetResString(IDS_SF_STATISTICS));
		if (iFiles == 1 && pTheFile != NULL)
			str += _T(" (") + MakeStringEscaped(pTheFile->GetFileName()) +_T(")");
		m_ctrlStatisticsFrm.SetWindowText(str);
	}
	else
	{
		pop_bartrans.SetRange32(0, 100);
		pop_bartrans.SetPos(0);
		pop_bartrans.SetTextFormat(_T(""));
		SetDlgItemText(IDC_STRANSFERRED, _T("-"));

		pop_bar.SetRange32(0, 100);
		pop_bar.SetPos(0);
		pop_bar.SetTextFormat(_T(""));
		SetDlgItemText(IDC_SREQUESTED, _T("-"));

		pop_baraccept.SetRange32(0, 100);
		pop_baraccept.SetPos(0);
		pop_baraccept.SetTextFormat(_T(""));
		SetDlgItemText(IDC_SACCEPTED, _T("-"));

		SetDlgItemText(IDC_STRANSFERRED2, _T("-"));
		SetDlgItemText(IDC_SREQUESTED2, _T("-"));
		SetDlgItemText(IDC_SACCEPTED2, _T("-"));

		m_ctrlStatisticsFrm.SetWindowText(GetResString(IDS_SF_STATISTICS));
	}
}