From b9c233802f08215841ea8e4441d7d358d301d924 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 4 Mar 2019 22:36:59 +0100 Subject: [PATCH] Ref T419, use version from IDatastoreObject in CArtifact * add QVersion * remove version parts from CArtifact --- src/blackmisc/db/artifact.cpp | 10 +++------- src/blackmisc/db/artifact.h | 14 -------------- src/blackmisc/db/artifactlist.cpp | 8 ++++---- src/blackmisc/db/artifactlist.h | 2 +- src/blackmisc/db/datastore.cpp | 5 +++++ src/blackmisc/db/datastore.h | 9 ++++++++- src/swiftlauncher/swiftlauncher.cpp | 2 +- 7 files changed, 22 insertions(+), 28 deletions(-) diff --git a/src/blackmisc/db/artifact.cpp b/src/blackmisc/db/artifact.cpp index 2df420303..8262ad701 100644 --- a/src/blackmisc/db/artifact.cpp +++ b/src/blackmisc/db/artifact.cpp @@ -25,10 +25,11 @@ namespace BlackMisc CArtifact::CArtifact( const QString &name, const QString &version, const QString &md5, CArtifact::ArtifactType type, int size, bool existing, const CPlatform &platform): - m_name(name.trimmed()), m_version(trimVersionString(version)), + m_name(name.trimmed()), m_md5(md5), m_type(static_cast(type)), m_size(size), m_existing(existing), m_platform(platform) { + this->setVersion(trimVersionString(version)); if (!name.isEmpty() && version.isEmpty()) { m_version = versionNumberFromFilename(name); @@ -84,15 +85,10 @@ namespace BlackMisc return rf; } - QVersionNumber CArtifact::getQVersion() const - { - return QVersionNumber::fromString(getVersionString()); - } - bool CArtifact::isNewerThanCurrentBuild() const { if (this->isUnknown()) { return false; } - if (this->getVersionString().isEmpty()) { return false; } + if (!this->hasVersion()) { return false; } return this->getQVersion() > CBuildConfig::getVersion(); } diff --git a/src/blackmisc/db/artifact.h b/src/blackmisc/db/artifact.h index 345f87135..c405d81df 100644 --- a/src/blackmisc/db/artifact.h +++ b/src/blackmisc/db/artifact.h @@ -16,7 +16,6 @@ #include "blackmisc/platform.h" #include "blackmisc/blackmiscexport.h" #include "blackmisc/network/remotefile.h" -#include #include namespace BlackMisc @@ -59,9 +58,6 @@ namespace BlackMisc CArtifact(const QString &name, const QString &version, const QString &md5, ArtifactType type, int size, bool existing, const CPlatform &platform); - //! Destructor. - ~CArtifact() {} - //! Having name? bool hasName() const { return !m_name.isEmpty(); } @@ -74,12 +70,6 @@ namespace BlackMisc //! Matching name? bool matchesName(const QString &name, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; - //! Having a version string? - bool hasVersionString() const { return !m_version.isEmpty(); } - - //! Version for platform - const QString &getVersionString() const { return m_version; } - //! Get type ArtifactType getType() const { return static_cast(m_type); } @@ -132,9 +122,6 @@ namespace BlackMisc //! \note requires distributions Network::CRemoteFile asRemoteFile() const; - //! Version as QVersion - QVersionNumber getQVersion() const; - //! Newer tahn the current build bool isNewerThanCurrentBuild() const; @@ -158,7 +145,6 @@ namespace BlackMisc private: QString m_name; //!< channel the files belong to - QString m_version; //!< version string QString m_md5; //!< MD5 checksum int m_type = static_cast(UnknownArtifact); //!< artifact type int m_size = -1; //!< size diff --git a/src/blackmisc/db/artifactlist.cpp b/src/blackmisc/db/artifactlist.cpp index 26cc8e1db..d47c069c5 100644 --- a/src/blackmisc/db/artifactlist.cpp +++ b/src/blackmisc/db/artifactlist.cpp @@ -150,9 +150,9 @@ namespace BlackMisc return rfs; } - QString CArtifactList::getLatestVersionString() const + QString CArtifactList::getLatestVersion() const { - return this->getLatestArtifactOrDefault().getVersionString(); + return this->getLatestArtifactOrDefault().getVersion(); } QVersionNumber CArtifactList::getLatestQVersion() const @@ -182,9 +182,9 @@ namespace BlackMisc QStringList versions; for (const CArtifact &artifact : as_const(copy)) { - if (artifact.hasVersionString()) + if (artifact.hasVersion()) { - versions.push_back(artifact.getVersionString()); + versions.push_back(artifact.getVersion()); } } return versions; diff --git a/src/blackmisc/db/artifactlist.h b/src/blackmisc/db/artifactlist.h index 0bbb558e9..19cc3c948 100644 --- a/src/blackmisc/db/artifactlist.h +++ b/src/blackmisc/db/artifactlist.h @@ -88,7 +88,7 @@ namespace BlackMisc Network::CRemoteFileList asRemoteFiles() const; //! Latest version - QString getLatestVersionString() const; + QString getLatestVersion() const; //! Latest version QVersionNumber getLatestQVersion() const; diff --git a/src/blackmisc/db/datastore.cpp b/src/blackmisc/db/datastore.cpp index c2ca8b675..af2ce8264 100644 --- a/src/blackmisc/db/datastore.cpp +++ b/src/blackmisc/db/datastore.cpp @@ -19,6 +19,11 @@ namespace BlackMisc { namespace Db { + QVersionNumber IDatastoreObject::getQVersion() const + { + return QVersionNumber::fromString(this->getVersion()); + } + void IDatastoreObject::setTimestampVersionFromDatabaseJson(const QJsonObject &json, const QString &prefix) { // we check 2 formats, the DB format and the backend object format diff --git a/src/blackmisc/db/datastore.h b/src/blackmisc/db/datastore.h index 8bbae33ea..277efae7b 100644 --- a/src/blackmisc/db/datastore.h +++ b/src/blackmisc/db/datastore.h @@ -19,8 +19,9 @@ #include #include -#include +#include #include +#include namespace BlackMisc { @@ -52,6 +53,12 @@ namespace BlackMisc //! Version info const QString &getVersion() const { return m_version; } + //! Version as QVersion + QVersionNumber getQVersion() const; + + //! Having a version?s + bool hasVersion() const { return !m_version.isEmpty(); } + //! Version info void setVersion(const QString &version) { m_version = version; } diff --git a/src/swiftlauncher/swiftlauncher.cpp b/src/swiftlauncher/swiftlauncher.cpp index ee5ff9198..c8c736ccf 100644 --- a/src/swiftlauncher/swiftlauncher.cpp +++ b/src/swiftlauncher/swiftlauncher.cpp @@ -229,7 +229,7 @@ void CSwiftLauncher::setHeaderInfo(const CArtifact &latestArtifact) { static const QString t("New version '%1' ['%2'/'%3']"); ui->lbl_HeaderInfo->setText( - t.arg(latestArtifact.getVersionString(), latestArtifact.getPlatform().getPlatformName(), + t.arg(latestArtifact.getVersion(), latestArtifact.getPlatform().getPlatformName(), latestArtifact.getMostStableDistribution().getChannel())); ui->lbl_HeaderInfo->setStyleSheet("background: red; color: yellow;"); }