VersionNumber parsing

This commit is contained in:
Nav
2021-10-19 23:00:54 +01:00
parent 10b80e24ba
commit 8433a87fbf
9 changed files with 116 additions and 16 deletions

View File

@@ -11,6 +11,7 @@
#include "src/Application.hpp"
#include "InsightWorker/Tasks/QueryLatestVersionNumber.hpp"
#include "src/VersionNumber.hpp"
using namespace Bloom;
using namespace Bloom::Exceptions;
@@ -160,20 +161,20 @@ void Insight::shutdown() {
}
void Insight::checkBloomVersion() {
auto currentVersionNumber = QString::fromStdString(Application::VERSION_STR);
auto currentVersionNumber = Application::VERSION;
auto versionQueryTask = new QueryLatestVersionNumber(
QString::fromStdString(Application::VERSION_STR)
currentVersionNumber
);
this->connect(
versionQueryTask,
&QueryLatestVersionNumber::latestVersionNumberRetrieved,
this,
[this, currentVersionNumber] (const QString& latestVersionNumber) {
if (latestVersionNumber != currentVersionNumber) {
[this, currentVersionNumber] (const VersionNumber& latestVersionNumber) {
if (latestVersionNumber > currentVersionNumber) {
Logger::warning(
"Bloom v" + latestVersionNumber.toStdString()
"Bloom v" + latestVersionNumber.toString()
+ " is available to download - upgrade via https://bloom.oscillate.io"
);
}

View File

@@ -13,7 +13,7 @@ void QueryLatestVersionNumber::run(TargetControllerConsole& targetControllerCons
auto networkAccessManager = new QNetworkAccessManager(this);
auto queryVersionEndpointUrl = QUrl("http://bloom.local/latest-version");
queryVersionEndpointUrl.setQuery(QUrlQuery({
{"currentVersionNumber", this->currentVersionNumber}
{"currentVersionNumber", QString::fromStdString(this->currentVersionNumber.toString())}
}));
auto response = networkAccessManager->get(QNetworkRequest(queryVersionEndpointUrl));
@@ -22,7 +22,9 @@ void QueryLatestVersionNumber::run(TargetControllerConsole& targetControllerCons
if (jsonResponseObject.contains("latestVersionNumber")) {
emit this->latestVersionNumberRetrieved(
jsonResponseObject.value("latestVersionNumber").toString()
VersionNumber(
jsonResponseObject.value("latestVersionNumber").toString().toStdString()
)
);
}
});

View File

@@ -2,6 +2,8 @@
#include "InsightWorkerTask.hpp"
#include "src/VersionNumber.hpp"
namespace Bloom
{
class QueryLatestVersionNumber: public InsightWorkerTask
@@ -9,16 +11,16 @@ namespace Bloom
Q_OBJECT
public:
QueryLatestVersionNumber(const QString& currentVersionNumber):
QueryLatestVersionNumber(const VersionNumber& currentVersionNumber):
InsightWorkerTask(), currentVersionNumber(currentVersionNumber) {}
signals:
void latestVersionNumberRetrieved(const QString& latestVersionNumber);
void latestVersionNumberRetrieved(const VersionNumber& latestVersionNumber);
protected:
void run(TargetControllerConsole& targetControllerConsole) override;
private:
QString currentVersionNumber;
VersionNumber currentVersionNumber;
};
}

View File

@@ -37,6 +37,6 @@ AboutWindow::AboutWindow(QWidget* parent): QObject(parent) {
auto versionLabel = this->windowWidget->findChild<QLabel*>("version-label");
if (versionLabel != nullptr) {
versionLabel->setText("Bloom v" + QString::fromStdString(Application::VERSION_STR));
versionLabel->setText("Bloom v" + QString::fromStdString(Application::VERSION.toString()));
}
}