This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

#5722 Make LicenseManager accept SerialKey object instead of string

  • Loading branch information...
nlyan committed Nov 1, 2016
1 parent 6a7703f commit 1a7920f80d86295b7e23017537250fc550632eb5
Showing with 14 additions and 6 deletions.
  1. +2 −1 src/gui/src/ActivationDialog.cpp
  2. +10 −4 src/gui/src/LicenseManager.cpp
  3. +2 −1 src/gui/src/LicenseManager.h
@@ -71,7 +71,8 @@ void ActivationDialog::accept()
std::pair<bool, QString> result;
try {
- QString serialKey = ui->m_pTextEditSerialKey->toPlainText().trimmed();
+ SerialKey serialKey (ui->m_pTextEditSerialKey->toPlainText().
+ trimmed().toStdString());
result = m_LicenseManager->setSerialKey(serialKey);
}
catch (std::exception& e) {
@@ -29,11 +29,10 @@ LicenseManager::LicenseManager(AppConfig* appConfig) :
}
std::pair<bool, QString>
-LicenseManager::setSerialKey(QString serialKeyString, bool acceptExpired)
+LicenseManager::setSerialKey(SerialKey serialKey, bool acceptExpired)
{
std::pair<bool, QString> ret (true, "");
time_t currentTime = ::time(0);
- SerialKey serialKey (serialKeyString.toStdString());
if (!acceptExpired && serialKey.isExpired(currentTime)) {
ret.first = false;
@@ -44,7 +43,8 @@ LicenseManager::setSerialKey(QString serialKeyString, bool acceptExpired)
if (serialKey != m_serialKey) {
using std::swap;
swap (serialKey, m_serialKey);
- m_AppConfig->setSerialKey(serialKeyString);
+ m_AppConfig->setSerialKey(QString::fromStdString
+ (serialKey.toString()));
emit serialKeyChanged(m_serialKey);
if (serialKey.isTrial()) {
@@ -114,7 +114,13 @@ LicenseManager::serialKey() const
void LicenseManager::refresh()
{
if (!m_AppConfig->serialKey().isEmpty()) {
- setSerialKey(m_AppConfig->serialKey(), true);
+ try {
+ SerialKey serialKey (m_AppConfig->serialKey().toStdString());
+ setSerialKey(serialKey, true);
+ } catch (...) {
+ m_AppConfig->setSerialKey("");
+ m_AppConfig->saveSettings();
+ }
}
if (m_serialKey.isExpired(::time(0))) {
emit endTrial(true);
@@ -30,7 +30,8 @@ class LicenseManager: public QObject
public:
LicenseManager(AppConfig* appConfig);
- std::pair<bool, QString> setSerialKey(QString serialKey, bool acceptExpired = false);
+ std::pair<bool, QString> setSerialKey(SerialKey serialKey,
+ bool acceptExpired = false);
void refresh();
Edition activeEdition() const;
QString activeEditionName() const;

0 comments on commit 1a7920f

Please sign in to comment.