516
531
pkgs << p.packageID;
518
533
if (!pkgs.isEmpty()) {
519
m_fetchSizesTransaction = new Transaction(this);
520
connect(m_fetchSizesTransaction, SIGNAL(details(QString,QString,PackageKit::Transaction::Group,QString,QString,qulonglong)),
521
this, SLOT(updateSize(QString,QString,PackageKit::Transaction::Group,QString,QString,qulonglong)));
534
m_fetchSizesTransaction = Daemon::getDetails(pkgs);
535
connect(m_fetchSizesTransaction, SIGNAL(details(PackageKit::Details)),
536
SLOT(updateSize(PackageKit::Details)));
522
537
connect(m_fetchSizesTransaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
523
538
this, SLOT(fetchSizesFinished()));
524
m_fetchSizesTransaction->getDetails(pkgs);
539
553
emit changed(!m_checkedPackages.isEmpty());
542
void PackageModel::updateSize(const QString &packageID,
543
const QString &license,
544
PackageKit::Transaction::Group group,
545
const QString &detail,
556
void PackageModel::updateSize(const PackageKit::Details &details)
554
558
// if size is 0 don't waste time looking for the package
559
qulonglong size = details.size();
559
564
for (int i = 0; i < m_packages.size(); ++i) {
560
if (packageID == m_packages[i].packageID) {
565
const QString &packageId = details.packageId();
566
if (packageId == m_packages[i].packageID) {
561
567
m_packages[i].size = size;
562
568
if (m_checkable) {
563
569
// updates the checked packages as well
564
if (m_checkedPackages.contains(packageID)) {
570
if (m_checkedPackages.contains(packageId)) {
565
571
// Avoid checking packages that aren't checked
566
m_checkedPackages[packageID].size = size;
572
m_checkedPackages[packageId].size = size;
597
603
if (!pkgs.isEmpty()) {
598
m_fetchInstalledVersionsTransaction = new Transaction(this);
604
m_fetchInstalledVersionsTransaction = Daemon::resolve(pkgs, Transaction::FilterInstalled);;
599
605
connect(m_fetchInstalledVersionsTransaction, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
600
606
this, SLOT(updateCurrentVersion(PackageKit::Transaction::Info,QString,QString)));
601
607
connect(m_fetchInstalledVersionsTransaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
602
608
this, SLOT(fetchCurrentVersionsFinished()));
603
m_fetchInstalledVersionsTransaction->resolve(pkgs, Transaction::FilterInstalled);
644
649
void PackageModel::getUpdates(bool fetchCurrentVersions, bool selected)
647
Transaction *transaction = new Transaction(this);
652
m_getUpdatesTransaction = Daemon::getUpdates();
649
connect(transaction, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
654
connect(m_getUpdatesTransaction, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
650
655
this, SLOT(addSelectedPackage(PackageKit::Transaction::Info,QString,QString)));
652
connect(transaction, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
657
connect(m_getUpdatesTransaction, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
653
658
this, SLOT(addPackage(PackageKit::Transaction::Info,QString,QString)));
655
connect(transaction, SIGNAL(errorCode(PackageKit::Transaction::Error,QString)),
660
connect(m_getUpdatesTransaction, SIGNAL(errorCode(PackageKit::Transaction::Error,QString)),
656
661
this, SLOT(errorCode(PackageKit::Transaction::Error,QString)));
657
// connect(transaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
662
// connect(m_getUpdatesTransaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
658
663
// m_busySeq, SLOT(stop()));
659
connect(transaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
660
this, SLOT(finished()));
664
// connect(m_getUpdatesTransaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
665
// this, SLOT(finished()));
661
666
// This is required to estimate download size
662
connect(transaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
667
connect(m_getUpdatesTransaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
663
668
this, SLOT(fetchSizes()));
664
669
if (fetchCurrentVersions) {
665
connect(transaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
670
connect(m_getUpdatesTransaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
666
671
this, SLOT(fetchCurrentVersions()));
668
// connect(transaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
669
// this, SLOT(getUpdatesFinished()));
673
connect(m_getUpdatesTransaction, SIGNAL(finished(PackageKit::Transaction::Exit,uint)),
674
this, SLOT(getUpdatesFinished()));
670
675
// get all updates
671
transaction->getUpdates();
673
Transaction::InternalError error = transaction->internalError();
675
transaction->deleteLater();
676
// KMessageBox::sorry(this, PkStrings::daemonError(error));
678
// m_busySeq->start();
682
678
void PackageModel::toggleSelection(const QString &packageID)