Paste P390

Masterwork From Distant Lands
ActivePublic

Authored by apol on May 22 2019, 4:23 PM.
diff --git a/samba/filepropertiesplugin/sambausershareplugin.cpp b/samba/filepropertiesplugin/sambausershareplugin.cpp
index aba5592..fba91d0 100644
--- a/samba/filepropertiesplugin/sambausershareplugin.cpp
+++ b/samba/filepropertiesplugin/sambausershareplugin.cpp
@@ -148,11 +148,20 @@ void SambaUserSharePlugin::installSamba()
QString package = QStringLiteral(SAMBA_PACKAGE_NAME);
QStringList distroSambaPackages = package.split(QLatin1Char(','));
- PackageKit::Transaction *transaction = PackageKit::Daemon::resolve(distroSambaPackages,
- PackageKit::Transaction::FilterArch);
+ PackageKit::Transaction *transaction = PackageKit::Daemon::resolve(distroSambaPackages, PackageKit::Transaction::FilterArch);
+
+ QSharedPointer<QStringList> pkgids(new QStringList);
connect(transaction,
- SIGNAL(package(PackageKit::Transaction::Info,QString,QString)),
- SLOT(packageInstall(PackageKit::Transaction::Info,QString,QString)));
+ &PackageKit::Transaction::package,
+ this,
+ [pkgids] (PackageKit::Transaction::Info /*info*/, const QString& packageId, const QString& /*summary*/) { pkgids->append(packageId); });
+ connect(transaction, &PackageKit::Transaction::finished, this, [this, pkgids] (PackageKit::Transaction::Exit exit) {
+ if (exit != PackageKit::Transaction::ExitSuccess)
+ return;
+ auto installTransaction = PackageKit::Daemon::installPackages(*pkgids);
+ connect(installTransaction, &PackageKit::Transaction::finished,
+ this, &SambaUserSharePlugin::packageFinished);
+ });
m_sambaStatusMessage->setText(i18n("Installing Samba..."));
m_installProgress->setMaximum(0);
@@ -161,18 +170,6 @@ void SambaUserSharePlugin::installSamba()
m_installSambaButton->hide();
}
-void SambaUserSharePlugin::packageInstall(PackageKit::Transaction::Info info,
- const QString &packageId,
- const QString &summary)
-{
- Q_UNUSED(info);
- Q_UNUSED(summary);
- PackageKit::Transaction *installTransaction = PackageKit::Daemon::installPackage(packageId);
- connect(installTransaction,
- SIGNAL(finished(PackageKit::Transaction::Exit, uint)),
- SLOT(packageFinished(PackageKit::Transaction::Exit, uint)));
-}
-
void SambaUserSharePlugin::packageFinished(PackageKit::Transaction::Exit status, uint runtime)
{
Q_UNUSED(runtime);
diff --git a/samba/filepropertiesplugin/sambausershareplugin.h b/samba/filepropertiesplugin/sambausershareplugin.h
index 74ab9d6..7a73712 100644
--- a/samba/filepropertiesplugin/sambausershareplugin.h
+++ b/samba/filepropertiesplugin/sambausershareplugin.h
@@ -53,9 +53,6 @@ private Q_SLOTS:
void checkShareName(const QString &name);
#ifdef SAMBA_INSTALL
void installSamba();
- void packageInstall(PackageKit::Transaction::Info info,
- const QString &packageId,
- const QString &summary);
void packageFinished(PackageKit::Transaction::Exit status, uint runtime);
#endif // SAMBA_INSTALL
apol edited the content of this paste. (Show Details)May 22 2019, 4:23 PM
apol changed the title of this paste from untitled to Masterwork From Distant Lands.