[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [discover] libdiscover/backends/PackageKitBackend: Forward proxy information to the PackageKit daemo
From: Aleix Pol <null () kde ! org>
Date: 2018-09-20 10:15:44
Message-ID: E1g2vzs-0004RO-Kx () code ! kde ! org
[Download RAW message or body]
Git commit e08bc8fd55b90895560a60cccc0d1b583c6e42a9 by Aleix Pol.
Committed on 20/09/2018 at 10:13.
Pushed by apol into branch 'master'.
Forward proxy information to the PackageKit daemon
At start and upon change.
BUG: 398321
M +31 -3 libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
M +1 -0 libdiscover/backends/PackageKitBackend/PackageKitBackend.h
https://commits.kde.org/discover/e08bc8fd55b90895560a60cccc0d1b583c6e42a9
diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp \
b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp index \
eeab5e69..8ed581cc 100644
--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
@@ -39,14 +39,16 @@
#include <QTimer>
#include <QStandardPaths>
#include <QFile>
+#include <QAction>
+#include <QMimeDatabase>
+#include <QFileSystemWatcher>
#include <PackageKit/Transaction>
#include <PackageKit/Daemon>
#include <PackageKit/Details>
#include <KLocalizedString>
-#include <QAction>
-#include <QMimeDatabase>
+#include <KProtocolManager>
#include "utils.h"
#include "config-paths.h"
@@ -92,6 +94,13 @@ PackageKitBackend::PackageKitBackend(QObject* parent)
connect(PackageKit::Daemon::global(), &PackageKit::Daemon::isRunningChanged, \
this, &PackageKitBackend::checkDaemonRunning);
connect(m_reviews.data(), &OdrsReviewsBackend::ratingsReady, this, \
&AbstractResourcesBackend::emitRatingsReady);
+ auto proxyWatch = new QFileSystemWatcher(this);
+ proxyWatch->addPath(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) \
+ QLatin1String("/kioslaverc")); + connect(proxyWatch, \
&QFileSystemWatcher::fileChanged, this, [this](){ + \
KProtocolManager::reparseConfiguration(); + updateProxy();
+ });
+
SourcesModel::global()->addSourcesBackend(new PackageKitSourcesBackend(this));
reloadPackageList();
@@ -104,6 +113,24 @@ PackageKitBackend::PackageKitBackend(QObject* parent)
PackageKitBackend::~PackageKitBackend() = default;
+void PackageKitBackend::updateProxy()
+{
+
+ if (PackageKit::Daemon::isRunning()) {
+ static bool everHad = KProtocolManager::useProxy();
+ if (!everHad && !KProtocolManager::useProxy())
+ return;
+
+ everHad = KProtocolManager::useProxy();
+ PackageKit::Daemon::global()->setProxy(KProtocolManager::proxyFor(QLatin1String("http")),
+ \
KProtocolManager::proxyFor(QLatin1String("https")), + \
KProtocolManager::proxyFor(QLatin1String("ftp")), + \
KProtocolManager::proxyFor(QLatin1String("socks")), + \
{}, + {});
+ }
+}
+
bool PackageKitBackend::isFetching() const
{
return m_isFetching;
@@ -598,7 +625,8 @@ void PackageKitBackend::checkDaemonRunning()
{
if (!PackageKit::Daemon::isRunning()) {
qWarning() << "PackageKit stopped running!";
- }
+ } else
+ updateProxy();
}
AbstractBackendUpdater* PackageKitBackend::backendUpdater() const
diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h \
b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h index 4cace1bc..5f593571 \
100644
--- a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
+++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h
@@ -100,6 +100,7 @@ class DISCOVERCOMMON_EXPORT PackageKitBackend : public \
AbstractResourcesBackend void includePackagesToAdd();
void performDetailsFetch();
AppPackageKitResource* addComponent(const AppStream::Component& component, \
const QStringList& pkgNames); + void updateProxy();
QScopedPointer<AppStream::Pool> m_appdata;
PackageKitUpdater* m_updater;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic