Пример #1
0
QString CFileTransferAction::drawProgressBar()
{
    QString content;
    content += "<tr><td>" + GetHumanReadableSize(m_File->GetFileSize()) + "</td>";
    content += "<td align=center>" + GetHumanReadableSize(m_File->GetSpeed()) + "/s</td>";

    int etaSecs = 0;
    if(m_File->GetSpeed())
        etaSecs = (m_File->GetFileSize() - m_File->GetDoneSize()) / m_File->GetSpeed();
    QTime etaTime(0,0);
    etaTime = etaTime.addSecs(etaSecs);

    content += "<td align=right>" + tr("ETA: ") + etaTime.toString("hh:mm:ss") + "</td>";
    content += "</tr><tr><td colspan=3>";
    if(m_File->GetError() == CFileTransfer::AbortError
            || m_File->GetError() != CFileTransfer::NoError)
        content += QImage2Html(drawProgressBarImg(1, m_ProgBarWidth, m_ProgBarHeight, Qt::red, Qt::red));
    else
        content += QImage2Html(drawProgressBarImg((double)m_File->GetDoneSize()/(double)m_File->GetFileSize(), m_ProgBarWidth, m_ProgBarHeight));
    content += "</td></tr>";
    return content;
}
Пример #2
0
QString FileTransferInstance::draw2ButtonsForm(const QString &type, const QImage &imgA, const QImage &imgB)
{
    QString widgetId = QString::number(getId());
    QString imgAstr = "<img src=\"data:ftrans." + widgetId + ".btnA/png;base64," + QImage2base64(imgA) + "\">";
    QString imgBstr = "<img src=\"data:ftrans." + widgetId + ".btnB/png;base64," + QImage2base64(imgB) + "\">";

    QString content;
    QString progrBar = "<img src=\"data:progressbar." + widgetId + "/png;base64," +
            QImage2base64(drawProgressBarImg(double(lastBytesSent)/totalBytes, MAX_CONTENT_WIDTH, 9)) + "\">";

    content  = "<p>" + filenameElided + "</p>";
    content += "<table cellspacing=\"0\"><tr>";
    content += "<td>" + size + "</td>";
    content += "<td align=center>" + speed + "</td>";
    content += "<td align=right>" + tr("ETA") + ": " + eta + "</td>";
    content += "</tr><tr><td colspan=3>";
    content += progrBar;
    content += "</td></tr></table>";

    return wrapIntoForm(content, type, imgAstr, imgBstr);
}