mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Сервер. Settings DB
This commit is contained in:
@@ -7,6 +7,8 @@ add_library(ServerLMS SHARED
|
||||
serverlmswidget.cpp
|
||||
serverlmswidget.h
|
||||
serverlmswidget.ui
|
||||
metatypes.cpp
|
||||
metatypes.h
|
||||
dialogsettingstray.cpp
|
||||
dialogsettingstray.h
|
||||
dialogsettingstray.ui
|
||||
|
||||
@@ -11,6 +11,24 @@ DialogSettingsTray::DialogSettingsTray(QWidget *parent) :
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->btnSave->setObjectName("btnSave");
|
||||
|
||||
/* Создаем строку для регулярного выражения */
|
||||
QString ipRange = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])";
|
||||
/* Создаем регулярное выражение с применением строки, как
|
||||
* повторяющегося элемента
|
||||
*/
|
||||
QRegExp ipRegex ("^" + ipRange
|
||||
+ "\\." + ipRange
|
||||
+ "\\." + ipRange
|
||||
+ "\\." + ipRange + "$");
|
||||
/* Создаем Валидатор регулярного выражения с применением
|
||||
* созданного регулярного выражения
|
||||
*/
|
||||
QRegExpValidator *ipValidator = new QRegExpValidator(ipRegex, this);
|
||||
/* Устанавливаем Валидатор на QLineEdit */
|
||||
ui->editHostName->setValidator(ipValidator);
|
||||
|
||||
settings = new ServerDBSettings;
|
||||
|
||||
//Задаём два пункта с текстом локалей в комбобоксе
|
||||
@@ -23,12 +41,14 @@ DialogSettingsTray::DialogSettingsTray(QWidget *parent) :
|
||||
else
|
||||
ui->cmbLanguage->setCurrentText("Русский");
|
||||
|
||||
//ui->editAddress->setText(settings->Address);
|
||||
//ui->editPort->setText(settings->Port);
|
||||
ui->editNameDB->setText(settings->NameDB);
|
||||
ui->editHostName->setText(settings->HostName);
|
||||
ui->editPort->setText(settings->Port);
|
||||
ui->editUserName->setText(settings->UserName);
|
||||
ui->editPassword->setText(settings->Password);
|
||||
}
|
||||
|
||||
ui->btnSave->setEnabled(false);
|
||||
flSettingsServerChanged = false;
|
||||
}
|
||||
|
||||
DialogSettingsTray::~DialogSettingsTray()
|
||||
@@ -66,7 +86,7 @@ bool DialogSettingsTray::loadSettings(ServerDBSettings *settings)
|
||||
}
|
||||
|
||||
if(name == "Name"){
|
||||
settings->Name = value;
|
||||
settings->NameDB = value;
|
||||
}
|
||||
|
||||
if(name == "UserName"){
|
||||
@@ -101,32 +121,6 @@ bool DialogSettingsTray::loadSettings(ServerDBSettings *settings)
|
||||
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->editUserName->text();
|
||||
//settings->Address = ui->editPassword->text();
|
||||
//settings->Address = ui->editHostName->text();
|
||||
//settings->Port = ui->editPort->text();
|
||||
|
||||
saveSettings();
|
||||
|
||||
this->accept();
|
||||
}
|
||||
|
||||
bool DialogSettingsTray::saveSettings()
|
||||
{
|
||||
QFile file(settingsName);
|
||||
@@ -143,7 +137,7 @@ bool DialogSettingsTray::saveSettings()
|
||||
xmlWriter.writeStartElement("DataBaseSettings");
|
||||
|
||||
xmlWriter.writeAttribute("Type", settings->Type);
|
||||
xmlWriter.writeAttribute("Name", settings->Name);
|
||||
xmlWriter.writeAttribute("Name", settings->NameDB);
|
||||
xmlWriter.writeAttribute("UserName", settings->UserName);
|
||||
xmlWriter.writeAttribute("Password", settings->Password);
|
||||
xmlWriter.writeAttribute("HostName", settings->HostName);
|
||||
@@ -160,6 +154,28 @@ bool DialogSettingsTray::saveSettings()
|
||||
return true;
|
||||
}
|
||||
|
||||
void DialogSettingsTray::on_btnSave_clicked()
|
||||
{
|
||||
if(ui->cmbLanguage->currentText() == QStringLiteral("English"))
|
||||
{
|
||||
settings->Language = "ENG";
|
||||
}
|
||||
else
|
||||
{
|
||||
settings->Language = "RUS";
|
||||
}
|
||||
|
||||
settings->NameDB = ui->editNameDB->text();
|
||||
settings->HostName = ui->editHostName->text();
|
||||
settings->Port = ui->editPort->text();
|
||||
settings->UserName = ui->editUserName->text();
|
||||
settings->Password = ui->editPassword->text();
|
||||
|
||||
saveSettings();
|
||||
|
||||
this->accept();
|
||||
}
|
||||
|
||||
void DialogSettingsTray::on_cmbLanguage_currentIndexChanged(int index)
|
||||
{
|
||||
ui->btnSave->setEnabled(true);
|
||||
@@ -176,3 +192,33 @@ void DialogSettingsTray::on_DialogSettingsTray_accepted()
|
||||
|
||||
emit signal_LanguageChanged(language);
|
||||
}
|
||||
|
||||
void DialogSettingsTray::on_editNameDB_textChanged(const QString &arg1)
|
||||
{
|
||||
ui->btnSave->setEnabled(true);
|
||||
flSettingsServerChanged = true;
|
||||
}
|
||||
|
||||
void DialogSettingsTray::on_editHostName_textChanged(const QString &arg1)
|
||||
{
|
||||
ui->btnSave->setEnabled(true);
|
||||
flSettingsServerChanged = true;
|
||||
}
|
||||
|
||||
void DialogSettingsTray::on_editPort_textChanged(const QString &arg1)
|
||||
{
|
||||
ui->btnSave->setEnabled(true);
|
||||
flSettingsServerChanged = true;
|
||||
}
|
||||
|
||||
void DialogSettingsTray::on_editUserName_textChanged(const QString &arg1)
|
||||
{
|
||||
ui->btnSave->setEnabled(true);
|
||||
flSettingsServerChanged = true;
|
||||
}
|
||||
|
||||
void DialogSettingsTray::on_editPassword_textChanged(const QString &arg1)
|
||||
{
|
||||
ui->btnSave->setEnabled(true);
|
||||
flSettingsServerChanged = true;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
class ServerDBSettings{
|
||||
public:
|
||||
QString Type;
|
||||
QString Name;
|
||||
QString NameDB;
|
||||
QString UserName;
|
||||
QString Password;
|
||||
QString HostName;
|
||||
@@ -39,13 +39,22 @@ signals:
|
||||
void signal_LanguageChanged(QString language);
|
||||
|
||||
private slots:
|
||||
void on_cmbLanguage_currentTextChanged(const QString &arg1);
|
||||
void on_btnSave_clicked();
|
||||
|
||||
void on_cmbLanguage_currentIndexChanged(int index);
|
||||
|
||||
void on_DialogSettingsTray_accepted();
|
||||
|
||||
void on_editNameDB_textChanged(const QString &arg1);
|
||||
|
||||
void on_editHostName_textChanged(const QString &arg1);
|
||||
|
||||
void on_editPort_textChanged(const QString &arg1);
|
||||
|
||||
void on_editUserName_textChanged(const QString &arg1);
|
||||
|
||||
void on_editPassword_textChanged(const QString &arg1);
|
||||
|
||||
private:
|
||||
bool saveSettings();
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
<height>324</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
<string>Settings</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
@@ -51,6 +51,139 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_DB">
|
||||
<property name="title">
|
||||
<string>Data Base</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_DB">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_NameDB">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_NameDB">
|
||||
<property name="text">
|
||||
<string>DB name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editNameDB">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_HostName">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_HostName">
|
||||
<property name="text">
|
||||
<string>Host name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editHostName">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Port">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_Port">
|
||||
<property name="text">
|
||||
<string>Port</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editPort">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>70</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_UserName">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_UserName">
|
||||
<property name="text">
|
||||
<string>User name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editUserName">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Password">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_Password">
|
||||
<property name="text">
|
||||
<string>Password</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editPassword">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>170</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
|
||||
9
ServerLMS/metatypes.cpp
Normal file
9
ServerLMS/metatypes.cpp
Normal file
@@ -0,0 +1,9 @@
|
||||
#include<QMetaType>
|
||||
#include "metatypes.h"
|
||||
|
||||
void registerMetaType()
|
||||
{
|
||||
qRegisterMetaType<PacketType>("PacketType");
|
||||
qRegisterMetaType<UserType>("UserType");
|
||||
qRegisterMetaType<LogLevel>("LogLevel");
|
||||
}
|
||||
14
ServerLMS/metatypes.h
Normal file
14
ServerLMS/metatypes.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef METATYPES_H
|
||||
#define METATYPES_H
|
||||
|
||||
#include "Data/PacketType.h"
|
||||
#include "Data/typesDataServerClient.h"
|
||||
#include "Systems/logger.h"
|
||||
|
||||
void registerMetaType();
|
||||
|
||||
Q_DECLARE_METATYPE(PacketType)
|
||||
Q_DECLARE_METATYPE(UserType)
|
||||
Q_DECLARE_METATYPE(LogLevel)
|
||||
|
||||
#endif // METATYPES_H
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "serverlmswidget.h"
|
||||
#include "dialogsettingstray.h"
|
||||
#include "ui_serverlmswidget.h"
|
||||
#include "metatypes.h"
|
||||
|
||||
const QString ServerLMSWidget::languageENG = "en_EN";
|
||||
const QString ServerLMSWidget::languageRUS = "ru_RU";
|
||||
@@ -26,19 +27,21 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
||||
commonClientHandler(nullptr),
|
||||
chatSystem(nullptr),
|
||||
providerDBLMS(nullptr),
|
||||
first (true),
|
||||
language(languageENG),
|
||||
errorCode(0)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
mutex = new QMutex;
|
||||
|
||||
qRegisterMetaType<PacketType>("PacketType");
|
||||
qRegisterMetaType<UserType>("UserType");
|
||||
qRegisterMetaType<LogLevel>("LogLevel");
|
||||
qDebug() << "ServerLMSWidget init thread ID " << QThread::currentThreadId();
|
||||
|
||||
registerMetaType();
|
||||
|
||||
updateMyStyleSheet();
|
||||
|
||||
setLanguageInterfase();
|
||||
|
||||
errorCode = 0;
|
||||
mutex = new QMutex;
|
||||
|
||||
ui->btnStopServer->setEnabled(false);
|
||||
ui->btnStartServer->setEnabled(true);
|
||||
@@ -93,15 +96,7 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
||||
connect(&Logger::instance(),&Logger::sigLogToWidget,this, &ServerLMSWidget::addToLog,Qt::QueuedConnection);
|
||||
|
||||
emit sigUpdateController(commonClientHandler,dataParser,assetsManager);
|
||||
on_btnStartServer_clicked();
|
||||
|
||||
first = true;
|
||||
qDebug() << "MAIN THREAD: " << QThread::currentThreadId();
|
||||
}
|
||||
|
||||
void ServerLMSWidget::setError(int code)
|
||||
{
|
||||
errorCode = code;
|
||||
on_btnStartServer_clicked();
|
||||
}
|
||||
|
||||
ServerLMSWidget::~ServerLMSWidget()
|
||||
@@ -110,7 +105,6 @@ ServerLMSWidget::~ServerLMSWidget()
|
||||
updateThread->exit();
|
||||
loggerThread->exit();
|
||||
|
||||
|
||||
delete server;
|
||||
delete commonClientHandler;
|
||||
delete dataParser;
|
||||
@@ -126,12 +120,16 @@ ServerLMSWidget::~ServerLMSWidget()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void ServerLMSWidget::setError(int code)
|
||||
{
|
||||
errorCode = code;
|
||||
}
|
||||
|
||||
QString ServerLMSWidget::getLanguage()
|
||||
{
|
||||
return language;
|
||||
}
|
||||
|
||||
|
||||
void ServerLMSWidget::slotUpdateListClients()
|
||||
{
|
||||
//Очищаем список
|
||||
@@ -239,15 +237,19 @@ void ServerLMSWidget::on_btnSettings_clicked()
|
||||
language = dlg.getSettings().Language;
|
||||
|
||||
if(dlg.settingsServerIsChanged())
|
||||
{
|
||||
{//TODO Здесь нужно переподключать БД
|
||||
|
||||
//SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningClose, tr("Server settings have been changed. Please reconnect to the server.")).exec();
|
||||
|
||||
//flSettingsServerIsChanged = true;
|
||||
providerDBLMS->deAuthorizationAll();
|
||||
|
||||
//if(authorizationIsCompleted())
|
||||
//deAuthorizationInstructor(loginInstructorLoggedInLocal);
|
||||
on_btnStopServer_clicked();
|
||||
|
||||
//connectorToServer->StopConnectToServer();
|
||||
providerDBLMS->DisConnectionFromDB();
|
||||
|
||||
providerDBLMS->ConnectionToDB();
|
||||
|
||||
//on_btnStartServer_clicked();
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -279,3 +281,30 @@ void ServerLMSWidget::setLanguageInterfase()
|
||||
|
||||
emit signal_LanguageChanged(language);
|
||||
}
|
||||
|
||||
void ServerLMSWidget::updateMyStyleSheet()
|
||||
{
|
||||
QString styleSheet = loadStyleSheet();
|
||||
styleSheet = styleSheet.replace("\n", "");
|
||||
|
||||
this->setStyleSheet(styleSheet);
|
||||
}
|
||||
|
||||
QString ServerLMSWidget::loadStyleSheet()
|
||||
{
|
||||
QString fileName = "./resources/css/styleSheetMain.css";
|
||||
QFile styleSheetFile(fileName);
|
||||
if (!styleSheetFile.open(QFile::ReadOnly | QFile::Text))
|
||||
{
|
||||
QMessageBox::warning(this, tr("Warning!"), tr("The file could not be opened ") + fileName);
|
||||
return QStringLiteral("");
|
||||
}
|
||||
else
|
||||
{
|
||||
QByteArray byteArray = styleSheetFile.readAll();
|
||||
styleSheetFile.close();
|
||||
|
||||
QString style = byteArray;
|
||||
return style;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,6 +102,10 @@ private slots:
|
||||
private:
|
||||
void setLanguageInterfase();
|
||||
|
||||
private:
|
||||
void updateMyStyleSheet();
|
||||
QString loadStyleSheet();
|
||||
|
||||
private:
|
||||
Ui::ServerLMSWidget *ui;
|
||||
|
||||
|
||||
@@ -138,48 +138,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>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnSettings">
|
||||
<property name="minimumSize">
|
||||
@@ -298,6 +256,48 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_Block">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>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>
|
||||
|
||||
Reference in New Issue
Block a user