diff --git a/src/gui/src/MainWindow.cpp b/src/gui/src/MainWindow.cpp index 87a79c51..f4cab6ef 100644 --- a/src/gui/src/MainWindow.cpp +++ b/src/gui/src/MainWindow.cpp @@ -145,15 +145,8 @@ MainWindow::MainWindow(QSettings& settings, AppConfig& appConfig) : } updateLocalFingerprint(); -} -void -MainWindow::showEvent(QShowEvent* event) { - QMainWindow::showEvent (event); - if (!m_AppConfig.activationHasRun() && (m_AppConfig.edition() == Unregistered)) { - ActivationDialog activationDialog (this, m_AppConfig); - activationDialog.exec(); - } + connect (this, SIGNAL(windowShown()), this, SLOT(on_windowShown()), Qt::QueuedConnection); } MainWindow::~MainWindow() @@ -518,6 +511,12 @@ void MainWindow::proofreadInfo() setSynergyState((qSynergyState)oldState); } +void MainWindow::showEvent(QShowEvent* event) +{ + QMainWindow::showEvent(event); + emit windowShown(); +} + void MainWindow::clearLog() { m_pLogOutput->clear(); @@ -1367,6 +1366,14 @@ void MainWindow::bonjourInstallFinished() m_pCheckBoxAutoConfig->setChecked(true); } +void MainWindow::on_windowShown() +{ + if (!m_AppConfig.activationHasRun() && (m_AppConfig.edition() == Unregistered)) { + ActivationDialog activationDialog (this, m_AppConfig); + activationDialog.exec(); + } +} + QString MainWindow::getProfileRootForArg() { CoreInterface coreInterface; diff --git a/src/gui/src/MainWindow.h b/src/gui/src/MainWindow.h index d66201e3..b71d8a00 100644 --- a/src/gui/src/MainWindow.h +++ b/src/gui/src/MainWindow.h @@ -117,6 +117,7 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase void serverDetected(const QString name); void setEdition(int edition); void updateLocalFingerprint(); + public slots: void appendLogRaw(const QString& text); void appendLogInfo(const QString& text); @@ -182,7 +183,8 @@ class MainWindow : public QMainWindow, public Ui::MainWindowBase void restartSynergy(); void proofreadInfo(); - void showEvent(QShowEvent *event); + void showEvent (QShowEvent*); + private: QSettings& m_Settings; AppConfig& m_AppConfig; @@ -217,6 +219,10 @@ private slots: void on_m_pComboServerList_currentIndexChanged(QString ); void on_m_pButtonApply_clicked(); void installBonjour(); + void on_windowShown(); + +signals: + void windowShown(); }; #endif