int DownloadManager::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: downloadComplete(); break; case 1: progress((*reinterpret_cast< int(*)>(_a[1]))); break; case 2: downloadStatus((*reinterpret_cast< float(*)>(_a[1]))); break; case 3: downloadStarted(); break; case 4: cancel(); break; case 5: download((*reinterpret_cast< QUrl(*)>(_a[1]))); break; case 6: pause(); break; case 7: resume(); break; case 8: download((*reinterpret_cast< QNetworkRequest(*)>(_a[1]))); break; case 9: finished(); break; case 10: downloadProgress((*reinterpret_cast< qint64(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2]))); break; case 11: error((*reinterpret_cast< QNetworkReply::NetworkError(*)>(_a[1]))); break; default: ; } _id -= 12; } return _id; }
void MainWindow::initApp() { x11 = 0; ui->tabWidget->setDisabled(true); ui->statusBar->addPermanentWidget(ui->progressBar); ui->progressBar->hide(); ui->pushButton->setEnabled(false); ui->queue->setHeaderHidden(false); tray = new QSystemTrayIcon(this); timer.start(); // get a time reference connect(&pkgsrc,SIGNAL(packageOptionsResult(QStringList)),this,SLOT(packageOptions(QStringList))); connect(&pkgsrc,SIGNAL(downloadFinished(int)),this,SLOT(pkgsrcDownloadFinished(int))); connect(&pkgsrc,SIGNAL(downloadStatus(qint64,qint64)),this,SLOT(pkgsrcDownloadStatus(qint64,qint64))); connect(&pkgsrc,SIGNAL(extractFinished(int)),this,SLOT(bootstrapExtractFinished(int))); connect(&pkgsrc,SIGNAL(extractStatus(QString)),this,SLOT(bootstrapExtractRead())); connect(&pkgsrc,SIGNAL(bootstrapFinished(int)),this,SLOT(bootstrapMakeFinished(int))); connect(&pkgsrc,SIGNAL(bootstrapStatus(QString)),this,SLOT(bootstrapMakeRead(QString))); connect(&pkgsrc,SIGNAL(bmakeFinished(int)),this,SLOT(queueFinished(int))); connect(&pkgsrc,SIGNAL(bmakeStatus(QString)),this,SLOT(queueRead(QString))); connect(&pkgsrc,SIGNAL(packageDependsResult(QStringList)),this,SLOT(packageDepends(QStringList))); connect(&pkgsrc,SIGNAL(packagesInstalledResult(QStringList)),this,SLOT(pkgsrcInstalledFinished(QStringList))); connect(&pkgsrc,SIGNAL(packageVersionResult(QString)),this,SLOT(pkgsrcPkgVersionFinished(QString))); connect(&pkgsrc,SIGNAL(packageNameResult(QString)),this,SLOT(pkgsrcPkgNameFinished(QString))); connect(&pkgsrc,SIGNAL(packagesVulnsResult(QStringList)),this,SLOT(pkgsrcPkgVulnCheckFinished(QStringList))); connect(&pkgsrc,SIGNAL(packageRemoveStatus(QString)),this,SLOT(delPackageLog(QString))); connect(&pkgsrc,SIGNAL(packageRemoveResult(int)),this,SLOT(delPackageDone(int))); connect(&pkgsrc,SIGNAL(pkgsrcReady()),this,SLOT(bootstrapCheck())); connect(&work,SIGNAL(updateListResult(QStringList)),this,SLOT(catchUpdates(QStringList))); connect(wiz.ui->save,SIGNAL(clicked()),this,SLOT(startWiz())); QSettings settings; settings.beginGroup("global"); if (settings.value("firstrun").toInt()==1) pkgsrc.initPkgsrc(0,"",0,""); else { this->hide(); wiz.show(); } settings.endGroup(); ui->actionSync->setDisabled(true); // sync can only be used after pkgsrcready and bmake must be blocked connect(tray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(trayActivated())); tray->setIcon(QIcon(":/files/tray.png")); tray->setToolTip("UserPKG"); if (tray->isSystemTrayAvailable()) { tray->show(); } if (tray->isVisible()) { for (int i = 0; i < QApplication::arguments().size(); ++i) { if (QApplication::arguments().at(i).contains("--tray")) this->hide(); } } }
void DownloadManager::downloadProgress ( qint64 bytesReceived, qint64 bytesTotal ) { qDebug() << "Download Progress: Received=" << mDownloadSizeAtPause+bytesReceived <<": Total=" << mDownloadSizeAtPause+bytesTotal; mFile->write( mCurrentReply->readAll() ); //int percentage = ((mDownloadSizeAtPause+bytesReceived) * 100 )/ (mDownloadSizeAtPause+bytesTotal); int percentage =(float)bytesReceived/(float)bytesTotal; qDebug() << percentage; emit progress(percentage); emit downloadStatus((float)bytesReceived/(float)bytesTotal); }
void DownloadFile::updateFooterText() { qint64 remainingTime = -1; QString remainingTimeString; if(speed > 0 ) remainingTime = (totalSize - completed)/speed + 1 ; if(remainingTime == -1) remainingTimeString = tr("unknown time remaining") + " - "; else { QString rem; bool flag = false; // if hour is there but not minutes if(remainingTime > 3600) { rem += tr("%1 hours").arg(remainingTime / 3600) + ", "; remainingTime = remainingTime % 3600; flag = true; } if(remainingTime > 60 || flag) { rem += tr("%1 minutes").arg(remainingTime / 60 /*, 2, 10, QChar('0')*/) + ", "; remainingTime = remainingTime % 60; } rem += tr("%1 seconds").arg(remainingTime /*, 2, 10, QChar('0')*/); remainingTimeString = tr("%1 remaining").arg(rem) + " - "; } if(totalSize > 1048576 ) { remainingTimeString += tr("%1 of %2 MB") .arg(completed / (qreal)1048576, 0, 'f', 1) .arg(totalSize / (qreal)1048576, 0, 'f', 1); } else if(totalSize > 1024 ) { remainingTimeString += tr("%1 of %2 KB") .arg(completed / (qreal)1024, 0, 'f', 1) .arg(totalSize / (qreal)1024, 0, 'f', 1); } else if(totalSize >= 0) { remainingTimeString += tr("%1 of %2 bytes").arg(completed).arg(totalSize); } else { remainingTimeString += tr("%1 of unknown size").arg(completed); } remainingTimeString += " ("; if(speed > 1048576 ) { remainingTimeString += tr("%1 MB/sec").arg(speed/ (qreal)1048576, 0, 'f', 1); } else if(totalSize > 1024 ) { remainingTimeString += tr("%1 KB/sec").arg(speed/ (qreal)1024, 0, 'f', 1); } else { remainingTimeString += tr("%1 bytes/sec").arg(speed); } remainingTimeString += ")"; emit downloadStatus(remainingTimeString); }