Settings 2

This commit is contained in:
2025-10-21 11:48:30 +03:00
parent 068a4ee14a
commit b9a39287cf
8 changed files with 112 additions and 120 deletions

View File

@@ -30,6 +30,9 @@ static const QString tasksFIMfileName = "/tasksFIM.xml";
static const QString clientHash = staticDataFolderName + "/clientHash.xml";
static const QString logFolderPath = "log";
static const QString configFolderName = "config";
static const QString settingsName = configFolderName + "/settings.xml";
static const QString baseNameVersion = "base";//может вынести комманды куда нибудь?
static const QString commandTryBaseDelete = "BASEDELETETRY";

View File

@@ -1,4 +1,6 @@
#include <QXmlStreamReader>
#include "dialogsettingstray.h"
#include "Systems/tools.h"
#include "ui_dialogsettingstray.h"
DialogSettingsTray::DialogSettingsTray(QWidget *parent) :
@@ -42,7 +44,6 @@ DBSettings DialogSettingsTray::getSettings()
bool DialogSettingsTray::loadSettings(DBSettings *settings)
{
/*
QFile file(settingsName);
if(! file.open(QIODevice::ReadOnly))
return false;
@@ -53,15 +54,31 @@ bool DialogSettingsTray::loadSettings(DBSettings *settings)
if(xmlReader.isStartElement()){
if(xmlReader.name() == "ServerSettings")
if(xmlReader.name() == "DataBaseSettings")
{
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes()){
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "Address"){
settings->Address = value;
if(name == "Type"){
settings->Type = value;
}
if(name == "Name"){
settings->Name = value;
}
if(name == "UserName"){
settings->UserName = value;
}
if(name == "Password"){
settings->Password = value;
}
if(name == "HostName"){
settings->HostName = value;
}
if(name == "Port"){
@@ -72,10 +89,6 @@ bool DialogSettingsTray::loadSettings(DBSettings *settings)
settings->Language = value;
}
if(name == "AutoStart"){
settings->isAutoStart = value.toInt();
}
}
}
}
@@ -84,7 +97,6 @@ bool DialogSettingsTray::loadSettings(DBSettings *settings)
}
file.close();
*/
return true;
}
@@ -105,7 +117,9 @@ void DialogSettingsTray::on_btnSave_clicked()
settings->Language = "RUS";
}
//settings->Address = ui->editAddress->text();
//settings->Address = ui->editUserName->text();
//settings->Address = ui->editPassword->text();
//settings->Address = ui->editHostName->text();
//settings->Port = ui->editPort->text();
saveSettings();
@@ -115,7 +129,6 @@ void DialogSettingsTray::on_btnSave_clicked()
bool DialogSettingsTray::saveSettings()
{
/*
QFile file(settingsName);
if(! file.open(QIODevice::WriteOnly))
@@ -127,12 +140,15 @@ bool DialogSettingsTray::saveSettings()
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("ServerSettingsContainer");
xmlWriter.writeStartElement("ServerSettings");
xmlWriter.writeStartElement("DataBaseSettings");
xmlWriter.writeAttribute("Address", settings->Address);
xmlWriter.writeAttribute("Type", settings->Type);
xmlWriter.writeAttribute("Name", settings->Name);
xmlWriter.writeAttribute("UserName", settings->UserName);
xmlWriter.writeAttribute("Password", settings->Password);
xmlWriter.writeAttribute("HostName", settings->HostName);
xmlWriter.writeAttribute("Port", settings->Port);
xmlWriter.writeAttribute("Language", settings->Language);
xmlWriter.writeAttribute("AutoStart", QString::number(settings->isAutoStart));
xmlWriter.writeEndElement();
xmlWriter.writeEndElement();
@@ -140,7 +156,6 @@ bool DialogSettingsTray::saveSettings()
xmlWriter.writeEndDocument();
file.close();
*/
return true;
}

View File

@@ -7,7 +7,11 @@
class DBSettings{
public:
QString Address;
QString Type;
QString Name;
QString UserName;
QString Password;
QString HostName;
QString Port;
QString Language;
};

View File

@@ -30,6 +30,9 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
qRegisterMetaType<PacketType>("PacketType");
qRegisterMetaType<UserType>("UserType");
qRegisterMetaType<LogLevel>("LogLevel");
setLanguageInterfase();
errorCode = 0;
ui->btnStopServer->setEnabled(false);
@@ -240,3 +243,24 @@ void ServerLMSWidget::on_btnSettings_clicked()
break;
}
}
void ServerLMSWidget::setLanguageInterfase()
{
DBSettings settings;
DialogSettingsTray::loadSettings(&settings);
if(settings.Language == "ENG")
{
qtLanguageTranslator.load(QString("translations/ServerLMS_") + languageENG, ".");
language = languageENG;
}
else
{
qtLanguageTranslator.load(QString("translations/ServerLMS_") + languageRUS, ".");
language = languageRUS;
}
qApp->installTranslator(&qtLanguageTranslator);
emit signal_LanguageChanged(language);
}

View File

@@ -98,6 +98,9 @@ private slots:
void on_btnSettings_clicked();
private:
void setLanguageInterfase();
private:
Ui::ServerLMSWidget *ui;

View File

@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<width>800</width>
<height>600</height>
</rect>
</property>
@@ -138,6 +138,48 @@
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_Block">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Block Authorization</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblBlockAuth">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="ServerLMS.qrc">:/resources/icons/open.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QToolButton" name="btnSettings">
<property name="minimumSize">
@@ -256,48 +298,6 @@
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_Block">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Block Authorization</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblBlockAuth">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="ServerLMS.qrc">:/resources/icons/open.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>