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

#5657 Create a global SubscriptionManager instance

  • Loading branch information...
nlyan committed Oct 14, 2016
1 parent 743e96f commit 540882056f770e3dcc2e9d4c6489afadbdbd86da
View
@@ -7,7 +7,8 @@ DEFINES += VERSION_REVISION=\\\"$$QMAKE_VERSION_REVISION\\\"
DEPENDPATH += . \
res
INCLUDEPATH += . \
- src
+ src \
+ ../lib/shared/
FORMS += res/MainWindowBase.ui \
res/AboutDialogBase.ui \
res/ServerConfigDialogBase.ui \
@@ -102,7 +103,6 @@ HEADERS += src/MainWindow.h \
src/DataDownloader.h \
src/AddClientDialog.h \
src/CommandProcess.h \
- src/EditionType.h \
src/ProcessorArch.h \
src/CoreInterface.h \
src/Fingerprint.h \
@@ -114,6 +114,7 @@ HEADERS += src/MainWindow.h \
src/ActivationDialog.h \
src/CancelActivationDialog.h \
src/FailedLoginDialog.h \
+ ../lib/shared/EditionType.h \
../lib/shared/SerialKey.h
RESOURCES += res/Synergy.qrc
RC_FILE = res/win/Synergy.rc
@@ -14,10 +14,12 @@
#include <QThread>
#include <iostream>
-ActivationDialog::ActivationDialog(QWidget* parent, AppConfig& appConfig) :
+ActivationDialog::ActivationDialog(QWidget* parent, AppConfig& appConfig,
+ SubscriptionManager& subscriptionManager) :
QDialog(parent),
ui(new Ui::ActivationDialog),
- m_appConfig(&appConfig)
+ m_appConfig(&appConfig),
+ m_subscriptionManager (&subscriptionManager)
{
ui->setupUi(this);
ui->m_pTextEditSerialKey->setFocus();
@@ -67,17 +69,8 @@ void ActivationDialog::accept()
try {
QString serialKey = ui->m_pTextEditSerialKey->toPlainText();
-
- if (!m_appConfig->setSerialKey(serialKey, error)) {
- message.critical(this, "Invalid Serial Key", tr("%1").arg(error));
- return;
- }
-
- SubscriptionManager subscriptionManager(this, *m_appConfig, edition);
- if (!subscriptionManager.activateSerial(serialKey)) {
- return;
- }
-
+ SubscriptionManager subscriptionManager (m_appConfig);
+ subscriptionManager.setSerialKey (serialKey);
notifyActivation("serial:" + m_appConfig->serialKey());
}
@@ -2,6 +2,7 @@
#define ACTIVATIONDIALOG_H
#include <QDialog>
+#include <SubscriptionManager.h>
namespace Ui {
class ActivationDialog;
@@ -14,7 +15,8 @@ class ActivationDialog : public QDialog
Q_OBJECT
public:
- explicit ActivationDialog(QWidget *parent, AppConfig& appConfig);
+ ActivationDialog(QWidget *parent, AppConfig& appConfig,
+ SubscriptionManager& subscriptionManager);
~ActivationDialog();
public slots:
@@ -27,6 +29,7 @@ public slots:
private:
Ui::ActivationDialog *ui;
AppConfig* m_appConfig;
+ SubscriptionManager* m_subscriptionManager;
};
#endif // ACTIVATIONDIALOG_H
View
@@ -244,13 +244,10 @@ void AppConfig::setEdition(int e) {
int AppConfig::edition() const { return m_Edition; }
-bool AppConfig::setSerialKey(QString serial, QString& errorOut) {
- if (serial.isEmpty()) {
- errorOut = "Your serial key cannot be blank.";
- return false;
- }
- m_Serialkey = serial;
- return true;
+QString AppConfig::setSerialKey(QString serial) {
+ using std::swap;
+ swap (serial, m_Serialkey);
+ return serial;
}
void AppConfig::clearSerialKey()
View
@@ -79,7 +79,7 @@ class AppConfig: public QObject
void setAutoConfigPrompted(bool prompted);
void setEdition(int e);
int edition() const;
- bool setSerialKey(QString serial, QString& error);
+ QString setSerialKey(QString serial);
void clearSerialKey();
QString serialKey();
int lastExpiringWarningTime() const;
View
@@ -76,12 +76,14 @@ static const char* synergyIconFiles[] =
":/res/icons/16x16/synergy-transfering.png"
};
-MainWindow::MainWindow(QSettings& settings, AppConfig& appConfig) :
+MainWindow::MainWindow(QSettings& settings, AppConfig& appConfig,
+ SubscriptionManager& subscriptionManager) :
m_Settings(settings),
- m_AppConfig(appConfig),
+ m_AppConfig(&appConfig),
+ m_SubscriptionManager(&subscriptionManager),
m_pSynergy(NULL),
m_SynergyState(synergyDisconnected),
- m_ServerConfig(&m_Settings, 5, 3, m_AppConfig.screenName(), this),
+ m_ServerConfig(&m_Settings, 5, 3, m_AppConfig->screenName(), this),
m_pTempConfigFile(NULL),
m_pTrayIcon(NULL),
m_pTrayIconMenu(NULL),
@@ -135,12 +137,12 @@ MainWindow::MainWindow(QSettings& settings, AppConfig& appConfig) :
m_pComboServerList->hide();
- setEdition(m_AppConfig.edition());
+ 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);
+ connect (m_AppConfig, SIGNAL(editionSet(int)), this, SLOT(setEdition(int)), Qt::QueuedConnection);
+ connect (m_AppConfig, SIGNAL(sslToggled(bool)), this, SLOT(sslToggled(bool)), Qt::QueuedConnection);
}
MainWindow::~MainWindow()
@@ -498,7 +500,7 @@ void MainWindow::restartSynergy()
void MainWindow::proofreadInfo()
{
- setEdition(m_AppConfig.edition()); // Why is this here?
+ setEdition(m_AppConfig->edition()); // Why is this here?
int oldState = m_SynergyState;
m_SynergyState = synergyDisconnected;
@@ -566,7 +568,7 @@ void MainWindow::startSynergy()
#endif
- if (m_AppConfig.getCryptoEnabled()) {
+ if (m_AppConfig->getCryptoEnabled()) {
args << "--enable-crypto";
}
@@ -734,18 +736,6 @@ QString MainWindow::appPath(const QString& name)
bool MainWindow::serverArgs(QStringList& args, QString& app)
{
- int edition;
- SubscriptionManager subscriptionManager(this, appConfig(), edition);
- if (subscriptionManager.fileExists())
- {
- if (!subscriptionManager.checkSubscription()) {
- return false;
- }
- else {
- setEdition(edition);
- }
- }
-
app = appPath(appConfig().synergysName());
if (!QFile::exists(app))
@@ -894,7 +884,7 @@ void MainWindow::setSynergyState(qSynergyState state)
switch (state)
{
case synergyConnected: {
- if (m_AppConfig.getCryptoEnabled()) {
+ if (m_AppConfig->getCryptoEnabled()) {
m_pLabelPadlock->show();
}
else {
@@ -1009,13 +999,13 @@ void MainWindow::updateZeroconfService()
QMutexLocker locker(&m_UpdateZeroconfMutex);
if (isBonjourRunning()) {
- if (!m_AppConfig.wizardShouldRun()) {
+ if (!m_AppConfig->wizardShouldRun()) {
if (m_pZeroconfService) {
delete m_pZeroconfService;
m_pZeroconfService = NULL;
}
- if (m_AppConfig.autoConfig() || synergyType() == synergyServer) {
+ if (m_AppConfig->autoConfig() || synergyType() == synergyServer) {
m_pZeroconfService = new ZeroconfService(this);
}
}
@@ -1037,7 +1027,7 @@ void MainWindow::serverDetected(const QString name)
void MainWindow::setEdition(int edition)
{
setWindowTitle(getEditionName(edition));
- if (m_AppConfig.getCryptoEnabled()) {
+ if (m_AppConfig->getCryptoEnabled()) {
m_pSslCertificate = new SslCertificate(this);
m_pSslCertificate->generateCertificate();
}
@@ -1047,7 +1037,7 @@ void MainWindow::setEdition(int edition)
void MainWindow::updateLocalFingerprint()
{
- if (m_AppConfig.getCryptoEnabled() && Fingerprint::local().fileExists()) {
+ if (m_AppConfig->getCryptoEnabled() && Fingerprint::local().fileExists()) {
m_pLabelFingerprint->setVisible(true);
m_pLabelLocalFingerprint->setVisible(true);
m_pLabelLocalFingerprint->setText(Fingerprint::local().readFirst());
@@ -1058,6 +1048,12 @@ void MainWindow::updateLocalFingerprint()
}
}
+SubscriptionManager&
+MainWindow::subscriptionManager() const
+{
+ return *m_SubscriptionManager;
+}
+
void MainWindow::on_m_pGroupClient_toggled(bool on)
{
m_pGroupServer->setChecked(!on);
@@ -1159,7 +1155,7 @@ void MainWindow::on_m_pButtonConfigureServer_clicked()
void MainWindow::on_m_pActivate_triggered()
{
- ActivationDialog activationDialog (this, this->appConfig());
+ ActivationDialog activationDialog(this, appConfig(), subscriptionManager());
activationDialog.exec();
}
@@ -1320,16 +1316,16 @@ void MainWindow::promptAutoConfig()
QMessageBox::Yes | QMessageBox::No);
if (r == QMessageBox::Yes) {
- m_AppConfig.setAutoConfig(true);
+ m_AppConfig->setAutoConfig(true);
downloadBonjour();
}
else {
- m_AppConfig.setAutoConfig(false);
+ m_AppConfig->setAutoConfig(false);
m_pCheckBoxAutoConfig->setChecked(false);
}
}
- m_AppConfig.setAutoConfigPrompted(true);
+ m_AppConfig->setAutoConfigPrompted(true);
}
void MainWindow::on_m_pComboServerList_currentIndexChanged(QString )
@@ -1377,8 +1373,8 @@ void MainWindow::bonjourInstallFinished()
void MainWindow::on_windowShown()
{
- if (!m_AppConfig.activationHasRun() && (m_AppConfig.edition() == Unregistered)) {
- ActivationDialog activationDialog (this, m_AppConfig);
+ if (!m_AppConfig->activationHasRun() && (m_AppConfig->edition() == Unregistered)) {
+ ActivationDialog activationDialog (this, appConfig(), subscriptionManager());
activationDialog.exec();
}
}
View
@@ -58,6 +58,7 @@ class ZeroconfService;
class DataDownloader;
class CommandProcess;
class SslCertificate;
+class SubscriptionManager;
class MainWindow : public QMainWindow, public Ui::MainWindowBase
{
@@ -94,7 +95,8 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase
};
public:
- MainWindow(QSettings& settings, AppConfig& appConfig);
+ MainWindow(QSettings& settings, AppConfig& appConfig,
+ SubscriptionManager& subscriptionManager);
~MainWindow();
public:
@@ -116,6 +118,7 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase
void updateZeroconfService();
void serverDetected(const QString name);
void updateLocalFingerprint();
+ SubscriptionManager& subscriptionManager() const;
public slots:
void setEdition(int edition);
@@ -145,7 +148,7 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase
protected:
QSettings& settings() { return m_Settings; }
- AppConfig& appConfig() { return m_AppConfig; }
+ AppConfig& appConfig() { return *m_AppConfig; }
QProcess* synergyProcess() { return m_pSynergy; }
void setSynergyProcess(QProcess* p) { m_pSynergy = p; }
void initConnections();
@@ -188,7 +191,8 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase
private:
QSettings& m_Settings;
- AppConfig& m_AppConfig;
+ AppConfig* m_AppConfig;
+ SubscriptionManager* m_SubscriptionManager;
QProcess* m_pSynergy;
int m_SynergyState;
ServerConfig m_ServerConfig;
View
@@ -51,9 +51,6 @@ getEditionName (int edition) {
else if (edition == Pro) {
return "Synergy Pro";
}
- else if (edition == Trial) {
- return "Synergy Trial";
- }
else {
return "Synergy (UNREGISTERED)";
}
Oops, something went wrong.

0 comments on commit 5408820

Please sign in to comment.