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

#5657 Make SubscriptionManager backward compatible

  • Loading branch information...
nlyan committed Oct 14, 2016
1 parent 727fc5c commit 55414e458100881ff9ada66afaa2b998cb4aeff0
@@ -30,7 +30,7 @@
<item>
<widget class="QLabel" name="label_5">
<property name="text">
- <string>Found on your &lt;a href=&quot;https://symless.com/account/?source=gui&quot;&gt;account&lt;/a&gt; page.</string>
+ <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This can be found on your &lt;a href=&quot;https://symless.com/account/?source=gui&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;account&lt;/span&gt;&lt;/a&gt; page.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
@@ -46,8 +46,8 @@
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'.SF NS Text'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="acceptRichText">
<bool>false</bool>
@@ -27,6 +27,42 @@
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QWidget" name="m_trialWidget" native="true">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="Synergy.qrc">:/res/icons/16x16/warning.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="trialLabel">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
<item>
<widget class="QWidget" name="m_pWidgetUpdate" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
@@ -17,7 +17,7 @@
<item>
<widget class="QTabWidget" name="m_pTabWidget">
<property name="currentIndex">
- <number>2</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="m_pTabScreens">
<attribute name="title">
@@ -22,8 +22,14 @@ ActivationDialog::ActivationDialog(QWidget* parent, AppConfig& appConfig,
m_subscriptionManager (&subscriptionManager)
{
ui->setupUi(this);
+ refreshSerialKey();
+}
+
+void ActivationDialog::refreshSerialKey()
+{
+ ui->m_pTextEditSerialKey->setText(m_appConfig->serialKey());
ui->m_pTextEditSerialKey->setFocus();
- ui->m_pTextEditSerialKey->moveCursor(QTextCursor::End);
+ ui->m_pTextEditSerialKey->moveCursor(QTextCursor::End);
}
ActivationDialog::~ActivationDialog()
@@ -33,21 +39,22 @@ ActivationDialog::~ActivationDialog()
void ActivationDialog::reject()
{
- CancelActivationDialog cancelActivationDialog(this);
- if (QDialog::Accepted == cancelActivationDialog.exec()) {
- m_subscriptionManager->notifySkip();
- m_appConfig->activationHasRun(true);
- m_appConfig->saveSettings();
- QDialog::reject();
+ if (m_subscriptionManager->edition() == Edition::kUnregistered) {
+ CancelActivationDialog cancelActivationDialog(this);
+ if (QDialog::Accepted == cancelActivationDialog.exec()) {
+ m_subscriptionManager->skipActivation();
+ m_appConfig->activationHasRun(true);
+ m_appConfig->saveSettings();
+ }
}
+ QDialog::reject();
}
void ActivationDialog::accept()
{
QMessageBox message;
QString error;
- int edition = Unregistered;
-
+
m_appConfig->activationHasRun(true);
m_appConfig->saveSettings();
@@ -60,13 +67,14 @@ void ActivationDialog::accept()
tr("An error occurred while trying to activate Synergy. "
"Please contact the helpdesk, and provide the "
"following details.\n\n%1").arg(e.what()));
+ refreshSerialKey();
return;
}
- m_appConfig->setEdition(edition);
- m_appConfig->saveSettings();
-
- message.information(this, "Activated!",
- tr("Thanks for activating %1!").arg(getEditionName(edition)));
+ if (m_subscriptionManager->edition() != Edition::kUnregistered) {
+ message.information(this, "Activated!",
+ tr("Thanks for activating %1!").arg
+ (getEditionName(m_subscriptionManager->edition())));
+ }
QDialog::accept();
}
@@ -23,6 +23,9 @@ public slots:
void reject();
void accept();
+protected:
+ void refreshSerialKey();
+
private:
Ui::ActivationDialog *ui;
AppConfig* m_appConfig;
@@ -157,7 +157,7 @@ void AppConfig::loadSettings()
}
m_ElevateMode = static_cast<ElevateMode>(elevateMode.toInt());
m_AutoConfigPrompted = settings().value("autoConfigPrompted", false).toBool();
- m_Edition = settings().value("edition", Unregistered).toInt();
+ m_Edition = static_cast<Edition>(settings().value("edition", kUnregistered).toInt());
m_ActivateEmail = settings().value("activateEmail", "").toString();
m_CryptoEnabled = settings().value("cryptoEnabled", true).toBool();
m_AutoHide = settings().value("autoHide", false).toBool();
@@ -237,12 +237,11 @@ void AppConfig::setAutoConfigPrompted(bool prompted)
m_AutoConfigPrompted = prompted;
}
-void AppConfig::setEdition(int e) {
+void AppConfig::setEdition(Edition e) {
m_Edition = e;
- emit editionSet (e);
}
-int AppConfig::edition() const { return m_Edition; }
+Edition AppConfig::edition() const { return m_Edition; }
QString AppConfig::setSerialKey(QString serial) {
using std::swap;
@@ -276,7 +275,7 @@ void AppConfig::setCryptoEnabled(bool e) {
}
bool AppConfig::getCryptoEnabled() const {
- return (edition() == Pro) && m_CryptoEnabled;
+ return (edition() == kPro) && m_CryptoEnabled;
}
void AppConfig::setAutoHide(bool b) { m_AutoHide = b; }
View
@@ -23,6 +23,7 @@
#include <QObject>
#include <QString>
#include "ElevateMode.h"
+#include <EditionType.h>
// this should be incremented each time a new page is added. this is
// saved to settings when the user finishes running the wizard. if
@@ -77,8 +78,8 @@ class AppConfig: public QObject
void setAutoConfig(bool autoConfig);
bool autoConfigPrompted();
void setAutoConfigPrompted(bool prompted);
- void setEdition(int e);
- int edition() const;
+ void setEdition(Edition);
+ Edition edition() const;
QString setSerialKey(QString serial);
void clearSerialKey();
QString serialKey();
@@ -134,7 +135,7 @@ class AppConfig: public QObject
bool m_AutoConfig;
ElevateMode m_ElevateMode;
bool m_AutoConfigPrompted;
- int m_Edition;
+ Edition m_Edition;
QString m_ActivateEmail;
bool m_CryptoEnabled;
bool m_AutoHide;
@@ -147,7 +148,6 @@ class AppConfig: public QObject
static const char m_SynergyLogDir[];
signals:
- void editionSet(int);
void sslToggled(bool enabled);
};
View
@@ -136,13 +136,28 @@ MainWindow::MainWindow(QSettings& settings, AppConfig& appConfig,
m_SuppressAutoConfigWarning = false;
m_pComboServerList->hide();
-
- setEdition(m_AppConfig->edition());
-
m_pLabelPadlock->hide();
- connect (this, SIGNAL(windowShown()), this, SLOT(on_windowShown()), Qt::QueuedConnection);
- connect (m_AppConfig, SIGNAL(editionSet(int)), this, SLOT(setEdition(int)), Qt::QueuedConnection);
- connect (m_AppConfig, SIGNAL(sslToggled(bool)), this, SLOT(sslToggled(bool)), Qt::QueuedConnection);
+ setEdition (m_SubscriptionManager->edition());
+
+ this->m_trialWidget->hide();
+ if (m_SubscriptionManager->isTrial()) {
+ beginTrial();
+ }
+
+ connect (this, SIGNAL(windowShown()),
+ this, SLOT(on_windowShown()), Qt::QueuedConnection);
+
+ connect (m_SubscriptionManager, SIGNAL(editionChanged(Edition)),
+ this, SLOT(setEdition(Edition)), Qt::QueuedConnection);
+
+ connect (m_SubscriptionManager, SIGNAL(beginTrial()),
+ this, SLOT(beginTrial()), Qt::QueuedConnection);
+
+ connect (m_SubscriptionManager, SIGNAL(endTrial()),
+ this, SLOT(endTrial()), Qt::QueuedConnection);
+
+ connect (m_AppConfig, SIGNAL(sslToggled(bool)),
+ this, SLOT(sslToggled(bool)), Qt::QueuedConnection);
}
MainWindow::~MainWindow()
@@ -1024,7 +1039,7 @@ void MainWindow::serverDetected(const QString name)
}
}
-void MainWindow::setEdition(int edition)
+void MainWindow::setEdition(Edition edition)
{
setWindowTitle(getEditionName(edition));
if (m_AppConfig->getCryptoEnabled()) {
@@ -1035,6 +1050,16 @@ void MainWindow::setEdition(int edition)
saveSettings();
}
+void MainWindow::beginTrial()
+{
+ this->m_trialWidget->show();
+}
+
+void MainWindow::endTrial()
+{
+ this->m_trialWidget->hide();
+}
+
void MainWindow::updateLocalFingerprint()
{
if (m_AppConfig->getCryptoEnabled() && Fingerprint::local().fileExists()) {
@@ -1373,7 +1398,7 @@ void MainWindow::bonjourInstallFinished()
void MainWindow::on_windowShown()
{
- if (!m_AppConfig->activationHasRun() && (m_AppConfig->edition() == Unregistered)) {
+ if (!m_AppConfig->activationHasRun() && (m_AppConfig->edition() == kUnregistered)) {
ActivationDialog activationDialog (this, appConfig(), subscriptionManager());
activationDialog.exec();
}
View
@@ -121,7 +121,9 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase
SubscriptionManager& subscriptionManager() const;
public slots:
- void setEdition(int edition);
+ void setEdition(Edition edition);
+ void beginTrial();
+ void endTrial();
void appendLogRaw(const QString& text);
void appendLogInfo(const QString& text);
void appendLogDebug(const QString& text);
View
@@ -45,10 +45,10 @@ void setIndexFromItemData(QComboBox* comboBox, const QVariant& itemData)
QString
getEditionName (int edition) {
- if (edition == Basic) {
+ if (edition == kBasic) {
return "Synergy Basic";
}
- else if (edition == Pro) {
+ else if (edition == kPro) {
return "Synergy Pro";
}
else {
@@ -64,7 +64,7 @@ SettingsDialog::SettingsDialog(QWidget* parent, AppConfig& config) :
#endif
m_pCheckBoxEnableCrypto->setChecked(m_appConfig.getCryptoEnabled());
- m_pCheckBoxEnableCrypto->setEnabled(m_appConfig.edition() == Pro);
+ m_pCheckBoxEnableCrypto->setEnabled(m_appConfig.edition() == kPro);
}
void SettingsDialog::accept()
Oops, something went wrong.

0 comments on commit 55414e4

Please sign in to comment.