diff --git a/ChangeLog b/ChangeLog index 3ebb200079..6258404fb1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,7 +11,9 @@ Bug fixes: - #6976 Fix windows builds - #6979 Manual config error in client mode - #6983 Fix that mac client listens on ipv4 only +- #6993 Fix issues with prefences UI - #6992 UI issues and use cases +======= Enhancements: - #6954 Move language selection to advanced section diff --git a/src/gui/src/MainWindowBase.ui b/src/gui/src/MainWindowBase.ui index a65890a582..9b6c5b4ad9 100644 --- a/src/gui/src/MainWindowBase.ui +++ b/src/gui/src/MainWindowBase.ui @@ -850,10 +850,10 @@ top: 3px; - Settings + Preferences - - Edit settings + + Preferences diff --git a/src/gui/src/SettingsDialog.cpp b/src/gui/src/SettingsDialog.cpp index 00ff22d081..3be514636a 100644 --- a/src/gui/src/SettingsDialog.cpp +++ b/src/gui/src/SettingsDialog.cpp @@ -66,7 +66,7 @@ SettingsDialog::SettingsDialog(QWidget* parent, AppConfig& config) : connect(m_pLineEditScreenName, SIGNAL(textEdited(QString)), this, SLOT(onChange())); connect(m_pComboElevate, SIGNAL(currentIndexChanged(int)), this, SLOT(onChange())); - resize(400, 620); + adjustSize(); } void SettingsDialog::accept() @@ -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 @@ -194,7 +184,6 @@ void SettingsDialog::loadFromConfig() { m_pLabelInstallBonjour->hide(); #endif - adjustSize(); } void SettingsDialog::allowAutoConfig() @@ -234,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&) @@ -343,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()); @@ -361,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 019d620f97..43eb1e3c32 100644 --- a/src/gui/src/SettingsDialogBase.ui +++ b/src/gui/src/SettingsDialogBase.ui @@ -7,7 +7,7 @@ 0 0 404 - 737 + 620 @@ -35,52 +35,431 @@ 11 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Save - - - - - - - true - + + 5 + + + - + 0 0 - - - true - - - - QGroupBox::title { - left: 0px; - top: -2px; -} - - + Security - - - 6 + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 3 + + + + + + + + + 0 + 0 + + + + Advanced + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 3 + + + + + + + + .QFrame{ +border: 1px solid rgba(192,192,192, 0.2); +border-radius: 4px; +background-color: rgba(192,192,192, 0.1); +} + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 15 - - 9 + + 15 + + + 7 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Log to file + + + + + + + + Info + + + + + Debug + + + + + Debug1 + + + + + Debug2 + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + &Level + + + m_pComboLogLevel + + + + + + + 3 + + + 0 + + + + + + 0 + 0 + + + + Log path + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 30 + 20 + + + + + + + + false + + + + 0 + 0 + + + + + + + + false + + + PointingHandCursor + + + margin: 0px; padding: 0px; + + + + + + + :/res/icons/64x64/folder.png:/res/icons/64x64/folder.png + + + + 20 + 13 + + + + true + + + + + + + + + + + + + 0 + 0 + + + + Use settings profile from + + + + + + + + 0 + 0 + + + + Logs + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 3 + + + + + + + + + 0 + 0 + + + + .QFrame{ +border: 1px solid rgba(192,192,192, 0.2); +border-radius: 4px; +background-color: rgba(192,192,192, 0.1); +} + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + + &Use server's keyboard language on this machines + + + + + + + + 0 + 0 + + + + + 75 + 0 + + + + User interface language + + + m_pComboLanguage + + + + + + + + 0 + 0 + + + + Elevate privileges + + + + + + + Specify when the Synergy service should run at an elevated privilege level + + + 0 + + + + As Needed + + + + + Always + + + + + Never + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 3 + + + + + + + + .QFrame{ +border: 1px solid rgba(192,192,192, 0.2); +border-radius: 4px; +background-color: rgba(192,192,192, 0.1); +} + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 5 - 6 - - 9 @@ -94,7 +473,7 @@ - false + true Enable &TLS encryption @@ -116,6 +495,12 @@ + + + 0 + 0 + + Key length @@ -152,6 +537,12 @@ + + + 0 + 0 + + Certificate @@ -241,228 +632,85 @@ - - - - Qt::Vertical + + + + .QFrame{ +border: 1px solid rgba(192,192,192, 0.2); +border-radius: 4px; +background-color: rgba(192,192,192, 0.1); +} + - - QSizePolicy::Minimum + + QFrame::StyledPanel - - - 20 - 8 - + + QFrame::Raised - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 10 - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 16 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - 13 - - - 9 + + + 15 - 9 + 15 - - - - - - - 75 - 0 - - - - Computer name - - - m_pLineEditScreenName - - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 20 - 20 - - - - - - - - true - - - 255 - - - - + + 6 + + + + + Current user + + - - + + + + All users + + + true + + + + + + + false + - + 0 0 - - color: #EC4C47; -font-size: 13px; -font-family: Arial; -font-weight: bold; + + + 50 + false + - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Note: Only Admins can edit settings for all users. - - - - 0 - - - - - P&ort - - - m_pSpinBoxPort - - - - - - - true - - - - 0 - 0 - - - - 65535 - - - 24800 - - - - - - - Network IP - - - m_pLineEditInterface - - - - - - - true - - - - - - - - - 0 - - - - - &Hide on startup - - - - - - - Minimize to system &tray - - - - - - + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Save + + + + 0 @@ -510,333 +758,234 @@ font-weight: bold; - - + + Qt::Vertical - QSizePolicy::Minimum + QSizePolicy::Fixed 20 - 6 + 3 - - - - - true - - + + - QGroupBox::title { - left: -3px; - top: -2px; -} + .QFrame{ +border: 1px solid rgba(192,192,192, 0.2); +border-radius: 4px; +background-color: rgba(192,192,192, 0.1); +} + - - Use &settings profile from + + QFrame::StyledPanel - - - - - All users - - - true - - - - - - - Current user - - - - - - - false - - - - 50 - false - - - - Note: Only Admins can edit settings for all users. - - - - - - - - - - - true - + + QFrame::Raised - - QGroupBox::title { - left: 0px; - top: -2px; -} - - - Advanced - - - - - - - 0 - 0 - - - - - 75 - 0 - - - - &Language - - - m_pComboLanguage - - - - - - - Specify when the Synergy service should run at an elevated privilege level - - - 0 - - - - As Needed - - - - - Always - - - - - Never - - - - - - - - Elevate - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - 0 - 0 - - - - - true - - - - QGroupBox::title { - left: 0px; - top: -2px; -} - - - Logs - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - false - - + - 6 + 17 - 16 + 17 - - 6 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - &Level - - - m_pComboLogLevel - - - - - + + - - Info - - - - - Debug - - - - - Debug1 - - - - - Debug2 - - - - - - - - Log to file - - - - - - - 3 - - - 0 - - - + + + + 0 + 0 + + + + + 75 + 0 + + - Log path + Computer name + + + m_pLineEditScreenName - + Qt::Horizontal - QSizePolicy::Minimum + QSizePolicy::Maximum - 30 + 20 20 - + - false + true + + 255 + + + + + + + + + + 0 + 0 + + + + color: #EC4C47; +font-size: 13px; +font-family: Arial; +font-weight: bold; + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 0 + + + - + 0 0 + + P&ort + + + m_pSpinBoxPort + - + - false + true - - PointingHandCursor + + + 0 + 0 + - - margin: 0px; padding: 0px; + + 65535 + + + 24800 + + + + + + + + 0 + 0 + - + Network IP - - - :/res/icons/64x64/folder.png:/res/icons/64x64/folder.png + + m_pLineEditInterface - + + + + + + true + + + + + + + + + 0 + + + + + &Hide on startup + + + + + + + Qt::Horizontal + + - 20 - 13 + 40 + 20 - - true + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Qt::LeftToRight + + + Minimize to system &tray @@ -848,7 +997,6 @@ font-weight: bold; - m_pRadioUserScope m_pCheckBoxAutoConfig