diff --git a/src/gui/src/SettingsDialog.cpp b/src/gui/src/SettingsDialog.cpp index 9d8f7b35ad..3be514636a 100644 --- a/src/gui/src/SettingsDialog.cpp +++ b/src/gui/src/SettingsDialog.cpp @@ -177,16 +177,6 @@ void SettingsDialog::loadFromConfig() { m_pCheckBoxEnableCrypto->setChecked(m_appConfig.getCryptoEnabled()); -#ifdef SYNERGY_ENTERPRISE - - m_pCheckBoxEnableCrypto->setEnabled(true); - -#else - - m_pCheckBoxEnableCrypto->setEnabled(m_appConfig.isCryptoAvailable()); - -#endif - #if !defined(SYNERGY_ENTERPRISE) && defined(SYNERGY_AUTOCONFIG) m_pCheckBoxAutoConfig->setChecked(appConfig().autoConfig()); #else @@ -233,16 +223,33 @@ void SettingsDialog::on_m_pComboLanguage_currentIndexChanged(int index) buttonBox->button(QDialogButtonBox::Save)->setEnabled(isModified()); } -void SettingsDialog::on_m_pCheckBoxEnableCrypto_toggled(bool checked) +void SettingsDialog::on_m_pCheckBoxEnableCrypto_clicked(bool checked) { - m_pLabelKeyLength->setEnabled(checked); - m_pComboBoxKeyLength->setEnabled(checked); - m_pLabelCertificate->setEnabled(checked); - m_pLineEditCertificatePath->setEnabled(checked); - m_pPushButtonBrowseCert->setEnabled(checked); - m_pPushButtonRegenCert->setEnabled(checked); + if (appConfig().isCryptoAvailable()) + { + m_pLabelKeyLength->setEnabled(checked); + m_pComboBoxKeyLength->setEnabled(checked); + m_pLabelCertificate->setEnabled(checked); + m_pLineEditCertificatePath->setEnabled(checked); + m_pPushButtonBrowseCert->setEnabled(checked); + m_pPushButtonRegenCert->setEnabled(checked); - buttonBox->button(QDialogButtonBox::Save)->setEnabled(isModified()); + buttonBox->button(QDialogButtonBox::Save)->setEnabled(isModified()); + } + else + { + m_pCheckBoxEnableCrypto->setChecked(false); + + QMessageBox message(this); + message.addButton(QObject::tr("Close"), QMessageBox::RejectRole); + message.addButton(QObject::tr("Upgrade"), QMessageBox::AcceptRole); + message.setText(QObject::tr("TLS encryption is Synergy Pro feature.\nPlease upgrade if this is important to you")); + + if (message.exec() == QMessageBox::Accepted) + { + QDesktopServices::openUrl(QUrl(QCoreApplication::organizationDomain() + "account")); + } + } } void SettingsDialog::on_m_pLabelInstallBonjour_linkActivated(const QString&) @@ -342,13 +349,13 @@ void SettingsDialog::enableControls(bool enable) { m_pLineEditCertificatePath->setEnabled(enable); m_pComboBoxKeyLength->setEnabled(enable); m_pPushButtonBrowseCert->setEnabled(enable); + m_pCheckBoxEnableCrypto->setEnabled(enable); m_labelAdminRightsMessage->setVisible(!enable); if (enable) { m_pLabelLogPath->setEnabled(m_pCheckBoxLogToFile->isChecked()); m_pLineEditLogFilename->setEnabled(m_pCheckBoxLogToFile->isChecked()); m_pButtonBrowseLog->setEnabled(m_pCheckBoxLogToFile->isChecked()); - m_pCheckBoxEnableCrypto->setEnabled(m_appConfig.isCryptoAvailable()); m_pLabelKeyLength->setEnabled(m_pCheckBoxEnableCrypto->isChecked()); m_pComboBoxKeyLength->setEnabled(m_pCheckBoxEnableCrypto->isChecked()); m_pLabelCertificate->setEnabled(m_pCheckBoxEnableCrypto->isChecked()); @@ -360,7 +367,6 @@ void SettingsDialog::enableControls(bool enable) { m_pLabelLogPath->setEnabled(enable); m_pLineEditLogFilename->setEnabled(enable); m_pButtonBrowseLog->setEnabled(enable); - m_pCheckBoxEnableCrypto->setEnabled(enable); m_pLabelKeyLength->setEnabled(enable); m_pComboBoxKeyLength->setEnabled(enable); m_pLabelCertificate->setEnabled(enable); diff --git a/src/gui/src/SettingsDialog.h b/src/gui/src/SettingsDialog.h index 6ea7ea3544..298a9c146a 100644 --- a/src/gui/src/SettingsDialog.h +++ b/src/gui/src/SettingsDialog.h @@ -77,7 +77,7 @@ class SettingsDialog : public QDialog, public Ui::SettingsDialogBase bool m_isSystemAtStart = false; private slots: - void on_m_pCheckBoxEnableCrypto_toggled(bool checked); + void on_m_pCheckBoxEnableCrypto_clicked(bool checked); void on_m_pComboLanguage_currentIndexChanged(int index); void on_m_pCheckBoxLogToFile_stateChanged(int ); void on_m_pButtonBrowseLog_clicked(); diff --git a/src/gui/src/SettingsDialogBase.ui b/src/gui/src/SettingsDialogBase.ui index c47ad17375..43eb1e3c32 100644 --- a/src/gui/src/SettingsDialogBase.ui +++ b/src/gui/src/SettingsDialogBase.ui @@ -473,7 +473,7 @@ background-color: rgba(192,192,192, 0.1); - false + true Enable &TLS encryption @@ -948,8 +948,42 @@ font-weight: bold; + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Qt::LeftToRight + Minimize to system &tray