diff options
| author | Aleix Pol <aleixpol@kde.org> | 2015-11-03 15:54:57 (GMT) |
|---|---|---|
| committer | Aleix Pol <aleixpol@kde.org> | 2015-11-03 15:54:57 (GMT) |
| commit | d717480bafa1b152f499ee1409a193be35c57a2f (patch) | |
| tree | c3b8e117955928c6f3a246f7b8724da5358be5f1 | |
| parent | cbb878fa24554b4309527af2b946253c4cca2c0f (diff) | |
| parent | a24e495c2eea95e76b1389bdffaf27e30d7e273a (diff) | |
Merge branch 'Plasma/5.4'
4 files changed, 17 insertions, 8 deletions
diff --git a/discover/org.kde.discover.desktop b/discover/org.kde.discover.desktop index d80af55..be9128d 100644 --- a/discover/org.kde.discover.desktop +++ b/discover/org.kde.discover.desktop @@ -121,7 +121,7 @@ Keywords[nb]=program;programvare;pakkebrønn;pakke;installere;fjerne;oppdatere;a Keywords[nds]=programm;software;repository;archiev,paket;installeren;wegmaken;opfrischen;update;apps;programmen; Keywords[nl]=programma;software;opslagruimte;pakket;installeren;verwijderen;bijwerken;apps;toepassingen;applicaties; Keywords[nn]=program;programvare;pakkebrønn;pakke;pakkar;installera;installering;fjerna;fjerning;oppdatera;oppdatering;app;appar;applikasjonar; -Keywords[pl]=program;oprogramowanie;repozytorium;archiwum;pakiet;paczka;instaluj;zainstaluj;usuń;odinstaluj;uaktualnij;aktualizuj;programy;aplikacje;deb; +Keywords[pl]=program,oprogramowanie,repozytorium,archiwum,pakiet,paczka,instaluj,zainstaluj,usuń,odinstaluj,uaktualnij,aktualizuj,programy,aplikacje,deb Keywords[pt]=programa;software;repositório;arquivo;pacote;instalar;remover;actualizar;deb;aplicações; Keywords[pt_BR]=programa;software;repositório;pacote;instalar;instalação;remover;atualizar;aplicativos;apps;aplicações; Keywords[ro]=program;software;depozit;arhivă;pachet;instalare;elimină;actualizare;aplicații; diff --git a/libmuon/backends/PackageKitBackend/PKTransaction.cpp b/libmuon/backends/PackageKitBackend/PKTransaction.cpp index ce08d3d..101a0b0 100644 --- a/libmuon/backends/PackageKitBackend/PKTransaction.cpp +++ b/libmuon/backends/PackageKitBackend/PKTransaction.cpp @@ -97,17 +97,25 @@ void PKTransaction::cleanup(PackageKit::Transaction::Exit exit, uint runtime) if (exit == PackageKit::Transaction::ExitEulaRequired) return; - setStatus(Transaction::DoneStatus); if (exit == PackageKit::Transaction::ExitCancelled) { deleteLater(); } else { disconnect(m_trans, nullptr, this, nullptr); m_trans = nullptr; - qobject_cast<PackageKitBackend*>(resource()->backend())->removeTransaction(this); } PackageKit::Transaction* t = PackageKit::Daemon::resolve(resource()->packageName(), PackageKit::Transaction::FilterArch | PackageKit::Transaction::FilterLast); - qobject_cast<PackageKitResource*>(resource())->resetPackageIds(); - connect(t, SIGNAL(package(PackageKit::Transaction::Info,QString,QString)), resource(), SLOT(addPackageId(PackageKit::Transaction::Info, QString,QString))); + connect(t, &PackageKit::Transaction::package, t, [t](PackageKit::Transaction::Info info, const QString& packageId) { + QMap<PackageKit::Transaction::Info, QStringList> packages = t->property("packages").value<QMap<PackageKit::Transaction::Info, QStringList>>(); + packages[info].append(packageId); + t->setProperty("packages", qVariantFromValue(packages)); + }); + + connect(t, &PackageKit::Transaction::finished, t, [t, this](PackageKit::Transaction::Exit status, uint runtime){ + QMap<PackageKit::Transaction::Info, QStringList> packages = t->property("packages").value<QMap<PackageKit::Transaction::Info, QStringList>>(); + qobject_cast<PackageKitResource*>(resource())->setPackages(packages); + setStatus(Transaction::DoneStatus); + qobject_cast<PackageKitBackend*>(resource()->backend())->removeTransaction(this); + }); } PackageKit::Transaction* PKTransaction::transaction() diff --git a/libmuon/backends/PackageKitBackend/PackageKitResource.cpp b/libmuon/backends/PackageKitBackend/PackageKitResource.cpp index f1ee811..07e873d 100644 --- a/libmuon/backends/PackageKitBackend/PackageKitResource.cpp +++ b/libmuon/backends/PackageKitBackend/PackageKitResource.cpp @@ -150,9 +150,10 @@ AbstractResource::State PackageKitResource::state() return Broken; } -void PackageKitResource::resetPackageIds() +void PackageKitResource::setPackages(const QMap<PackageKit::Transaction::Info, QStringList> &packages) { - m_packages.clear(); + m_packages = packages; + emit stateChanged(); } void PackageKitResource::addPackageId(PackageKit::Transaction::Info info, const QString &packageId, const QString &/*summary*/) diff --git a/libmuon/backends/PackageKitBackend/PackageKitResource.h b/libmuon/backends/PackageKitBackend/PackageKitResource.h index a35d9dc..f0de11b 100644 --- a/libmuon/backends/PackageKitBackend/PackageKitResource.h +++ b/libmuon/backends/PackageKitBackend/PackageKitResource.h @@ -59,11 +59,11 @@ class PackageKitResource : public AbstractResource QString availablePackageId() const; QMap<PackageKit::Transaction::Info, QStringList> packages() const { return m_packages; } + void setPackages(const QMap<PackageKit::Transaction::Info, QStringList> &packages); public slots: void addPackageId(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); void setDetails(const PackageKit::Details& details); - void resetPackageIds(); private slots: void updateDetail(const QString &packageID, |
