ui: Show news sent with update check on start screen
* News are passed as JSON string, containing an array of news items. * Each news item has version and content (html). * Items can be filtered by min/max version, OS and license. The first item that fits is used. * Items can be important, which highlights the news box. * News are not shown if older than 5 days. fortune cookie message = You will be financially successful in case your actions are well planned.
This commit is contained in:
@@ -24,7 +24,7 @@ std::shared_ptr<LicenseChecker> LicenseChecker::getInstance()
|
||||
return s_instance;
|
||||
}
|
||||
|
||||
std::string LicenseChecker::getCurrentLicenseString() const
|
||||
std::string LicenseChecker::getCurrentLicenseString()
|
||||
{
|
||||
License license;
|
||||
bool isLoaded = license.loadFromEncodedString(
|
||||
@@ -38,7 +38,7 @@ std::string LicenseChecker::getCurrentLicenseString() const
|
||||
return "";
|
||||
}
|
||||
|
||||
void LicenseChecker::saveCurrentLicenseString(const std::string& licenseString) const
|
||||
void LicenseChecker::saveCurrentLicenseString(const std::string& licenseString)
|
||||
{
|
||||
License license;
|
||||
bool isLoaded = license.loadFromString(licenseString);
|
||||
@@ -55,7 +55,7 @@ bool LicenseChecker::isCurrentLicenseValid()
|
||||
return checkCurrentLicense() == LICENSE_VALID;
|
||||
}
|
||||
|
||||
LicenseChecker::LicenseState LicenseChecker::checkCurrentLicense() const
|
||||
LicenseChecker::LicenseState LicenseChecker::checkCurrentLicense()
|
||||
{
|
||||
ApplicationSettings* appSettings = ApplicationSettings::getInstance().get();
|
||||
if (appSettings == nullptr)
|
||||
@@ -96,7 +96,7 @@ LicenseChecker::LicenseState LicenseChecker::checkCurrentLicense() const
|
||||
return checkLicense(license);
|
||||
}
|
||||
|
||||
LicenseChecker::LicenseState LicenseChecker::checkLicenseString(const std::string& licenseString) const
|
||||
LicenseChecker::LicenseState LicenseChecker::checkLicenseString(const std::string& licenseString)
|
||||
{
|
||||
if (licenseString.size() == 0)
|
||||
{
|
||||
@@ -115,7 +115,7 @@ LicenseChecker::LicenseState LicenseChecker::checkLicenseString(const std::strin
|
||||
return checkLicense(license);
|
||||
}
|
||||
|
||||
MessageEnteredLicense::LicenseType LicenseChecker::getCurrentLicenseType() const
|
||||
MessageEnteredLicense::LicenseType LicenseChecker::getCurrentLicenseType()
|
||||
{
|
||||
License license;
|
||||
bool isLoaded = license.loadFromEncodedString(
|
||||
@@ -143,7 +143,7 @@ MessageEnteredLicense::LicenseType LicenseChecker::getCurrentLicenseType() const
|
||||
return MessageEnteredLicense::LICENSE_COMMERCIAL;
|
||||
}
|
||||
|
||||
MessageEnteredLicense::LicenseType LicenseChecker::getLicenseType(const std::string& licenseString) const
|
||||
MessageEnteredLicense::LicenseType LicenseChecker::getLicenseType(const std::string& licenseString)
|
||||
{
|
||||
if (licenseString.size() == 0)
|
||||
{
|
||||
@@ -174,11 +174,28 @@ MessageEnteredLicense::LicenseType LicenseChecker::getLicenseType(const std::str
|
||||
return MessageEnteredLicense::LICENSE_COMMERCIAL;
|
||||
}
|
||||
|
||||
std::string LicenseChecker::getCurrentLicenseTypeString()
|
||||
{
|
||||
// WARNING: Don't change these string. The server API relies on them.
|
||||
switch (getCurrentLicenseType())
|
||||
{
|
||||
case MessageEnteredLicense::LICENSE_NONE:
|
||||
case MessageEnteredLicense::LICENSE_NON_COMMERCIAL:
|
||||
return "private";
|
||||
case MessageEnteredLicense::LICENSE_TEST:
|
||||
return "test";
|
||||
case MessageEnteredLicense::LICENSE_COMMERCIAL:
|
||||
return "commercial";
|
||||
}
|
||||
|
||||
return "private";
|
||||
}
|
||||
|
||||
LicenseChecker::LicenseChecker()
|
||||
{
|
||||
}
|
||||
|
||||
LicenseChecker::LicenseState LicenseChecker::checkLicense(License& license) const
|
||||
LicenseChecker::LicenseState LicenseChecker::checkLicense(License& license)
|
||||
{
|
||||
if (license.isExpired())
|
||||
{
|
||||
|
||||
@@ -23,22 +23,24 @@ public:
|
||||
|
||||
~LicenseChecker() = default;
|
||||
|
||||
std::string getCurrentLicenseString() const;
|
||||
void saveCurrentLicenseString(const std::string& licenseString) const;
|
||||
static std::string getCurrentLicenseString();
|
||||
static void saveCurrentLicenseString(const std::string& licenseString);
|
||||
|
||||
bool isCurrentLicenseValid();
|
||||
LicenseState checkCurrentLicense() const;
|
||||
LicenseState checkLicenseString(const std::string& licenseString) const;
|
||||
static bool isCurrentLicenseValid();
|
||||
static LicenseState checkCurrentLicense();
|
||||
static LicenseState checkLicenseString(const std::string& licenseString);
|
||||
|
||||
MessageEnteredLicense::LicenseType getCurrentLicenseType() const;
|
||||
MessageEnteredLicense::LicenseType getLicenseType(const std::string& licenseString) const;
|
||||
static MessageEnteredLicense::LicenseType getCurrentLicenseType();
|
||||
static MessageEnteredLicense::LicenseType getLicenseType(const std::string& licenseString);
|
||||
|
||||
static std::string getCurrentLicenseTypeString();
|
||||
|
||||
private:
|
||||
LicenseChecker();
|
||||
LicenseChecker(const LicenseChecker&) = delete;
|
||||
void operator=(const LicenseChecker&) = delete;
|
||||
|
||||
LicenseState checkLicense(License& license) const;
|
||||
static LicenseState checkLicense(License& license);
|
||||
|
||||
static std::shared_ptr<LicenseChecker> s_instance;
|
||||
};
|
||||
|
||||
@@ -597,6 +597,16 @@ Version ApplicationSettings::getUpdateVersion() const
|
||||
return Version::fromString(getValue<std::string>("user/update_check/update_version", "2017.1.0"));
|
||||
}
|
||||
|
||||
std::string ApplicationSettings::getUpdateNews() const
|
||||
{
|
||||
return getValue<std::string>("user/update_check/news", "");
|
||||
}
|
||||
|
||||
void ApplicationSettings::setUpdateNews(const std::string& news)
|
||||
{
|
||||
setValue<std::string>("user/update_check/news", news);
|
||||
}
|
||||
|
||||
void ApplicationSettings::setUpdateVersion(const Version& version)
|
||||
{
|
||||
if (version.isValid())
|
||||
|
||||
@@ -167,6 +167,9 @@ public:
|
||||
Version getUpdateVersion() const;
|
||||
void setUpdateVersion(const Version& version);
|
||||
|
||||
std::string getUpdateNews() const;
|
||||
void setUpdateNews(const std::string& news);
|
||||
|
||||
bool getSeenErrorHelpMessage() const;
|
||||
void setSeenErrorHelpMessage(bool seen);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user