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;
}
Пример #2
0
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);

}
Пример #4
0
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);
}