MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / slotUpdateWidget

Method slotUpdateWidget

Plugins/WebBrowser/FrmDownload.cpp:94–203  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92}
93
94void CFrmDownload::slotUpdateWidget()
95{
96 if(!m_pDownload) return;
97 qreal totalBytes = m_pDownload->totalBytes();
98 qreal receivedBytes = m_pDownload->receivedBytes();
99 qreal bytesPerSecond = 0; // Initialized to 0 for a reasonable default value
100 int remaining = 0;
101 QString szRemaining;
102 // Check for division by zero
103 if (m_timeAdded.elapsed() != 0)
104 bytesPerSecond = receivedBytes / m_timeAdded.elapsed() * 1000;
105
106 remaining = (totalBytes - receivedBytes) / bytesPerSecond + 1;
107 if(remaining >= 0) {
108 QTime tm(0, 0, 0);
109 szRemaining = tm.addSecs(remaining).toString("hh:mm:ss");
110 qDebug(log) << "Remaining:" << remaining << tm << szRemaining;
111 }
112
113 auto state = m_pDownload->state();
114 switch (state) {
115 case QWebEngineDownloadRequest::DownloadRequested:
116 ui->progressBar->setDisabled(false);
117 m_pDownload->accept();
118 break;
119 case QWebEngineDownloadRequest::DownloadInProgress:
120 if (totalBytes > 0) {
121 ui->progressBar->setValue(qRound(100 * receivedBytes / totalBytes));
122 ui->progressBar->setDisabled(false);
123 ui->progressBar->setFormat(
124 tr("%p% - %1 of %2 downloaded - %3/s - time left: %4")
125 .arg(CStats::Convertbytes(receivedBytes), CStats::Convertbytes(totalBytes),
126 CStats::Convertbytes(bytesPerSecond), szRemaining));
127 } else {
128 ui->progressBar->setValue(0);
129 ui->progressBar->setDisabled(false);
130 ui->progressBar->setFormat(
131 tr("unknown size - %1 downloaded - %2/s")
132 .arg(CStats::Convertbytes(receivedBytes), CStats::Convertbytes(bytesPerSecond)));
133 }
134 break;
135 case QWebEngineDownloadRequest::DownloadCompleted:
136 ui->progressBar->setValue(100);
137 ui->progressBar->setDisabled(true);
138 ui->progressBar->setFormat(
139 tr("completed - %1 downloaded - %2/s")
140 .arg(CStats::Convertbytes(receivedBytes), CStats::Convertbytes(bytesPerSecond)));
141 break;
142 case QWebEngineDownloadRequest::DownloadCancelled:
143 ui->progressBar->setValue(0);
144 ui->progressBar->setDisabled(true);
145 ui->progressBar->setFormat(
146 tr("cancelled - %1 downloaded - %2/s")
147 .arg(CStats::Convertbytes(receivedBytes), CStats::Convertbytes(bytesPerSecond)));
148 break;
149 case QWebEngineDownloadRequest::DownloadInterrupted:
150 ui->progressBar->setValue(0);
151 ui->progressBar->setDisabled(true);

Callers

nothing calls this directly

Calls 1

acceptMethod · 0.45

Tested by

no test coverage detected