Files
RRJServer/ServerLMS/dialogsettingstray.cpp
2025-10-20 18:47:13 +03:00

164 lines
3.7 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include "dialogsettingstray.h"
#include "ui_dialogsettingstray.h"
DialogSettingsTray::DialogSettingsTray(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogSettingsTray),
settings(nullptr),
flSettingsServerChanged(false)
{
ui->setupUi(this);
settings = new DBSettings;
//Задаём два пункта с текстом локалей в комбобоксе
ui->cmbLanguage->addItems(QStringList() << "English" << "Русский");
if(loadSettings(settings))
{
if(settings->Language == "ENG")
ui->cmbLanguage->setCurrentText("English");
else
ui->cmbLanguage->setCurrentText("Русский");
//ui->editAddress->setText(settings->Address);
//ui->editPort->setText(settings->Port);
}
ui->btnSave->setEnabled(false);
flSettingsServerChanged = false;
}
DialogSettingsTray::~DialogSettingsTray()
{
delete ui;
delete settings;
}
DBSettings DialogSettingsTray::getSettings()
{
return *settings;
}
bool DialogSettingsTray::loadSettings(DBSettings *settings)
{
/*
QFile file(settingsName);
if(! file.open(QIODevice::ReadOnly))
return false;
QXmlStreamReader xmlReader(&file);
while (!xmlReader.atEnd()){
if(xmlReader.isStartElement()){
if(xmlReader.name() == "ServerSettings")
{
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes()){
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "Address"){
settings->Address = value;
}
if(name == "Port"){
settings->Port = value;
}
if(name == "Language"){
settings->Language = value;
}
if(name == "AutoStart"){
settings->isAutoStart = value.toInt();
}
}
}
}
xmlReader.readNext();
}
file.close();
*/
return true;
}
void DialogSettingsTray::on_cmbLanguage_currentTextChanged(const QString &arg1)
{
}
void DialogSettingsTray::on_btnSave_clicked()
{
if(ui->cmbLanguage->currentText() == QStringLiteral("English"))
{
settings->Language = "ENG";
}
else
{
settings->Language = "RUS";
}
//settings->Address = ui->editAddress->text();
//settings->Port = ui->editPort->text();
saveSettings();
this->accept();
}
bool DialogSettingsTray::saveSettings()
{
/*
QFile file(settingsName);
if(! file.open(QIODevice::WriteOnly))
return false;
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("ServerSettingsContainer");
xmlWriter.writeStartElement("ServerSettings");
xmlWriter.writeAttribute("Address", settings->Address);
xmlWriter.writeAttribute("Port", settings->Port);
xmlWriter.writeAttribute("Language", settings->Language);
xmlWriter.writeAttribute("AutoStart", QString::number(settings->isAutoStart));
xmlWriter.writeEndElement();
xmlWriter.writeEndElement();
xmlWriter.writeEndDocument();
file.close();
*/
return true;
}
void DialogSettingsTray::on_cmbLanguage_currentIndexChanged(int index)
{
ui->btnSave->setEnabled(true);
}
void DialogSettingsTray::on_DialogSettingsTray_accepted()
{
QString language;
if(settings->Language == "ENG")
language = QString("en_EN");
else
language = QString("ru_RU");
emit signal_LanguageChanged(language);
}