summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleix Pol <aleixpol@kde.org>2015-11-03 15:54:57 (GMT)
committerAleix Pol <aleixpol@kde.org>2015-11-03 15:54:57 (GMT)
commitd717480bafa1b152f499ee1409a193be35c57a2f (patch)
treec3b8e117955928c6f3a246f7b8724da5358be5f1
parentcbb878fa24554b4309527af2b946253c4cca2c0f (diff)
parenta24e495c2eea95e76b1389bdffaf27e30d7e273a (diff)
Merge branch 'Plasma/5.4'
-rw-r--r--discover/org.kde.discover.desktop2
-rw-r--r--libmuon/backends/PackageKitBackend/PKTransaction.cpp16
-rw-r--r--libmuon/backends/PackageKitBackend/PackageKitResource.cpp5
-rw-r--r--libmuon/backends/PackageKitBackend/PackageKitResource.h2
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,