mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
fix: server changable version
This commit is contained in:
@@ -15,9 +15,9 @@ void DataParser::initialize(PostProcessorSystem *postProcessSystem)
|
||||
}
|
||||
|
||||
|
||||
ServerSettings *DataParser::getClientSettings()
|
||||
Settings *DataParser::getSettings()
|
||||
{
|
||||
ServerSettings *settings = new ServerSettings;
|
||||
Settings *settings = new Settings;
|
||||
QFile file(settingsName);
|
||||
file.open(QIODevice::ReadOnly);
|
||||
QXmlStreamReader xmlReader(&file);
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
~DataParser() = default;
|
||||
|
||||
void initialize(PostProcessorSystem *postProcessSystem);
|
||||
ServerSettings* getClientSettings();
|
||||
Settings* getSettings();
|
||||
bool xmlParser(const QByteArray& array);
|
||||
private:
|
||||
PostProcessorSystem *postProcessSystem;
|
||||
|
||||
@@ -125,7 +125,42 @@ void DataParserOutput::createAuthMessage(ClientAutorization *auth)
|
||||
file.close();
|
||||
}
|
||||
|
||||
void DataParserOutput::createServerSettings(ServerSettings* serverSettings)
|
||||
void DataParserOutput::createServerSettings()
|
||||
{
|
||||
QFile file(settingsName);
|
||||
if (file.exists()) return;
|
||||
|
||||
file.open(QIODevice::WriteOnly);
|
||||
|
||||
QXmlStreamWriter xmlWriter(&file);
|
||||
|
||||
xmlWriter.setAutoFormatting(true);
|
||||
xmlWriter.writeStartDocument();
|
||||
|
||||
xmlWriter.writeStartElement("ServerSettingsContainer");
|
||||
xmlWriter.writeStartElement("ServerSettings");
|
||||
|
||||
xmlWriter.writeAttribute("Address","");
|
||||
xmlWriter.writeAttribute("Port","");
|
||||
xmlWriter.writeAttribute("Language","RUS");
|
||||
xmlWriter.writeAttribute("AutoStart",QString::number(false));
|
||||
|
||||
xmlWriter.writeEndElement();
|
||||
|
||||
xmlWriter.writeStartElement("VersionData");
|
||||
xmlWriter.writeAttribute("Version","-----");
|
||||
xmlWriter.writeAttribute("isChangable","0");
|
||||
xmlWriter.writeEndElement();
|
||||
|
||||
xmlWriter.writeEndElement();
|
||||
|
||||
xmlWriter.writeEndDocument();
|
||||
|
||||
file.close();
|
||||
|
||||
}
|
||||
|
||||
void DataParserOutput::updateServerSettings(Settings* serverSettings)
|
||||
{
|
||||
QFile file(settingsName);
|
||||
file.open(QIODevice::WriteOnly);
|
||||
@@ -142,9 +177,6 @@ void DataParserOutput::createServerSettings(ServerSettings* serverSettings)
|
||||
xmlWriter.writeAttribute("Port",serverSettings->Port);
|
||||
xmlWriter.writeAttribute("Language","RUS");
|
||||
xmlWriter.writeAttribute("AutoStart",QString::number(false));
|
||||
//xmlWriter.writeAttribute("DestPortMath","18003");
|
||||
//xmlWriter.writeAttribute("LocalPortMath","18004");
|
||||
//xmlWriter.writeAttribute("UseMathModel",QString::number(serverSettings->mathModelUse));
|
||||
|
||||
xmlWriter.writeEndElement();
|
||||
|
||||
|
||||
@@ -17,7 +17,8 @@ public:
|
||||
explicit DataParserOutput(QObject *parent = 0);
|
||||
void createFileDataList(const QList<FileData>& fileDataList,const QString& filename);
|
||||
void createAuthMessage(ClientAutorization *auth);
|
||||
void createServerSettings(ServerSettings *serverSettings);
|
||||
void createServerSettings();
|
||||
void updateServerSettings(Settings *serverSettings);
|
||||
void changeVersion(StreamingVersionData *versionData);
|
||||
void createAuthData(ServerAuthorization *serverAuth);
|
||||
void createAuthDataOffline(const QString& username,const QString& pass);
|
||||
|
||||
@@ -17,7 +17,7 @@ void TCPClient::initialize(RecognizeSystem *recognize,SendSystem *sendSystem)
|
||||
emit sigSendDebugLog(Tools::getTime() + " Client started");
|
||||
}
|
||||
|
||||
void TCPClient::setConnect(ServerSettings *serverSettings)
|
||||
void TCPClient::setConnect(Settings *serverSettings)
|
||||
{
|
||||
socket = new QTcpSocket();
|
||||
qDebug() << "TCPCLient thread: " << thread();
|
||||
|
||||
@@ -21,7 +21,7 @@ class TCPClient : public QObject
|
||||
public:
|
||||
explicit TCPClient(QObject *parent = 0);
|
||||
void initialize(RecognizeSystem *recognize,SendSystem *sendSystem);
|
||||
void setConnect(ServerSettings *serverSettings);
|
||||
void setConnect(Settings *serverSettings);
|
||||
~TCPClient(){};
|
||||
void setDisconnect();
|
||||
bool getIsConnected() const;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include <QString>
|
||||
|
||||
class ServerSettings{
|
||||
class Settings{
|
||||
public:
|
||||
QString Address;
|
||||
QString Port;
|
||||
|
||||
2
StaticData/authData.xml
Normal file
2
StaticData/authData.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<AuthData Login="I1" Password="b59c67bf196a4758191e42f76670ceba" InstructorName="Колобков А.К." ClientName="Колобков А.К." AccessType="instructor"/>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ServerSettingsContainer>
|
||||
<ServerSettings Address="192.168.100.83" Port="6000" Language="RUS" AutoStart="0"/>
|
||||
<VersionData Version="base" isChangable="96"/>
|
||||
<ServerSettings Address="192.168.100.134" Port="6000" Language="RUS" AutoStart="0"/>
|
||||
<VersionData Version="ver1" isChangable="1"/>
|
||||
</ServerSettingsContainer>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ClientNotify Code="DISABLE"/>
|
||||
<ClientNotify Code="CHECKVERSIONLIST"/>
|
||||
|
||||
@@ -65,21 +65,7 @@ void EntryWidget::on_saveServerButton_clicked()
|
||||
emit sigSaveServerSettings();
|
||||
}
|
||||
|
||||
ServerSettings *EntryWidget::getServerSettings()
|
||||
{
|
||||
ServerSettings *data = new ServerSettings;
|
||||
QString server = ui->serverInputField->text();
|
||||
QString port = ui->portInputField->text();
|
||||
//bool checked = ui->mathModelUsecheckBox->isChecked();
|
||||
|
||||
data->Address = server;
|
||||
data->Port = port;
|
||||
data->mathModelUse = true;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
void EntryWidget::fillSettings(ServerSettings *settings)
|
||||
void EntryWidget::fillSettings(Settings *settings)
|
||||
{
|
||||
ui->serverInputField->setText(settings->Address);
|
||||
ui->portInputField->setText(settings->Port);
|
||||
|
||||
@@ -20,11 +20,9 @@ public:
|
||||
void showLoginWidget(bool flag);
|
||||
|
||||
void disconnectState();
|
||||
void fillSettings(ServerSettings *settings);
|
||||
void fillSettings(Settings *settings);
|
||||
void isActive(bool flag);
|
||||
bool getLoginWidgetIsHidden();
|
||||
|
||||
ServerSettings *getServerSettings();
|
||||
ClientAutorization* getAuthData();
|
||||
|
||||
signals:
|
||||
|
||||
@@ -72,11 +72,7 @@ void UpdateNotifyWidget::showWithFill()
|
||||
{
|
||||
clearList();
|
||||
|
||||
if(!versionContainer->getLocalVersionData()->getIsChangeable())
|
||||
{
|
||||
showTryChangeBase();
|
||||
}
|
||||
else if(!versionContainer->getServerVersionData()->getIsChangeable())
|
||||
if(!versionContainer->getServerVersionData()->getIsChangeable())
|
||||
{
|
||||
showTryChangeBase();
|
||||
}
|
||||
|
||||
@@ -17,10 +17,13 @@ CoreManager::CoreManager(QObject *parent) :
|
||||
resourceManager = new ResourceManager;
|
||||
postProcessorSystem = new PostProcessorSystem;
|
||||
client = new Client;
|
||||
settings = new Settings;
|
||||
}
|
||||
|
||||
void CoreManager::initialize(WidgetManager *widgetManager,QThread *workerThread)
|
||||
{
|
||||
createNewServerSettings();
|
||||
|
||||
this->workerThread = workerThread;
|
||||
this->widgetManager = widgetManager;
|
||||
|
||||
@@ -44,19 +47,18 @@ void CoreManager::initialize(WidgetManager *widgetManager,QThread *workerThread)
|
||||
|
||||
void CoreManager::start()
|
||||
{
|
||||
saveServerSettingsWithConnect();
|
||||
checkAppAvailable();
|
||||
}
|
||||
|
||||
void CoreManager::loadStaticData()
|
||||
{
|
||||
ServerSettings *currentSettings = dataParser->getClientSettings();
|
||||
setLanguage(currentSettings->Language);
|
||||
settings = dataParser->getSettings();
|
||||
setLanguage(settings->Language);
|
||||
setLocalVersion();
|
||||
externalExecuter->setIsAutoStart(currentSettings->isAutoStart);
|
||||
externalExecuter->setIsAutoStart(settings->isAutoStart);
|
||||
bool appAvailable = externalExecuter->findApp();
|
||||
widgetManager->setAppAvailable(appAvailable);
|
||||
emit sigSetLoadSettings(currentSettings);
|
||||
emit sigSetLoadSettings(settings);
|
||||
}
|
||||
|
||||
void CoreManager::binding()
|
||||
@@ -68,7 +70,8 @@ void CoreManager::binding()
|
||||
connect(this,&CoreManager::sigSendPacketType,sendSystem,&SendSystem::sendPacketType,Qt::AutoConnection);
|
||||
connect(this,&CoreManager::sigSendCheckUpdate,sendSystem,&SendSystem::sendCheckHash,Qt::AutoConnection);
|
||||
connect(this,&CoreManager::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::AutoConnection);
|
||||
connect(this,&CoreManager::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization);
|
||||
connect(this,&CoreManager::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization,Qt::AutoConnection);
|
||||
connect(this,&CoreManager::sigGetClientSettings,dataParser,&DataParser::getSettings,Qt::DirectConnection);
|
||||
|
||||
connect(this,&CoreManager::sigSendUpdateToServer,updateController,&UpdateController::checkCanUpdate,Qt::AutoConnection);
|
||||
connect(this,&CoreManager::sigGetConnected,tcpClient,&TCPClient::getIsConnected);
|
||||
@@ -106,6 +109,7 @@ void CoreManager::binding()
|
||||
connect(sendSystem,&SendSystem::sigSend,this,&CoreManager::calcUpdateProgress,Qt::AutoConnection);
|
||||
|
||||
connect(sendSystem,&SendSystem::sigGetXmlAnswer,dataParserOutput,&DataParserOutput::xmlAnswer_notify,Qt::DirectConnection);
|
||||
|
||||
}
|
||||
|
||||
void CoreManager::initializeSystems()
|
||||
@@ -123,7 +127,7 @@ void CoreManager::initializeSystems()
|
||||
|
||||
screenChecker->check();
|
||||
|
||||
emit sigSetConnect(dataParser->getClientSettings());
|
||||
emit sigSetConnect(dataParser->getSettings());
|
||||
}
|
||||
|
||||
void CoreManager::initializeWidgets()
|
||||
@@ -178,14 +182,20 @@ void CoreManager::serverBlocked()
|
||||
void CoreManager::setServerVersion(StreamingVersionData *version)
|
||||
{
|
||||
widgetManager->getMainWindow()->setServerVersion(version);
|
||||
|
||||
if (version->getViewName() == settings->versionData.getViewName())
|
||||
{
|
||||
settings->versionData.setIsChangeable(version->getIsChangeable());
|
||||
versionContainer->getLocalVersionData()->setIsChangeable(version->getIsChangeable());
|
||||
dataParserOutput->updateServerSettings(settings);
|
||||
}
|
||||
}
|
||||
|
||||
void CoreManager::setLocalVersion()
|
||||
{
|
||||
ServerSettings *currentSettings = dataParser->getClientSettings();
|
||||
StreamingVersionData *version = new StreamingVersionData;
|
||||
version->setName(currentSettings->LocalVersionName);
|
||||
version->setIsChangeable(currentSettings->versionData.getIsChangeable());
|
||||
version->setName(settings->LocalVersionName);
|
||||
version->setIsChangeable(settings->versionData.getIsChangeable());
|
||||
|
||||
versionContainer->setLocalVersionData(version);
|
||||
widgetManager->getMainWindow()->setClientVersionName(versionContainer->getLocalVersion());
|
||||
@@ -198,7 +208,7 @@ void CoreManager::checkLoginResult(ServerAuthorization *auth)
|
||||
widgetManager->activateLoadingAnimation(true);
|
||||
checkAccessType(auth->AccessType);
|
||||
dataParserOutput->createAuthData(auth);
|
||||
setLocalVersion();
|
||||
//setLocalVersion();
|
||||
widgetManager->setLoginSuccess();
|
||||
widgetManager->getMainWindow()->setClientVersionName(versionContainer->getLocalVersion());
|
||||
client->setLogin(auth->ClientName);
|
||||
@@ -361,9 +371,8 @@ void CoreManager::saveServerSettingsWithConnect()
|
||||
EntryWidget *entryWidget = widgetManager->getEntryWidget();
|
||||
|
||||
entryWidget->isActive(false);
|
||||
ServerSettings *settings = entryWidget->getServerSettings();
|
||||
settings->LocalVersionName = dataParser->getClientSettings()->LocalVersionName;
|
||||
dataParserOutput->createServerSettings(settings);
|
||||
settings->LocalVersionName = dataParser->getSettings()->LocalVersionName;
|
||||
dataParserOutput->updateServerSettings(settings);
|
||||
|
||||
if(tcpClient->getIsConnected())
|
||||
{
|
||||
@@ -377,6 +386,11 @@ void CoreManager::saveServerSettingsWithConnect()
|
||||
emit sigSetConnect(settings);
|
||||
}
|
||||
|
||||
void CoreManager::createNewServerSettings()
|
||||
{
|
||||
dataParserOutput->createServerSettings();
|
||||
}
|
||||
|
||||
void CoreManager::checkAppAvailable()
|
||||
{
|
||||
bool isAvailable = externalExecuter->findApp();
|
||||
|
||||
@@ -54,15 +54,16 @@ signals:
|
||||
void sigInitializeClient(RecognizeSystem *recognize,SendSystem *sendSystem);
|
||||
void sigSendPacketType(PacketType packetType);
|
||||
void sigSendXMLAnswer(QString answer);
|
||||
void sigSetConnect(ServerSettings* serverSettings);
|
||||
void sigSetConnect(Settings* serverSettings);
|
||||
void sigCalculateHash();
|
||||
void sigSendAutorization();
|
||||
void sigSendCheckUpdate();
|
||||
bool sigGetConnected();
|
||||
void sigSendUpdateToServer();
|
||||
Settings *sigGetClientSettings();
|
||||
|
||||
|
||||
void sigSetLoadSettings(ServerSettings *serverSettings);
|
||||
void sigSetLoadSettings(Settings *serverSettings);
|
||||
|
||||
private:
|
||||
QTranslator translator;
|
||||
@@ -79,6 +80,7 @@ private:
|
||||
ResourceManager *resourceManager;
|
||||
PostProcessorSystem *postProcessorSystem;
|
||||
Client *client;
|
||||
Settings *settings;
|
||||
|
||||
WidgetManager *widgetManager;
|
||||
|
||||
@@ -106,6 +108,7 @@ private:
|
||||
void checkUpdate();
|
||||
|
||||
void setInlineDebug(QString text);
|
||||
void createNewServerSettings();
|
||||
};
|
||||
|
||||
#endif // COREMANAGER_H
|
||||
|
||||
@@ -327,7 +327,7 @@ void MainWindow::addWidgetToInteractiveGroup(EntryWidget *entryWidget)
|
||||
this->entryWidget = entryWidget;
|
||||
}
|
||||
|
||||
void MainWindow::setLoadSettings(ServerSettings *serverSettings)
|
||||
void MainWindow::setLoadSettings(Settings *serverSettings)
|
||||
{
|
||||
ui->retranslateUi(this);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
void initialize(ResourceManager *resourceManager);
|
||||
void addWidgetToChangeGroup(CommonButtonGroupWidget *commonWidgetGroup);
|
||||
void addWidgetToInteractiveGroup(EntryWidget *entryWidget);
|
||||
void setLoadSettings(ServerSettings *serverSettings);
|
||||
void setLoadSettings(Settings *serverSettings);
|
||||
void setLoginSuccessState();
|
||||
void setLoginFailedState();
|
||||
void setClientVersionName(const QString &versionName);
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 16 KiB |
@@ -35,7 +35,7 @@ void WidgetManager::binding()
|
||||
connect(commonButtonGroupWidget,&CommonButtonGroupWidget::sigUpdateCommonWidget,mainWindow,&MainWindow::slotCommonWidgetState);
|
||||
connect(mainWindow,&MainWindow::sigShowSettings,this,&WidgetManager::showSettings,Qt::AutoConnection);
|
||||
}
|
||||
void WidgetManager::slotSetLoadSettings(ServerSettings *settings)
|
||||
void WidgetManager::slotSetLoadSettings(Settings *settings)
|
||||
{
|
||||
mainWindow->setLoadSettings(settings);
|
||||
entryWidget->fillSettings(settings);
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
void slotInlineDebug(const QString &text);
|
||||
public slots:
|
||||
void showSettings(bool isActive);
|
||||
void slotSetLoadSettings(ServerSettings *settings);
|
||||
void slotSetLoadSettings(Settings *settings);
|
||||
void slotActivateLoadAnimation(bool flag);
|
||||
signals:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user