SYNERGY-799 Fix Screen settings window

This commit is contained in:
Serhii Hadzhilov 2021-04-13 13:23:22 +03:00
parent 3efd02f018
commit 8377f783a2
7 changed files with 748 additions and 325 deletions

View file

@ -16,6 +16,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "validators/ScreenNameValidator.h"
#include "validators/AliasValidator.h"
#include "ScreenSettingsDialog.h"
#include "Screen.h"
@ -31,12 +33,10 @@ ScreenSettingsDialog::ScreenSettingsDialog(QWidget* parent, Screen* pScreen,cons
setupUi(this);
m_pLineEditName->setText(m_pScreen->name());
m_NameValidator = std::make_unique<validators::ScreenNameValidator>(m_pLineEditName, m_pLabelNameError, pScreens);
m_pLineEditName->setValidator(m_NameValidator.get());
m_pLineEditName->setValidator(new validators::ScreenNameValidator(m_pLineEditName, m_pLabelNameError, pScreens));
m_pLineEditName->selectAll();
m_AliasValidator = std::make_unique<validators::AliasValidator>(m_pLineEditAlias, m_pLabelAliasError);
m_pLineEditAlias->setValidator(m_AliasValidator.get());
m_pLineEditAlias->setValidator(new validators::AliasValidator(m_pLineEditAlias, m_pLabelAliasError));
for (int i = 0; i < m_pScreen->aliases().count(); i++)
new QListWidgetItem(m_pScreen->aliases()[i], m_pListAliases);
@ -57,6 +57,8 @@ ScreenSettingsDialog::ScreenSettingsDialog(QWidget* parent, Screen* pScreen,cons
m_pCheckBoxNumLock->setChecked(m_pScreen->fix(Screen::NumLock));
m_pCheckBoxScrollLock->setChecked(m_pScreen->fix(Screen::ScrollLock));
m_pCheckBoxXTest->setChecked(m_pScreen->fix(Screen::XTest));
resize(400, 625);
}
void ScreenSettingsDialog::accept()

View file

@ -22,8 +22,6 @@
#include <memory>
#include <QDialog>
#include "validators/ScreenNameValidator.h"
#include "validators/AliasValidator.h"
#include "ui_ScreenSettingsDialogBase.h"
@ -51,8 +49,6 @@ class ScreenSettingsDialog : public QDialog, public Ui::ScreenSettingsDialogBase
private:
Screen* m_pScreen;
std::unique_ptr<validators::ScreenNameValidator> m_NameValidator;
std::unique_ptr<validators::AliasValidator> m_AliasValidator;
};

File diff suppressed because it is too large Load diff

View file

@ -16,6 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "SettingsDialog.h"
#include "validators/ScreenNameValidator.h"
#include "CoreInterface.h"
#include "SynergyLocale.h"
@ -52,8 +53,7 @@ SettingsDialog::SettingsDialog(QWidget* parent, AppConfig& config) :
enableControls(appConfig().isWritable());
const auto& serveConfig = m_pMainWindow->serverConfig();
m_ScreenNameValidator = std::make_unique<validators::ScreenNameValidator>(m_pLineEditScreenName, m_pLabelNameError, (&serveConfig.screens()));
m_pLineEditScreenName->setValidator(m_ScreenNameValidator.get());
m_pLineEditScreenName->setValidator(new validators::ScreenNameValidator(m_pLineEditScreenName, m_pLabelNameError, (&serveConfig.screens())));
connect(m_pLineEditLogFilename, SIGNAL(textChanged(QString)), this, SLOT(onChange()));
connect(m_pComboLogLevel, SIGNAL(currentIndexChanged(int)), this, SLOT(onChange()));

View file

@ -23,7 +23,7 @@
#include <memory>
#include <QDialog>
#include "ui_SettingsDialogBase.h"
#include "validators/ScreenNameValidator.h"
#include "SynergyLocale.h"
#include "CoreInterface.h"
@ -70,7 +70,6 @@ class SettingsDialog : public QDialog, public Ui::SettingsDialogBase
SynergyLocale m_Locale;
CoreInterface m_CoreInterface;
BonjourWindows* m_pBonjourWindows;
std::unique_ptr<validators::ScreenNameValidator> m_ScreenNameValidator;
/// @brief Stores settings scope at start of settings dialog
/// This is neccessary to restore state if user changes

View file

@ -25,8 +25,7 @@ SetupWizard::SetupWizard(MainWindow& mainWindow) :
setupUi(this);
m_pLineEditName->setText(m_MainWindow.appConfig().screenName());
m_ScreenNameValidator = std::make_unique<validators::ScreenNameValidator>(m_pLineEditName, label_ErrorMessage);
m_pLineEditName->setValidator(m_ScreenNameValidator.get());
m_pLineEditName->setValidator(new validators::ScreenNameValidator(m_pLineEditName, label_ErrorMessage));
connect(m_pButtonApply, SIGNAL(clicked()), this, SLOT(accept()));
connect(m_pLineEditName, SIGNAL(textEdited(QString)), this, SLOT(onNameChanged()));

View file

@ -19,7 +19,6 @@
#include <memory>
#include "ui_SetupWizardBase.h"
#include <QDialog>
#include "validators/ScreenNameValidator.h"
class MainWindow;
@ -36,7 +35,6 @@ protected:
private:
MainWindow& m_MainWindow;
std::unique_ptr<validators::ScreenNameValidator> m_ScreenNameValidator;
private slots:
void onNameChanged();