Корректное переподключение к серверу

This commit is contained in:
2025-07-03 09:48:22 +03:00
parent 67cc236b70
commit c46ae86791
9 changed files with 146 additions and 103 deletions

View File

@@ -9,7 +9,8 @@ DialogSettings::DialogSettings(ConnectorToServer* connectorToServer, bool instru
QDialog(parent),
ui(new Ui::DialogSettings),
settings(nullptr),
connectorToServer(nullptr)
connectorToServer(nullptr),
flSettingsServerChanged(false)
{
ui->setupUi(this);
ui->btnUpdateStyle->setObjectName("btnUpdateStyle");
@@ -41,7 +42,7 @@ DialogSettings::DialogSettings(ConnectorToServer* connectorToServer, bool instru
//Задаём два пункта с текстом локалей в комбобоксе
ui->cmbLanguage->addItems(QStringList() << "English" << "Русский");
if(loadSettings())
if(loadSettings(settings))
{
if(settings->Language == "ENG")
ui->cmbLanguage->setCurrentText("English");
@@ -57,9 +58,11 @@ DialogSettings::DialogSettings(ConnectorToServer* connectorToServer, bool instru
if(connectorToServer)
if(connectorToServer->getIsConnected())
{
/*
ui->editAddress->setEnabled(false);
ui->editPort->setEnabled(false);
ui->checkAutoStart->setEnabled(false);
*/
if(instructorIsLogged)
ui->btnSetVersion->setEnabled(true);
@@ -68,11 +71,16 @@ DialogSettings::DialogSettings(ConnectorToServer* connectorToServer, bool instru
ui->label_AutoStart->setVisible(false);
ui->checkAutoStart->setVisible(false);
ui->btnSave->setEnabled(false);
flSettingsServerChanged = false;
/*
if(settings->Language == "ENG")
qtLanguageTranslator.load(QString("translations/InstructorsAndTraineesWidget_") + "en_EN", ".");
else
qtLanguageTranslator.load(QString("translations/InstructorsAndTraineesWidget_") + "ru_RU", ".");
qApp->installTranslator(&qtLanguageTranslator);
*/
}
DialogSettings::~DialogSettings()
@@ -105,7 +113,7 @@ void DialogSettings::on_btnUpdateStyle_clicked()
emit signal_UpdateStyleSheet();
}
bool DialogSettings::loadSettings()
bool DialogSettings::loadSettings(ServerSettings *settings)
{
QFile file(settingsName);
if(! file.open(QIODevice::ReadOnly))
@@ -199,6 +207,7 @@ void DialogSettings::on_btnSave_clicked()
saveSettings();
/*
QString language;
if(settings->Language == "ENG")
@@ -207,21 +216,12 @@ void DialogSettings::on_btnSave_clicked()
language = QString("ru_RU");
emit signal_LanguageChanged(language);
*/
this->close();
this->accept();
}
void DialogSettings::on_DialogSettings_rejected()
{
QString language;
if(settings->Language == "ENG")
language = QString("en_EN");
else
language = QString("ru_RU");
emit signal_LanguageChanged(language);
}
void DialogSettings::on_btnSetVersion_clicked()
{
@@ -229,3 +229,37 @@ void DialogSettings::on_btnSetVersion_clicked()
if(connectorToServer->getIsConnected())
connectorToServer->showVersionSelect();
}
void DialogSettings::on_cmbLanguage_currentIndexChanged(int index)
{
ui->btnSave->setEnabled(true);
}
void DialogSettings::on_editAddress_textChanged(const QString &arg1)
{
ui->btnSave->setEnabled(true);
flSettingsServerChanged = true;
}
void DialogSettings::on_editPort_textChanged(const QString &arg1)
{
ui->btnSave->setEnabled(true);
flSettingsServerChanged = true;
}
void DialogSettings::on_DialogSettings_rejected()
{
}
void DialogSettings::on_DialogSettings_accepted()
{
QString language;
if(settings->Language == "ENG")
language = QString("en_EN");
else
language = QString("ru_RU");
emit signal_LanguageChanged(language);
}