ExtensionManager: Make remote repo access optional

Off by default.

Change-Id: Ib27fa134f095be7c923cc4ce41ef4e2f6ec01ff0
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
hjk
2024-06-28 15:44:41 +02:00
parent 7fb28d6bdc
commit 62ebdfd406
5 changed files with 92 additions and 3 deletions

View File

@@ -5,7 +5,7 @@
#include "extensionmanagertr.h"
#include "extensionsmodel.h"
#include "utils/hostosinfo.h"
#include "extensionmanagersettings.h"
#ifdef WITH_TESTS
#include "extensionmanager_test.h"
@@ -29,6 +29,7 @@
#include <utils/elidinglabel.h>
#include <utils/fancylineedit.h>
#include <utils/hostosinfo.h>
#include <utils/icon.h>
#include <utils/layoutbuilder.h>
#include <utils/networkaccessmanager.h>
@@ -399,14 +400,18 @@ void ExtensionsBrowser::fetchExtensions()
// d->model->setExtensionsJson(testData("defaultpacks")); return;
#endif // WITH_TESTS
if (!settings().useExternalRepo()) {
d->model->setExtensionsJson({});
return;
}
using namespace Tasking;
const auto onQuerySetup = [this](NetworkQuery &query) {
const QString host = "https://qc-extensions.qt.io";
const QString url = "%1/api/v1/search?request=";
const QString requestTemplate
= R"({"version":"%1","host_os":"%2","host_os_version":"%3","host_architecture":"%4","page_size":200})";
const QString request = url.arg(host) + requestTemplate
const QString request = url.arg(settings().externalRepoUrl()) + requestTemplate
.arg(QCoreApplication::applicationVersion())
.arg(osTypeToString(HostOsInfo::hostOs()))
.arg(QSysInfo::productVersion())