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; }
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); }