mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-08-04 06:45:45 +02:00
PluginStoreEndPoint: add possibility to change the plugin store end point
Gitlab: #1341 Change-Id: Ib4516c6cf2361a4976230a6b056a4c072932a92b
This commit is contained in:
parent
f8f1301fa0
commit
d765fc9297
5 changed files with 18 additions and 19 deletions
|
@ -57,6 +57,7 @@ extern const QString defaultDownloadPath;
|
|||
X(WindowState, QWindow::AutomaticVisibility) \
|
||||
X(EnableExperimentalSwarm, false) \
|
||||
X(LANG, "SYSTEM") \
|
||||
X(PluginStoreEndpoint, "https://plugins.jami.net") \
|
||||
X(PositionShareDuration, 15) \
|
||||
X(PositionShareLimit, true) \
|
||||
X(FlipSelf, true) \
|
||||
|
|
|
@ -40,12 +40,11 @@ PluginAdapter::PluginAdapter(LRCInstance* instance,
|
|||
QString baseUrl)
|
||||
: QmlAdapterBase(instance, parent)
|
||||
, pluginStoreListModel_(new PluginStoreListModel(instance, this))
|
||||
, pluginVersionManager_(new PluginVersionManager(instance, baseUrl, this))
|
||||
, pluginVersionManager_(new PluginVersionManager(instance, this))
|
||||
, pluginListModel_(new PluginListModel(instance, this))
|
||||
, lrcInstance_(instance)
|
||||
, settingsManager_(settingsManager)
|
||||
, tempPath_(QDir::tempPath())
|
||||
, baseUrl_(baseUrl)
|
||||
|
||||
{
|
||||
QML_REGISTERSINGLETONTYPE_POBJECT(NS_MODELS, pluginStoreListModel_, "PluginStoreListModel");
|
||||
|
@ -99,7 +98,7 @@ PluginAdapter::getPluginsFromStore()
|
|||
const auto& language = settingsManager_->getLanguage();
|
||||
header["Accept-Language"] = QByteArray(language.toStdString().c_str(), language.size());
|
||||
pluginVersionManager_
|
||||
->sendGetRequest(QUrl(baseUrl_
|
||||
->sendGetRequest(QUrl(baseUrl()
|
||||
+ "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]),
|
||||
header,
|
||||
[this, errorHandler](const QByteArray& data) {
|
||||
|
@ -127,7 +126,7 @@ PluginAdapter::getPluginDetails(const QString& pluginId)
|
|||
const auto& language = settingsManager_->getLanguage();
|
||||
header["Accept-Language"] = QByteArray(language.toStdString().c_str(), language.size());
|
||||
pluginVersionManager_
|
||||
->sendGetRequest(QUrl(baseUrl_ + "/details/" + pluginId
|
||||
->sendGetRequest(QUrl(baseUrl() + "/details/" + pluginId
|
||||
+ "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"]),
|
||||
header,
|
||||
[this](const QByteArray& data) {
|
||||
|
@ -214,19 +213,19 @@ PluginAdapter::checkVersionStatus(const QString& pluginId)
|
|||
QString
|
||||
PluginAdapter::baseUrl() const
|
||||
{
|
||||
return baseUrl_;
|
||||
return settingsManager_->getValue("PluginStoreEndpoint").toString();
|
||||
}
|
||||
|
||||
QString
|
||||
PluginAdapter::getIconUrl(const QString& pluginId) const
|
||||
{
|
||||
return baseUrl_ + "/icons/" + pluginId
|
||||
return baseUrl() + "/icons/" + pluginId
|
||||
+ "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"];
|
||||
}
|
||||
|
||||
QString
|
||||
PluginAdapter::getBackgroundImageUrl(const QString& pluginId) const
|
||||
{
|
||||
return baseUrl_ + "/backgrounds/" + pluginId
|
||||
return baseUrl() + "/backgrounds/" + pluginId
|
||||
+ "?arch=" + lrcInstance_->pluginModel().getPlatformInfo()["os"];
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "pluginlistmodel.h"
|
||||
#include "pluginhandlerlistmodel.h"
|
||||
#include "pluginlistpreferencemodel.h"
|
||||
#include "appsettingsmanager.h"
|
||||
#include "pluginversionmanager.h"
|
||||
#include "pluginstorelistmodel.h"
|
||||
#include "preferenceitemlistmodel.h"
|
||||
|
@ -78,8 +79,8 @@ private:
|
|||
std::unique_ptr<PluginHandlerListModel> pluginHandlerListModel_;
|
||||
|
||||
LRCInstance* lrcInstance_;
|
||||
AppSettingsManager* settingsManager_;
|
||||
std::mutex mtx_;
|
||||
QString tempPath_;
|
||||
QString baseUrl_;
|
||||
AppSettingsManager* settingsManager_;
|
||||
};
|
||||
|
|
|
@ -33,7 +33,7 @@ public:
|
|||
Impl(LRCInstance* instance, PluginVersionManager& parent)
|
||||
: QObject(nullptr)
|
||||
, parent_(parent)
|
||||
, appSettingsManager_(new AppSettingsManager(this))
|
||||
, settingsManager_(new AppSettingsManager(this))
|
||||
, lrcInstance_(instance)
|
||||
, tempPath_(QDir::tempPath())
|
||||
, updateTimer_(new QTimer(this))
|
||||
|
@ -78,12 +78,12 @@ public:
|
|||
|
||||
bool isAutoUpdaterEnabled()
|
||||
{
|
||||
return appSettingsManager_->getValue(Settings::Key::PluginAutoUpdate).toBool();
|
||||
return settingsManager_->getValue(Settings::Key::PluginAutoUpdate).toBool();
|
||||
}
|
||||
|
||||
void setAutoUpdate(bool state)
|
||||
{
|
||||
appSettingsManager_->setValue(Settings::Key::PluginAutoUpdate, state);
|
||||
settingsManager_->setValue(Settings::Key::PluginAutoUpdate, state);
|
||||
}
|
||||
|
||||
void checkVersionStatus(const QString& pluginId)
|
||||
|
@ -103,7 +103,8 @@ public:
|
|||
return;
|
||||
}
|
||||
|
||||
parent_.sendGetRequest(QUrl(parent_.baseUrl + "/versions/" + plugin.id + "?arch="
|
||||
parent_.sendGetRequest(QUrl(settingsManager_->getValue("PluginStoreEndpoint").toString()
|
||||
+ "/versions/" + plugin.id + "?arch="
|
||||
+ lrcInstance_->pluginModel().getPlatformInfo()["os"]),
|
||||
[this, plugin](const QByteArray& data) {
|
||||
// `data` represents the version in this case.
|
||||
|
@ -121,7 +122,7 @@ public:
|
|||
void installRemotePlugin(const QString& pluginId)
|
||||
{
|
||||
parent_.downloadFile(
|
||||
QUrl(parent_.baseUrl + "/download/"
|
||||
QUrl(settingsManager_->getValue("PluginStoreEndpoint").toString() + "/download/"
|
||||
+ lrcInstance_->pluginModel().getPlatformInfo()["os"] + "/" + pluginId),
|
||||
pluginId,
|
||||
0,
|
||||
|
@ -158,15 +159,14 @@ public:
|
|||
};
|
||||
|
||||
PluginVersionManager& parent_;
|
||||
AppSettingsManager* appSettingsManager_ {nullptr};
|
||||
AppSettingsManager* settingsManager_ {nullptr};
|
||||
LRCInstance* lrcInstance_ {nullptr};
|
||||
QString tempPath_;
|
||||
QTimer* updateTimer_;
|
||||
};
|
||||
|
||||
PluginVersionManager::PluginVersionManager(LRCInstance* instance, QString& baseUrl, QObject* parent)
|
||||
PluginVersionManager::PluginVersionManager(LRCInstance* instance, QObject* parent)
|
||||
: NetworkManager(&instance->connectivityMonitor(), parent)
|
||||
, baseUrl(baseUrl)
|
||||
, pimpl_(std::make_unique<Impl>(instance, *this))
|
||||
{}
|
||||
|
||||
|
|
|
@ -46,9 +46,7 @@ class PluginVersionManager final : public NetworkManager
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit PluginVersionManager(LRCInstance* instance,
|
||||
QString& baseUrl,
|
||||
QObject* parent = nullptr);
|
||||
explicit PluginVersionManager(LRCInstance* instance, QObject* parent = nullptr);
|
||||
~PluginVersionManager();
|
||||
|
||||
Q_INVOKABLE bool isAutoUpdaterEnabled();
|
||||
|
|
Loading…
Add table
Reference in a new issue