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

#5657 Refresh UI when synergys reports trial expired

  • Loading branch information...
nlyan committed Oct 17, 2016
1 parent 99dbdc5 commit 5a34da3ce0e5b56a85de9c03fbf2e7da09fd4eec
Showing with 172 additions and 164 deletions.
  1. +9 −2 src/gui/src/MainWindow.cpp
  2. +162 −161 src/gui/src/MainWindow.h
  3. +1 −1 src/lib/server/Server.cpp
View
@@ -411,12 +411,12 @@ void MainWindow::appendLogRaw(const QString& text)
foreach(QString line, text.split(QRegExp("\r|\n|\r\n"))) {
if (!line.isEmpty()) {
m_pLogOutput->append(line);
- updateStateFromLogLine(line);
+ updateFromLogLine(line);
}
}
}
-void MainWindow::updateStateFromLogLine(const QString &line)
+void MainWindow::updateFromLogLine(const QString &line)
{
checkConnected(line);
checkFingerprint(line);
@@ -444,6 +444,13 @@ void MainWindow::checkConnected(const QString& line)
}
}
+void MainWindow::checkLicense(const QString &line)
+{
+ if (line.contains("trial has expired")) {
+ m_SubscriptionManager->refresh();
+ }
+}
+
void MainWindow::checkFingerprint(const QString& line)
{
QRegExp fingerprintRegex(".*server fingerprint: ([A-F0-9:]+)");
View
@@ -62,174 +62,175 @@ class SubscriptionManager;
class MainWindow : public QMainWindow, public Ui::MainWindowBase
{
- Q_OBJECT
-
- friend class QSynergyApplication;
- friend class SetupWizard;
- friend class ActivationDialog;
- friend class SettingsDialog;
-
- public:
- enum qSynergyState
- {
- synergyDisconnected,
- synergyConnecting,
- synergyConnected,
- synergyTransfering
- };
-
- enum qSynergyType
- {
- synergyClient,
- synergyServer
- };
-
- enum qLevel {
- Error,
- Info
- };
-
- enum qRuningState {
- kStarted,
- kStopped
- };
-
- public:
- MainWindow(QSettings& settings, AppConfig& appConfig,
- SubscriptionManager& subscriptionManager);
- ~MainWindow();
-
- public:
- void setVisible(bool visible);
- int synergyType() const { return m_pGroupClient->isChecked() ? synergyClient : synergyServer; }
- int synergyState() const { return m_SynergyState; }
- QString hostname() const { return m_pLineEditHostname->text(); }
- QString configFilename();
- QString address();
- QString appPath(const QString& name);
- void open();
- void clearLog();
- VersionChecker& versionChecker() { return m_VersionChecker; }
- QString getScreenName();
- ServerConfig& serverConfig() { return m_ServerConfig; }
- void showConfigureServer(const QString& message);
- void showConfigureServer() { showConfigureServer(""); }
- void autoAddScreen(const QString name);
- void updateZeroconfService();
- void serverDetected(const QString name);
- void updateLocalFingerprint();
- SubscriptionManager& subscriptionManager() const;
-
- public slots:
- void setEdition(Edition edition);
- void beginTrial(bool isExpiring);
- void endTrial(bool isExpired);
- void appendLogRaw(const QString& text);
- void appendLogInfo(const QString& text);
- void appendLogDebug(const QString& text);
- void appendLogError(const QString& text);
- void startSynergy();
-
- protected slots:
- void sslToggled(bool enabled);
- void on_m_pGroupClient_toggled(bool on);
- void on_m_pGroupServer_toggled(bool on);
- bool on_m_pButtonBrowseConfigFile_clicked();
- void on_m_pButtonConfigureServer_clicked();
- bool on_m_pActionSave_triggered();
- void on_m_pActionAbout_triggered();
- void on_m_pActionSettings_triggered();
- void on_m_pActivate_triggered();
- void synergyFinished(int exitCode, QProcess::ExitStatus);
- void trayActivated(QSystemTrayIcon::ActivationReason reason);
- void stopSynergy();
- void logOutput();
- void logError();
- void updateFound(const QString& version);
- void bonjourInstallFinished();
-
- protected:
- QSettings& settings() { return m_Settings; }
- AppConfig& appConfig() { return *m_AppConfig; }
- QProcess* synergyProcess() { return m_pSynergy; }
- void setSynergyProcess(QProcess* p) { m_pSynergy = p; }
- void initConnections();
- void createMenuBar();
- void createStatusBar();
- void createTrayIcon();
- void loadSettings();
- void saveSettings();
- void setIcon(qSynergyState state);
- void setSynergyState(qSynergyState state);
- bool checkForApp(int which, QString& app);
- bool clientArgs(QStringList& args, QString& app);
- bool serverArgs(QStringList& args, QString& app);
- void setStatus(const QString& status);
- void sendIpcMessage(qIpcMessageType type, const char* buffer, bool showErrors);
- void onModeChanged(bool startDesktop, bool applyService);
- void updateStateFromLogLine(const QString& line);
- QString getIPAddresses();
- void stopService();
- void stopDesktop();
- void changeEvent(QEvent* event);
- void retranslateMenuBar();
+ Q_OBJECT
+
+ friend class QSynergyApplication;
+ friend class SetupWizard;
+ friend class ActivationDialog;
+ friend class SettingsDialog;
+
+ public:
+ enum qSynergyState
+ {
+ synergyDisconnected,
+ synergyConnecting,
+ synergyConnected,
+ synergyTransfering
+ };
+
+ enum qSynergyType
+ {
+ synergyClient,
+ synergyServer
+ };
+
+ enum qLevel {
+ Error,
+ Info
+ };
+
+ enum qRuningState {
+ kStarted,
+ kStopped
+ };
+
+ public:
+ MainWindow(QSettings& settings, AppConfig& appConfig,
+ SubscriptionManager& subscriptionManager);
+ ~MainWindow();
+
+ public:
+ void setVisible(bool visible);
+ int synergyType() const { return m_pGroupClient->isChecked() ? synergyClient : synergyServer; }
+ int synergyState() const { return m_SynergyState; }
+ QString hostname() const { return m_pLineEditHostname->text(); }
+ QString configFilename();
+ QString address();
+ QString appPath(const QString& name);
+ void open();
+ void clearLog();
+ VersionChecker& versionChecker() { return m_VersionChecker; }
+ QString getScreenName();
+ ServerConfig& serverConfig() { return m_ServerConfig; }
+ void showConfigureServer(const QString& message);
+ void showConfigureServer() { showConfigureServer(""); }
+ void autoAddScreen(const QString name);
+ void updateZeroconfService();
+ void serverDetected(const QString name);
+ void updateLocalFingerprint();
+ SubscriptionManager& subscriptionManager() const;
+
+ public slots:
+ void setEdition(Edition edition);
+ void beginTrial(bool isExpiring);
+ void endTrial(bool isExpired);
+ void appendLogRaw(const QString& text);
+ void appendLogInfo(const QString& text);
+ void appendLogDebug(const QString& text);
+ void appendLogError(const QString& text);
+ void startSynergy();
+
+ protected slots:
+ void sslToggled(bool enabled);
+ void on_m_pGroupClient_toggled(bool on);
+ void on_m_pGroupServer_toggled(bool on);
+ bool on_m_pButtonBrowseConfigFile_clicked();
+ void on_m_pButtonConfigureServer_clicked();
+ bool on_m_pActionSave_triggered();
+ void on_m_pActionAbout_triggered();
+ void on_m_pActionSettings_triggered();
+ void on_m_pActivate_triggered();
+ void synergyFinished(int exitCode, QProcess::ExitStatus);
+ void trayActivated(QSystemTrayIcon::ActivationReason reason);
+ void stopSynergy();
+ void logOutput();
+ void logError();
+ void updateFound(const QString& version);
+ void bonjourInstallFinished();
+
+ protected:
+ QSettings& settings() { return m_Settings; }
+ AppConfig& appConfig() { return *m_AppConfig; }
+ QProcess* synergyProcess() { return m_pSynergy; }
+ void setSynergyProcess(QProcess* p) { m_pSynergy = p; }
+ void initConnections();
+ void createMenuBar();
+ void createStatusBar();
+ void createTrayIcon();
+ void loadSettings();
+ void saveSettings();
+ void setIcon(qSynergyState state);
+ void setSynergyState(qSynergyState state);
+ bool checkForApp(int which, QString& app);
+ bool clientArgs(QStringList& args, QString& app);
+ bool serverArgs(QStringList& args, QString& app);
+ void setStatus(const QString& status);
+ void sendIpcMessage(qIpcMessageType type, const char* buffer, bool showErrors);
+ void onModeChanged(bool startDesktop, bool applyService);
+ void updateFromLogLine(const QString& line);
+ QString getIPAddresses();
+ void stopService();
+ void stopDesktop();
+ void changeEvent(QEvent* event);
+ void retranslateMenuBar();
#if defined(Q_OS_WIN)
- bool isServiceRunning(QString name);
+ bool isServiceRunning(QString name);
#else
- bool isServiceRunning();
+ bool isServiceRunning();
#endif
- bool isBonjourRunning();
- void downloadBonjour();
- void promptAutoConfig();
- QString getProfileRootForArg();
- void checkConnected(const QString& line);
- void checkFingerprint(const QString& line);
- bool autoHide();
- QString getTimeStamp();
- void restartSynergy();
- void proofreadInfo();
-
- void showEvent (QShowEvent*);
-
- private:
- QSettings& m_Settings;
- AppConfig* m_AppConfig;
- SubscriptionManager* m_SubscriptionManager;
- QProcess* m_pSynergy;
- int m_SynergyState;
- ServerConfig m_ServerConfig;
- QTemporaryFile* m_pTempConfigFile;
- QSystemTrayIcon* m_pTrayIcon;
- QMenu* m_pTrayIconMenu;
- bool m_AlreadyHidden;
- VersionChecker m_VersionChecker;
- IpcClient m_IpcClient;
- QMenuBar* m_pMenuBar;
- QMenu* m_pMenuFile;
- QMenu* m_pMenuEdit;
- QMenu* m_pMenuWindow;
- QMenu* m_pMenuHelp;
- ZeroconfService* m_pZeroconfService;
- DataDownloader* m_pDataDownloader;
- QMessageBox* m_DownloadMessageBox;
- QAbstractButton* m_pCancelButton;
- QMutex m_UpdateZeroconfMutex;
- bool m_SuppressAutoConfigWarning;
- CommandProcess* m_BonjourInstall;
- bool m_SuppressEmptyServerWarning;
- qRuningState m_ExpectedRunningState;
- QMutex m_StopDesktopMutex;
- SslCertificate* m_pSslCertificate;
+ bool isBonjourRunning();
+ void downloadBonjour();
+ void promptAutoConfig();
+ QString getProfileRootForArg();
+ void checkConnected(const QString& line);
+ void checkLicense(const QString& line);
+ void checkFingerprint(const QString& line);
+ bool autoHide();
+ QString getTimeStamp();
+ void restartSynergy();
+ void proofreadInfo();
+
+ void showEvent (QShowEvent*);
+
+ private:
+ QSettings& m_Settings;
+ AppConfig* m_AppConfig;
+ SubscriptionManager* m_SubscriptionManager;
+ QProcess* m_pSynergy;
+ int m_SynergyState;
+ ServerConfig m_ServerConfig;
+ QTemporaryFile* m_pTempConfigFile;
+ QSystemTrayIcon* m_pTrayIcon;
+ QMenu* m_pTrayIconMenu;
+ bool m_AlreadyHidden;
+ VersionChecker m_VersionChecker;
+ IpcClient m_IpcClient;
+ QMenuBar* m_pMenuBar;
+ QMenu* m_pMenuFile;
+ QMenu* m_pMenuEdit;
+ QMenu* m_pMenuWindow;
+ QMenu* m_pMenuHelp;
+ ZeroconfService* m_pZeroconfService;
+ DataDownloader* m_pDataDownloader;
+ QMessageBox* m_DownloadMessageBox;
+ QAbstractButton* m_pCancelButton;
+ QMutex m_UpdateZeroconfMutex;
+ bool m_SuppressAutoConfigWarning;
+ CommandProcess* m_BonjourInstall;
+ bool m_SuppressEmptyServerWarning;
+ qRuningState m_ExpectedRunningState;
+ QMutex m_StopDesktopMutex;
+ SslCertificate* m_pSslCertificate;
private slots:
- void on_m_pCheckBoxAutoConfig_toggled(bool checked);
- void on_m_pComboServerList_currentIndexChanged(QString );
- void on_m_pButtonApply_clicked();
- void installBonjour();
- void on_windowShown();
+ void on_m_pCheckBoxAutoConfig_toggled(bool checked);
+ void on_m_pComboServerList_currentIndexChanged(QString );
+ void on_m_pButtonApply_clicked();
+ void installBonjour();
+ void on_windowShown();
signals:
- void windowShown();
+ void windowShown();
};
#endif
@@ -456,7 +456,7 @@ Server::switchScreen(BaseClientProxy* dst,
// if trial is expired, exit the process
if (!m_args.m_serial.isExpired(std::time(0))) {
- LOG((CLOG_ERR "trial is expired, aborting server"));
+ LOG((CLOG_ERR "trial has expired, aborting server"));
exit(kExitSuccess);
}

0 comments on commit 5a34da3

Please sign in to comment.