feat: add version container

This commit is contained in:
semenov
2024-12-27 10:43:26 +03:00
parent 8d748507b5
commit fc7f311d1e
85 changed files with 1875 additions and 632 deletions

View File

@@ -9,8 +9,9 @@ UpdateController::UpdateController(DataParser *parser,SendSystem *sendSystem, QO
applicationFolderPath = QDir::currentPath() + applicationFolderName; applicationFolderPath = QDir::currentPath() + applicationFolderName;
} }
void UpdateController::initialize(MainWindow *mainWindow) void UpdateController::initialize(MainWindow *mainWindow,VersionContainer *versionContainer)
{ {
this->versionContainer = versionContainer;
connect(this,&UpdateController::sigUpdateComplete,mainWindow,&MainWindow::showCompleteDialogBox); connect(this,&UpdateController::sigUpdateComplete,mainWindow,&MainWindow::showCompleteDialogBox);
} }
@@ -32,11 +33,6 @@ void UpdateController::calculateStreamingHash()
dataParser->createFileDataList(streamingDataList,streamingHashFilename); dataParser->createFileDataList(streamingDataList,streamingHashFilename);
} }
void UpdateController::setServerVersion(StreamingVersionData *version)
{
serverVersion = version;
}
QList<FileData> UpdateController::calculateHash(QString path,QString ignoreName) QList<FileData> UpdateController::calculateHash(QString path,QString ignoreName)
{ {
qDebug() << "Try calculate"; qDebug() << "Try calculate";
@@ -136,11 +132,6 @@ void UpdateController::updateFilesOnServer(QList<FileData> *fileSendList){
} }
StreamingVersionData *UpdateController::getServerVersion() const
{
return serverVersion;
}
UpdateController::~UpdateController() UpdateController::~UpdateController()
{ {

View File

@@ -21,6 +21,7 @@
class SendSystem; class SendSystem;
class MainWindow; class MainWindow;
class DataParser; class DataParser;
class VersionContainer;
class UpdateController : public QObject class UpdateController : public QObject
{ {
@@ -28,26 +29,26 @@ class UpdateController : public QObject
Q_OBJECT Q_OBJECT
public: public:
explicit UpdateController(DataParser *parser,SendSystem *sendSystem,QObject *parent = 0); explicit UpdateController(DataParser *parser,
void initialize(MainWindow *mainWindow); SendSystem *sendSystem,
QObject *parent = 0);
void initialize(MainWindow *mainWindow,VersionContainer *versionContainer);
void calculateCommonHash(); void calculateCommonHash();
void calculateStreamingHash(); void calculateStreamingHash();
void setServerVersion(StreamingVersionData *version);
~UpdateController(); ~UpdateController();
void updateFilesOnServer(QList<FileData> *fileSendList); void updateFilesOnServer(QList<FileData> *fileSendList);
StreamingVersionData *getServerVersion() const;
signals: signals:
void sigUpdateComplete(bool flag); void sigUpdateComplete(bool flag);
private: private:
DataParser *dataParser; DataParser *dataParser;
SendSystem *sendSystem; SendSystem *sendSystem;
QString applicationFolderPath; QString applicationFolderPath;
VersionContainer *versionContainer;
QList<FileData> appDataList; QList<FileData> appDataList;
QList<FileData> streamingDataList; QList<FileData> streamingDataList;
StreamingVersionData *serverVersion;
QList<FileData> calculateHash(QString path,QString ignoreName); QList<FileData> calculateHash(QString path,QString ignoreName);
}; };

View File

@@ -88,9 +88,19 @@ void DataParser::createServerSettings(ServerSettings* serverSettings)
xmlWriter.writeAttribute("AutoStart",QString::number(false)); xmlWriter.writeAttribute("AutoStart",QString::number(false));
xmlWriter.writeEndElement(); xmlWriter.writeEndElement();
xmlWriter.writeStartElement("VersionData");
xmlWriter.writeAttribute("Version","NONE"); if(serverSettings->LocalVersionName == "")
xmlWriter.writeEndElement(); {
xmlWriter.writeStartElement("VersionData");
xmlWriter.writeAttribute("Version","NONE");
xmlWriter.writeEndElement();
}
else
{
xmlWriter.writeStartElement("VersionData");
xmlWriter.writeAttribute("Version",serverSettings->LocalVersionName);
xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement(); xmlWriter.writeEndElement();
@@ -197,11 +207,13 @@ ServerSettings *DataParser::getServerSettings()
file.open(QIODevice::ReadOnly); file.open(QIODevice::ReadOnly);
QXmlStreamReader xmlReader(&file); QXmlStreamReader xmlReader(&file);
while (!xmlReader.atEnd()){ while (!xmlReader.atEnd())
{
if(xmlReader.isStartElement()){ if(xmlReader.isStartElement()){
if(xmlReader.name() == "ServerSettings"){ if(xmlReader.name() == "ServerSettings")
{
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes()){ foreach(const QXmlStreamAttribute &attr, xmlReader.attributes()){
QString name = attr.name().toString(); QString name = attr.name().toString();
@@ -222,6 +234,20 @@ ServerSettings *DataParser::getServerSettings()
if(name == "AutoStart"){ if(name == "AutoStart"){
settings->isAutoStart = value.toInt(); settings->isAutoStart = value.toInt();
} }
}
}
if (xmlReader.name() == "VersionData")
{
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes())
{
QString name = attr.name().toString();
QString value = attr.value().toString();
if (name == "Version")
{
settings->LocalVersionName = value;
}
} }
} }

View File

@@ -9,10 +9,11 @@ HashComparer::HashComparer(DataParser *dataParser,QObject *)
this->dataParser = dataParser; this->dataParser = dataParser;
} }
void HashComparer::initialize(MainWindow* mainWindow) void HashComparer::initialize(MainWindow* mainWindow,VersionContainer *versionContainer)
{ {
connect(this,&HashComparer::sigCallCheck,mainWindow,&MainWindow::checkUpdate); connect(this,&HashComparer::sigCallCheck,mainWindow,&MainWindow::checkUpdate);
connect(this,&HashComparer::sigHaveDelta,mainWindow,&MainWindow::showUpdateInfo); connect(this,&HashComparer::sigHaveDelta,mainWindow,&MainWindow::showUpdateInfo);
this->versionContainer = versionContainer;
} }
void HashComparer::CompareDeltas() void HashComparer::CompareDeltas()
@@ -68,8 +69,26 @@ void HashComparer::setWidget(UpdateNotifyWidget* updateWidget)
this->updateWidget = updateWidget; this->updateWidget = updateWidget;
} }
quint16 HashComparer::getFileUpdateCount() const
{
return filesForUpdate->count();
}
QList<FileData> *HashComparer::getFilesForUpdate() const QList<FileData> *HashComparer::getFilesForUpdate() const
{ {
QList<FileData> *completeList = filesForUpdate;
for (int i = 0; i < completeList->count();i++)
{
FileData data = completeList->at(i);
QString streamingAssetsName = "StreamingAssets";
quint16 baseIndex = data.path.indexOf("StreamingAssets");
data.path = data.path.remove(0,baseIndex + streamingAssetsName.length());
data.path.prepend("/SharedData/" + versionContainer->getLocalVersion());
completeList->replace(i,data);
}
return filesForUpdate; return filesForUpdate;
} }

View File

@@ -10,19 +10,20 @@
#include <updatenotifywidget.h> #include <updatenotifywidget.h>
class UpdateNotifyWidget; class UpdateNotifyWidget;
class VersionContainer;
class HashComparer :public QObject class HashComparer :public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit HashComparer(DataParser *dataParser,QObject *parent = nullptr); explicit HashComparer(DataParser *dataParser,QObject *parent = nullptr);
void initialize(MainWindow* mainWindow); void initialize(MainWindow* mainWindow,VersionContainer *versionContainer);
void CompareDeltas(); void CompareDeltas();
~HashComparer(); ~HashComparer();
void showDeltas(); void showDeltas();
void setWidget(UpdateNotifyWidget *updateWidget); void setWidget(UpdateNotifyWidget *updateWidget);
quint16 getFileUpdateCount() const;
QList<FileData> *getFilesForUpdate() const; QList<FileData> *getFilesForUpdate() const;
signals: signals:
void sigCallCheck(); void sigCallCheck();
void sigHaveDelta(); void sigHaveDelta();
@@ -30,6 +31,7 @@ private:
UpdateNotifyWidget* updateWidget; UpdateNotifyWidget* updateWidget;
QList<FileData> *filesForUpdate; QList<FileData> *filesForUpdate;
DataParser *dataParser; DataParser *dataParser;
VersionContainer *versionContainer;
}; };
#endif // HASHCOMPARER_H #endif // HASHCOMPARER_H

View File

@@ -26,11 +26,13 @@ void RecognizeSystem::initialize(UpdateController *updateController,
DataParser *dataParser, DataParser *dataParser,
MainWindow *mainWindow, MainWindow *mainWindow,
HashComparer *hashComparer, HashComparer *hashComparer,
TCPClient *client) TCPClient *client,
VersionContainer* versionContainer)
{ {
this->updateController = updateController; this->updateController = updateController;
this->dataParser = dataParser; this->dataParser = dataParser;
this->mainWindow = mainWindow; this->mainWindow = mainWindow;
this->versionContainer = versionContainer;
connect(this,&RecognizeSystem::sigSaveLoginData,dataParser,&DataParser::createAuthData); connect(this,&RecognizeSystem::sigSaveLoginData,dataParser,&DataParser::createAuthData);
connect(this,&RecognizeSystem::sigStartCompare,hashComparer,&HashComparer::CompareDeltas); connect(this,&RecognizeSystem::sigStartCompare,hashComparer,&HashComparer::CompareDeltas);
@@ -83,7 +85,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
continue; continue;
} }
filePath = Tools::createReceiveFullPath(filePath,updateController->getServerVersion()); filePath = Tools::createReceiveFullPath(filePath,versionContainer->getServerVersionData());
QDir dir(filePath); QDir dir(filePath);
if(!dir.exists()){ if(!dir.exists()){
@@ -118,7 +120,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
} }
filePath = Tools::createReceiveFullPath(filePath,updateController->getServerVersion()); filePath = Tools::createReceiveFullPath(filePath,versionContainer->getServerVersionData());
emit sigSendDebugLog("CLIENT: filesize: " + QString::number(fileSize)); emit sigSendDebugLog("CLIENT: filesize: " + QString::number(fileSize));
emit sigSendDebugLog("CLIENT: filePath: " + filePath); emit sigSendDebugLog("CLIENT: filePath: " + filePath);
@@ -201,7 +203,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
continue; continue;
} }
filePath = Tools::createReceiveFullPath(filePath,updateController->getServerVersion()); filePath = Tools::createReceiveFullPath(filePath,versionContainer->getServerVersionData());
QFileInfo fileInfo(filePath); QFileInfo fileInfo(filePath);
@@ -227,7 +229,8 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
} }
if(packetType ==PacketType::TYPE_FINISH){ //для повторного создания хэша после загрузки if (packetType ==PacketType::TYPE_FINISH) //для повторного создания хэша после загрузки
{
updateController->calculateCommonHash(); updateController->calculateCommonHash();
emit sigLoadComplete(); emit sigLoadComplete();
packetType = PacketType::TYPE_NONE; packetType = PacketType::TYPE_NONE;
@@ -238,17 +241,19 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
bool flag = false; bool flag = false;
quint64 size = 0; quint64 size = 0;
quint64 fileCount = 0; quint64 fileCount = 0;
quint64 fileDelete = 0;
stream.startTransaction(); stream.startTransaction();
stream >> flag; stream >> flag;
stream >> size; stream >> size;
stream >> fileCount; stream >> fileCount;
stream >> fileDelete;
if(!stream.commitTransaction()){ if(!stream.commitTransaction()){
continue; continue;
} }
emit sigNeedUpdate(flag,size,fileCount); emit sigNeedUpdate(flag,size,fileCount,fileDelete);
packetType = PacketType::TYPE_NONE; packetType = PacketType::TYPE_NONE;
} }
@@ -284,9 +289,7 @@ void RecognizeSystem::checkAccessType(QString type)
void RecognizeSystem::setServerVersion(StreamingVersionData *serverVersion) void RecognizeSystem::setServerVersion(StreamingVersionData *serverVersion)
{ {
dataParser->changeVersion(serverVersion->getViewName()); versionContainer->setServerVersonData(serverVersion);
updateController->setServerVersion(serverVersion);
mainWindow->setCurrentVersionName(serverVersion->getViewName());
} }
void RecognizeSystem::showServerDataList(QList<StreamingVersionData*> *showServerDataList) void RecognizeSystem::showServerDataList(QList<StreamingVersionData*> *showServerDataList)

View File

@@ -26,7 +26,8 @@ public:
DataParser *dataParser, DataParser *dataParser,
MainWindow *mainWindow, MainWindow *mainWindow,
HashComparer *hashComparer, HashComparer *hashComparer,
TCPClient *client); TCPClient *client,
VersionContainer* versionContainer);
void recognize(QTcpSocket *socket); void recognize(QTcpSocket *socket);
void checkAccessType(QString type); void checkAccessType(QString type);
@@ -36,7 +37,7 @@ public:
signals: signals:
void sigUpdateBytesAvailable(); void sigUpdateBytesAvailable();
void sigLoadComplete(); void sigLoadComplete();
void sigNeedUpdate(bool flag,qint64 size,quint64 fileCount); void sigNeedUpdate(bool flag,qint64 size,quint64 fileCount,quint64 fileDelete);
void sigSendDebugLog(QString message); void sigSendDebugLog(QString message);
void sigSocketDisabled(); void sigSocketDisabled();
void sigServerBlocked(); void sigServerBlocked();
@@ -50,6 +51,7 @@ private:
MainWindow *mainWindow; MainWindow *mainWindow;
UpdateController *updateController; UpdateController *updateController;
DataParser *dataParser; DataParser *dataParser;
VersionContainer *versionContainer;
PacketType packetType; PacketType packetType;
QString message; QString message;
QString filePath; QString filePath;

View File

@@ -26,6 +26,7 @@ static QString serverHash = fullStaticDataFolderName + "/serverHash.xml";
static QString cmd_CheckVersionList = "CHECKVERSIONLIST"; static QString cmd_CheckVersionList = "CHECKVERSIONLIST";
static QString cmd_GetServerHash = "GETSERVERDATALIST"; static QString cmd_GetServerHash = "GETSERVERDATALIST";
static QString cmd_Disable = "DISABLE"; static QString cmd_Disable = "DISABLE";
static QString baseNamePackage = "base";
enum PacketType{ enum PacketType{
TYPE_NONE = 0, TYPE_NONE = 0,

42
Core/versioncontainer.cpp Normal file
View File

@@ -0,0 +1,42 @@
#include "versioncontainer.h"
VersionContainer::VersionContainer(QObject *parent) :
QObject(parent)
{
}
VersionContainer::~VersionContainer()
{
}
QString VersionContainer::getServerVersion() const
{
return serverVersionData->getViewName();
}
QString VersionContainer::getLocalVersion() const
{
return localVersionData->getViewName();
}
StreamingVersionData *VersionContainer::getLocalVersionData() const
{
return localVersionData;
}
void VersionContainer::setLocalVersionData(StreamingVersionData *value)
{
localVersionData = value;
}
StreamingVersionData *VersionContainer::getServerVersionData() const
{
return serverVersionData;
}
void VersionContainer::setServerVersonData(StreamingVersionData *value)
{
serverVersionData = value;
}

31
Core/versioncontainer.h Normal file
View File

@@ -0,0 +1,31 @@
#ifndef VERSIONCONTAINER_H
#define VERSIONCONTAINER_H
#include "streamingversiondata.h"
#include <QObject>
class VersionContainer : public QObject
{
Q_OBJECT
public:
explicit VersionContainer(QObject *parent = nullptr);
~VersionContainer();
QString getServerVersion() const;
QString getLocalVersion() const;
StreamingVersionData *getLocalVersionData() const;
void setLocalVersionData(StreamingVersionData *value);
StreamingVersionData *getServerVersionData() const;
void setServerVersonData(StreamingVersionData *value);
private:
StreamingVersionData *localVersionData;
StreamingVersionData *serverVersionData;
};
#endif // VERSIONCONTAINER_H

View File

@@ -8,6 +8,7 @@ public:
QString Address; QString Address;
QString Port; QString Port;
QString Language; QString Language;
QString LocalVersionName;
bool isAutoStart; bool isAutoStart;
}; };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -19,6 +19,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \ SOURCES += \
Core/sendsystem.cpp \ Core/sendsystem.cpp \
Core/versioncontainer.cpp \
Core\updatecontroller.cpp \ Core\updatecontroller.cpp \
Core\externalexecuter.cpp\ Core\externalexecuter.cpp\
Core\dataparser.cpp\ Core\dataparser.cpp\
@@ -39,6 +40,7 @@ SOURCES += \
HEADERS += \ HEADERS += \
Core/streamingversiondata.h \ Core/streamingversiondata.h \
Core/versioncontainer.h \
Core\sendsystem.h \ Core\sendsystem.h \
Core\updatecontroller.h \ Core\updatecontroller.h \
Core\externalexecuter.h\ Core\externalexecuter.h\

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-12-23T18:08:25. --> <!-- Written by QtCreator 4.11.1, 2024-12-26T11:29:31. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -184,22 +184,11 @@
<FileData Path="/Application/RRJLoader/RRJ_Data/Managed/Unity.Mathematics.dll" Hash="88db1f1b78092627dd59ba7098212fb9"/> <FileData Path="/Application/RRJLoader/RRJ_Data/Managed/Unity.Mathematics.dll" Hash="88db1f1b78092627dd59ba7098212fb9"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/Managed/Unity.Rendering.LightTransport.Runtime.dll" Hash="39b58780871edbbe50c43180e940dec5"/> <FileData Path="/Application/RRJLoader/RRJ_Data/Managed/Unity.Rendering.LightTransport.Runtime.dll" Hash="39b58780871edbbe50c43180e940dec5"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/Managed/Unity.RenderPipelines.Core.Runtime.dll" Hash="b7f1b29575e39edb80529f80dbe96b51"/> <FileData Path="/Application/RRJLoader/RRJ_Data/Managed/Unity.RenderPipelines.Core.Runtime.dll" Hash="b7f1b29575e39edb80529f80dbe96b51"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder12027" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder8456" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder746" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder13868" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file10372 — копия.txt" Hash="0eaa763a2aac183209e5d11481c8551d"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file10372.txt" Hash="0eaa763a2aac183209e5d11481c8551d"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file112.txt" Hash="c635af0ef87e223a6fc5f1357126750c"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file451.txt" Hash="570e0c7f7bf33e9048adaebae0a7de53"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file4773.txt" Hash="f1a15060c60ce5f473cfff766e096625"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file7787 — копия.txt" Hash="e4706faaea8860880bfd0b809f6e0250"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file7787.txt" Hash="e4706faaea8860880bfd0b809f6e0250"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100/docs.xml" Hash="fcad1626c1ef3851931bf68a1aa054c6"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100/docs.xml" Hash="fcad1626c1ef3851931bf68a1aa054c6"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS/024.31.00a.xml" Hash="e730fbd64cd77dd163732cfaf2bd0e75"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS/024.31.00a.xml" Hash="e730fbd64cd77dd163732cfaf2bd0e75"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI/ir_begin.wav" Hash="2e0057ee08c7b6fa07d28863a40d1cbf"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI/ir_begin.wav" Hash="2e0057ee08c7b6fa07d28863a40d1cbf"/>

View File

@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<ServerSettingsContainer> <ServerSettingsContainer>
<ServerSettings AutoStart="0" Port="6000" Address="192.168.100.241" Language="RUS"/> <ServerSettings Language="RUS" AutoStart="0" Address="192.168.100.241" Port="6000"/>
<VersionData Version="base"/> <VersionData Version="base"/>
</ServerSettingsContainer> </ServerSettingsContainer>

View File

@@ -1,21 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<FileDataList> <FileDataList>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder12027" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder8456" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder746" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Folder13868" Hash="FOLDER"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file10372 — копия.txt" Hash="0eaa763a2aac183209e5d11481c8551d"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file10372.txt" Hash="0eaa763a2aac183209e5d11481c8551d"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file112.txt" Hash="c635af0ef87e223a6fc5f1357126750c"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file451.txt" Hash="570e0c7f7bf33e9048adaebae0a7de53"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file4773.txt" Hash="f1a15060c60ce5f473cfff766e096625"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file7787 — копия.txt" Hash="e4706faaea8860880bfd0b809f6e0250"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/file7787.txt" Hash="e4706faaea8860880bfd0b809f6e0250"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100/docs.xml" Hash="fcad1626c1ef3851931bf68a1aa054c6"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100/docs.xml" Hash="fcad1626c1ef3851931bf68a1aa054c6"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS/024.31.00a.xml" Hash="e730fbd64cd77dd163732cfaf2bd0e75"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS/024.31.00a.xml" Hash="e730fbd64cd77dd163732cfaf2bd0e75"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI/ir_begin.wav" Hash="2e0057ee08c7b6fa07d28863a40d1cbf"/> <FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI/ir_begin.wav" Hash="2e0057ee08c7b6fa07d28863a40d1cbf"/>

View File

@@ -8,16 +8,17 @@ CommonButtonGroupWidget::CommonButtonGroupWidget(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
} }
void CommonButtonGroupWidget::initialize(ExternalExecuter *extExec,SendSystem *sendSystem,TCPClient *client) void CommonButtonGroupWidget::initialize(MainWindow *mainWindow,ExternalExecuter *extExec,SendSystem *sendSystem,TCPClient *client)
{ {
externalExecuter = extExec; externalExecuter = extExec;
this->sendSystem = sendSystem; this->sendSystem = sendSystem;
this->mainWindow = mainWindow;
ui->loadingProgressBar->setValue(0); ui->loadingProgressBar->setValue(0);
ui->loadingProgressBar->hide(); ui->loadingProgressBar->hide();
ui->updateButton->hide(); ui->updateButton->hide();
ui->startButton->hide(); ui->startButton->hide();
ui->startButton->setEnabled(false); ui->startButton->setEnabled(false);
ui->startButton->setEnabled(false);
connect(this,&CommonButtonGroupWidget::sigSendCommand,client,&TCPClient::slotSendCommand,Qt::AutoConnection); connect(this,&CommonButtonGroupWidget::sigSendCommand,client,&TCPClient::slotSendCommand,Qt::AutoConnection);
connect(this,&CommonButtonGroupWidget::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::DirectConnection); connect(this,&CommonButtonGroupWidget::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::DirectConnection);
@@ -40,6 +41,7 @@ void CommonButtonGroupWidget::loadCompleteState()
void CommonButtonGroupWidget::lastVerInstalledState() void CommonButtonGroupWidget::lastVerInstalledState()
{ {
show(); show();
ui->updateButton->hide();
ui->loadingProgressBar->hide(); ui->loadingProgressBar->hide();
ui->startButton->show(); ui->startButton->show();
} }
@@ -83,6 +85,7 @@ void CommonButtonGroupWidget::on_updateButton_clicked()
{ {
emit sigSendCommand("update"); emit sigSendCommand("update");
startUpdateState(); startUpdateState();
mainWindow->disableUnsaveButton(true);
} }
void CommonButtonGroupWidget::on_startButton_clicked() void CommonButtonGroupWidget::on_startButton_clicked()

View File

@@ -19,7 +19,7 @@ class CommonButtonGroupWidget : public QWidget
public: public:
explicit CommonButtonGroupWidget(QWidget *parent = nullptr); explicit CommonButtonGroupWidget(QWidget *parent = nullptr);
void initialize(ExternalExecuter *extExec,SendSystem *sendSystem,TCPClient *client); void initialize(MainWindow *mainWindow,ExternalExecuter *extExec,SendSystem *sendSystem,TCPClient *client);
void loadCompleteState(); void loadCompleteState();
void lastVerInstalledState(); void lastVerInstalledState();
void disconnectState(); void disconnectState();
@@ -42,6 +42,7 @@ public:
private: private:
Ui::CommonButtonGroupWidget *ui; Ui::CommonButtonGroupWidget *ui;
MainWindow *mainWindow;
ExternalExecuter *externalExecuter; ExternalExecuter *externalExecuter;
SendSystem *sendSystem; SendSystem *sendSystem;
}; };

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -23,8 +23,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_MainWindow_t { struct qt_meta_stringdata_MainWindow_t {
QByteArrayData data[61]; QByteArrayData data[63];
char stringdata0[933]; char stringdata0[977];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -83,17 +83,19 @@ QT_MOC_LITERAL(46, 657, 10), // "serverAuth"
QT_MOC_LITERAL(47, 668, 13), // "setNeedUpdate" QT_MOC_LITERAL(47, 668, 13), // "setNeedUpdate"
QT_MOC_LITERAL(48, 682, 4), // "size" QT_MOC_LITERAL(48, 682, 4), // "size"
QT_MOC_LITERAL(49, 687, 9), // "fileCount" QT_MOC_LITERAL(49, 687, 9), // "fileCount"
QT_MOC_LITERAL(50, 697, 20), // "showServerListWidget" QT_MOC_LITERAL(50, 697, 11), // "deleteCount"
QT_MOC_LITERAL(51, 718, 29), // "QList<StreamingVersionData*>*" QT_MOC_LITERAL(51, 709, 20), // "showServerListWidget"
QT_MOC_LITERAL(52, 748, 10), // "serverData" QT_MOC_LITERAL(52, 730, 29), // "QList<StreamingVersionData*>*"
QT_MOC_LITERAL(53, 759, 25), // "on_settingsButton_clicked" QT_MOC_LITERAL(53, 760, 10), // "serverData"
QT_MOC_LITERAL(54, 785, 29), // "on_languageComboBox_activated" QT_MOC_LITERAL(54, 771, 25), // "on_settingsButton_clicked"
QT_MOC_LITERAL(55, 815, 4), // "arg1" QT_MOC_LITERAL(55, 797, 29), // "on_languageComboBox_activated"
QT_MOC_LITERAL(56, 820, 17), // "slotDisableNotify" QT_MOC_LITERAL(56, 827, 4), // "arg1"
QT_MOC_LITERAL(57, 838, 37), // "on_updateListGuideLabel_linkA..." QT_MOC_LITERAL(57, 832, 17), // "slotDisableNotify"
QT_MOC_LITERAL(58, 876, 4), // "link" QT_MOC_LITERAL(58, 850, 37), // "on_updateListGuideLabel_linkA..."
QT_MOC_LITERAL(59, 881, 21), // "on_exitButton_clicked" QT_MOC_LITERAL(59, 888, 4), // "link"
QT_MOC_LITERAL(60, 903, 29) // "on_offlineStartButton_clicked" QT_MOC_LITERAL(60, 893, 21), // "on_exitButton_clicked"
QT_MOC_LITERAL(61, 915, 29), // "on_offlineStartButton_clicked"
QT_MOC_LITERAL(62, 945, 31) // "on_unsafeChangingButton_clicked"
}, },
"MainWindow\0sigInitializeClient\0\0" "MainWindow\0sigInitializeClient\0\0"
@@ -115,14 +117,15 @@ QT_MOC_LITERAL(60, 903, 29) // "on_offlineStartButton_clicked"
"updateProgress\0loadComplete\0lostConnection\0" "updateProgress\0loadComplete\0lostConnection\0"
"serverBlocked\0checkLoginResult\0" "serverBlocked\0checkLoginResult\0"
"ServerAuthorization*\0serverAuth\0" "ServerAuthorization*\0serverAuth\0"
"setNeedUpdate\0size\0fileCount\0" "setNeedUpdate\0size\0fileCount\0deleteCount\0"
"showServerListWidget\0QList<StreamingVersionData*>*\0" "showServerListWidget\0QList<StreamingVersionData*>*\0"
"serverData\0on_settingsButton_clicked\0" "serverData\0on_settingsButton_clicked\0"
"on_languageComboBox_activated\0arg1\0" "on_languageComboBox_activated\0arg1\0"
"slotDisableNotify\0" "slotDisableNotify\0"
"on_updateListGuideLabel_linkActivated\0" "on_updateListGuideLabel_linkActivated\0"
"link\0on_exitButton_clicked\0" "link\0on_exitButton_clicked\0"
"on_offlineStartButton_clicked" "on_offlineStartButton_clicked\0"
"on_unsafeChangingButton_clicked"
}; };
#undef QT_MOC_LITERAL #undef QT_MOC_LITERAL
@@ -132,7 +135,7 @@ static const uint qt_meta_data_MainWindow[] = {
8, // revision 8, // revision
0, // classname 0, // classname
0, 0, // classinfo 0, 0, // classinfo
26, 14, // methods 27, 14, // methods
0, 0, // properties 0, 0, // properties
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
@@ -140,34 +143,35 @@ static const uint qt_meta_data_MainWindow[] = {
9, // signalCount 9, // signalCount
// signals: name, argc, parameters, tag, flags // signals: name, argc, parameters, tag, flags
1, 5, 144, 2, 0x06 /* Public */, 1, 5, 149, 2, 0x06 /* Public */,
13, 5, 155, 2, 0x06 /* Public */, 13, 5, 160, 2, 0x06 /* Public */,
22, 1, 166, 2, 0x06 /* Public */, 22, 1, 171, 2, 0x06 /* Public */,
24, 1, 169, 2, 0x06 /* Public */, 24, 1, 174, 2, 0x06 /* Public */,
26, 1, 172, 2, 0x06 /* Public */, 26, 1, 177, 2, 0x06 /* Public */,
29, 2, 175, 2, 0x06 /* Public */, 29, 2, 180, 2, 0x06 /* Public */,
32, 0, 180, 2, 0x06 /* Public */, 32, 0, 185, 2, 0x06 /* Public */,
33, 0, 181, 2, 0x06 /* Public */, 33, 0, 186, 2, 0x06 /* Public */,
34, 0, 182, 2, 0x06 /* Public */, 34, 0, 187, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags // slots: name, argc, parameters, tag, flags
35, 0, 183, 2, 0x0a /* Public */, 35, 0, 188, 2, 0x0a /* Public */,
36, 0, 184, 2, 0x0a /* Public */, 36, 0, 189, 2, 0x0a /* Public */,
37, 1, 185, 2, 0x0a /* Public */, 37, 1, 190, 2, 0x0a /* Public */,
39, 0, 188, 2, 0x0a /* Public */, 39, 0, 193, 2, 0x0a /* Public */,
40, 0, 189, 2, 0x0a /* Public */, 40, 0, 194, 2, 0x0a /* Public */,
41, 0, 190, 2, 0x0a /* Public */, 41, 0, 195, 2, 0x0a /* Public */,
42, 0, 191, 2, 0x0a /* Public */, 42, 0, 196, 2, 0x0a /* Public */,
43, 0, 192, 2, 0x0a /* Public */, 43, 0, 197, 2, 0x0a /* Public */,
44, 1, 193, 2, 0x0a /* Public */, 44, 1, 198, 2, 0x0a /* Public */,
47, 3, 196, 2, 0x0a /* Public */, 47, 4, 201, 2, 0x0a /* Public */,
50, 1, 203, 2, 0x0a /* Public */, 51, 1, 210, 2, 0x0a /* Public */,
53, 0, 206, 2, 0x08 /* Private */, 54, 0, 213, 2, 0x08 /* Private */,
54, 1, 207, 2, 0x08 /* Private */, 55, 1, 214, 2, 0x08 /* Private */,
56, 0, 210, 2, 0x08 /* Private */, 57, 0, 217, 2, 0x08 /* Private */,
57, 1, 211, 2, 0x08 /* Private */, 58, 1, 218, 2, 0x08 /* Private */,
59, 0, 214, 2, 0x08 /* Private */, 60, 0, 221, 2, 0x08 /* Private */,
60, 0, 215, 2, 0x08 /* Private */, 61, 0, 222, 2, 0x08 /* Private */,
62, 0, 223, 2, 0x08 /* Private */,
// signals: parameters // signals: parameters
QMetaType::Void, 0x80000000 | 3, 0x80000000 | 5, 0x80000000 | 7, 0x80000000 | 9, 0x80000000 | 11, 4, 6, 8, 10, 12, QMetaType::Void, 0x80000000 | 3, 0x80000000 | 5, 0x80000000 | 7, 0x80000000 | 9, 0x80000000 | 11, 4, 6, 8, 10, 12,
@@ -190,12 +194,13 @@ static const uint qt_meta_data_MainWindow[] = {
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, 0x80000000 | 45, 46, QMetaType::Void, 0x80000000 | 45, 46,
QMetaType::Void, QMetaType::Bool, QMetaType::ULongLong, QMetaType::ULongLong, 38, 48, 49, QMetaType::Void, QMetaType::Bool, QMetaType::ULongLong, QMetaType::ULongLong, QMetaType::ULongLong, 38, 48, 49, 50,
QMetaType::Void, 0x80000000 | 51, 52, QMetaType::Void, 0x80000000 | 52, 53,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::QString, 55, QMetaType::Void, QMetaType::QString, 56,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 59,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::QString, 58,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::Void,
@@ -227,7 +232,7 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
case 15: _t->lostConnection(); break; case 15: _t->lostConnection(); break;
case 16: _t->serverBlocked(); break; case 16: _t->serverBlocked(); break;
case 17: _t->checkLoginResult((*reinterpret_cast< ServerAuthorization*(*)>(_a[1]))); break; case 17: _t->checkLoginResult((*reinterpret_cast< ServerAuthorization*(*)>(_a[1]))); break;
case 18: _t->setNeedUpdate((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< quint64(*)>(_a[2])),(*reinterpret_cast< quint64(*)>(_a[3]))); break; case 18: _t->setNeedUpdate((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< quint64(*)>(_a[2])),(*reinterpret_cast< quint64(*)>(_a[3])),(*reinterpret_cast< quint64(*)>(_a[4]))); break;
case 19: _t->showServerListWidget((*reinterpret_cast< QList<StreamingVersionData*>*(*)>(_a[1]))); break; case 19: _t->showServerListWidget((*reinterpret_cast< QList<StreamingVersionData*>*(*)>(_a[1]))); break;
case 20: _t->on_settingsButton_clicked(); break; case 20: _t->on_settingsButton_clicked(); break;
case 21: _t->on_languageComboBox_activated((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 21: _t->on_languageComboBox_activated((*reinterpret_cast< const QString(*)>(_a[1]))); break;
@@ -235,6 +240,7 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
case 23: _t->on_updateListGuideLabel_linkActivated((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 23: _t->on_updateListGuideLabel_linkActivated((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 24: _t->on_exitButton_clicked(); break; case 24: _t->on_exitButton_clicked(); break;
case 25: _t->on_offlineStartButton_clicked(); break; case 25: _t->on_offlineStartButton_clicked(); break;
case 26: _t->on_unsafeChangingButton_clicked(); break;
default: ; default: ;
} }
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
@@ -375,13 +381,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0) if (_id < 0)
return _id; return _id;
if (_c == QMetaObject::InvokeMetaMethod) { if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 26) if (_id < 27)
qt_static_metacall(this, _c, _id, _a); qt_static_metacall(this, _c, _id, _a);
_id -= 26; _id -= 27;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 26) if (_id < 27)
qt_static_metacall(this, _c, _id, _a); qt_static_metacall(this, _c, _id, _a);
_id -= 26; _id -= 27;
} }
return _id; return _id;
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -23,8 +23,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_RecognizeSystem_t { struct qt_meta_stringdata_RecognizeSystem_t {
QByteArrayData data[21]; QByteArrayData data[22];
char stringdata0[310]; char stringdata0[321];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -41,25 +41,26 @@ QT_MOC_LITERAL(4, 57, 13), // "sigNeedUpdate"
QT_MOC_LITERAL(5, 71, 4), // "flag" QT_MOC_LITERAL(5, 71, 4), // "flag"
QT_MOC_LITERAL(6, 76, 4), // "size" QT_MOC_LITERAL(6, 76, 4), // "size"
QT_MOC_LITERAL(7, 81, 9), // "fileCount" QT_MOC_LITERAL(7, 81, 9), // "fileCount"
QT_MOC_LITERAL(8, 91, 15), // "sigSendDebugLog" QT_MOC_LITERAL(8, 91, 10), // "fileDelete"
QT_MOC_LITERAL(9, 107, 7), // "message" QT_MOC_LITERAL(9, 102, 15), // "sigSendDebugLog"
QT_MOC_LITERAL(10, 115, 17), // "sigSocketDisabled" QT_MOC_LITERAL(10, 118, 7), // "message"
QT_MOC_LITERAL(11, 133, 16), // "sigServerBlocked" QT_MOC_LITERAL(11, 126, 17), // "sigSocketDisabled"
QT_MOC_LITERAL(12, 150, 16), // "sigSaveLoginData" QT_MOC_LITERAL(12, 144, 16), // "sigServerBlocked"
QT_MOC_LITERAL(13, 167, 20), // "ServerAuthorization*" QT_MOC_LITERAL(13, 161, 16), // "sigSaveLoginData"
QT_MOC_LITERAL(14, 188, 10), // "serverAuth" QT_MOC_LITERAL(14, 178, 20), // "ServerAuthorization*"
QT_MOC_LITERAL(15, 199, 25), // "sigSocketWaitForReadyRead" QT_MOC_LITERAL(15, 199, 10), // "serverAuth"
QT_MOC_LITERAL(16, 225, 8), // "waitTime" QT_MOC_LITERAL(16, 210, 25), // "sigSocketWaitForReadyRead"
QT_MOC_LITERAL(17, 234, 15), // "sigStartCompare" QT_MOC_LITERAL(17, 236, 8), // "waitTime"
QT_MOC_LITERAL(18, 250, 17), // "sigShowServerList" QT_MOC_LITERAL(18, 245, 15), // "sigStartCompare"
QT_MOC_LITERAL(19, 268, 29), // "QList<StreamingVersionData*>*" QT_MOC_LITERAL(19, 261, 17), // "sigShowServerList"
QT_MOC_LITERAL(20, 298, 11) // "serverDatas" QT_MOC_LITERAL(20, 279, 29), // "QList<StreamingVersionData*>*"
QT_MOC_LITERAL(21, 309, 11) // "serverDatas"
}, },
"RecognizeSystem\0sigUpdateBytesAvailable\0" "RecognizeSystem\0sigUpdateBytesAvailable\0"
"\0sigLoadComplete\0sigNeedUpdate\0flag\0" "\0sigLoadComplete\0sigNeedUpdate\0flag\0"
"size\0fileCount\0sigSendDebugLog\0message\0" "size\0fileCount\0fileDelete\0sigSendDebugLog\0"
"sigSocketDisabled\0sigServerBlocked\0" "message\0sigSocketDisabled\0sigServerBlocked\0"
"sigSaveLoginData\0ServerAuthorization*\0" "sigSaveLoginData\0ServerAuthorization*\0"
"serverAuth\0sigSocketWaitForReadyRead\0" "serverAuth\0sigSocketWaitForReadyRead\0"
"waitTime\0sigStartCompare\0sigShowServerList\0" "waitTime\0sigStartCompare\0sigShowServerList\0"
@@ -83,26 +84,26 @@ static const uint qt_meta_data_RecognizeSystem[] = {
// signals: name, argc, parameters, tag, flags // signals: name, argc, parameters, tag, flags
1, 0, 64, 2, 0x06 /* Public */, 1, 0, 64, 2, 0x06 /* Public */,
3, 0, 65, 2, 0x06 /* Public */, 3, 0, 65, 2, 0x06 /* Public */,
4, 3, 66, 2, 0x06 /* Public */, 4, 4, 66, 2, 0x06 /* Public */,
8, 1, 73, 2, 0x06 /* Public */, 9, 1, 75, 2, 0x06 /* Public */,
10, 0, 76, 2, 0x06 /* Public */, 11, 0, 78, 2, 0x06 /* Public */,
11, 0, 77, 2, 0x06 /* Public */, 12, 0, 79, 2, 0x06 /* Public */,
12, 1, 78, 2, 0x06 /* Public */, 13, 1, 80, 2, 0x06 /* Public */,
15, 1, 81, 2, 0x06 /* Public */, 16, 1, 83, 2, 0x06 /* Public */,
17, 0, 84, 2, 0x06 /* Public */, 18, 0, 86, 2, 0x06 /* Public */,
18, 1, 85, 2, 0x06 /* Public */, 19, 1, 87, 2, 0x06 /* Public */,
// signals: parameters // signals: parameters
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::Bool, QMetaType::LongLong, QMetaType::ULongLong, 5, 6, 7, QMetaType::Void, QMetaType::Bool, QMetaType::LongLong, QMetaType::ULongLong, QMetaType::ULongLong, 5, 6, 7, 8,
QMetaType::Void, QMetaType::QString, 9, QMetaType::Void, QMetaType::QString, 10,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, 0x80000000 | 13, 14, QMetaType::Void, 0x80000000 | 14, 15,
QMetaType::Void, QMetaType::Int, 16, QMetaType::Void, QMetaType::Int, 17,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, 0x80000000 | 19, 20, QMetaType::Void, 0x80000000 | 20, 21,
0 // eod 0 // eod
}; };
@@ -115,7 +116,7 @@ void RecognizeSystem::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int
switch (_id) { switch (_id) {
case 0: _t->sigUpdateBytesAvailable(); break; case 0: _t->sigUpdateBytesAvailable(); break;
case 1: _t->sigLoadComplete(); break; case 1: _t->sigLoadComplete(); break;
case 2: _t->sigNeedUpdate((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2])),(*reinterpret_cast< quint64(*)>(_a[3]))); break; case 2: _t->sigNeedUpdate((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< qint64(*)>(_a[2])),(*reinterpret_cast< quint64(*)>(_a[3])),(*reinterpret_cast< quint64(*)>(_a[4]))); break;
case 3: _t->sigSendDebugLog((*reinterpret_cast< QString(*)>(_a[1]))); break; case 3: _t->sigSendDebugLog((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 4: _t->sigSocketDisabled(); break; case 4: _t->sigSocketDisabled(); break;
case 5: _t->sigServerBlocked(); break; case 5: _t->sigServerBlocked(); break;
@@ -142,7 +143,7 @@ void RecognizeSystem::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int
} }
} }
{ {
using _t = void (RecognizeSystem::*)(bool , qint64 , quint64 ); using _t = void (RecognizeSystem::*)(bool , qint64 , quint64 , quint64 );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigNeedUpdate)) { if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigNeedUpdate)) {
*result = 2; *result = 2;
return; return;
@@ -253,9 +254,9 @@ void RecognizeSystem::sigLoadComplete()
} }
// SIGNAL 2 // SIGNAL 2
void RecognizeSystem::sigNeedUpdate(bool _t1, qint64 _t2, quint64 _t3) void RecognizeSystem::sigNeedUpdate(bool _t1, qint64 _t2, quint64 _t3, quint64 _t4)
{ {
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) }; void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t4))) };
QMetaObject::activate(this, &staticMetaObject, 2, _a); QMetaObject::activate(this, &staticMetaObject, 2, _a);
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'versioncontainer.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../Core/versioncontainer.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'versioncontainer.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_VersionContainer_t {
QByteArrayData data[1];
char stringdata0[17];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_VersionContainer_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_VersionContainer_t qt_meta_stringdata_VersionContainer = {
{
QT_MOC_LITERAL(0, 0, 16) // "VersionContainer"
},
"VersionContainer"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_VersionContainer[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void VersionContainer::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject VersionContainer::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_VersionContainer.data,
qt_meta_data_VersionContainer,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *VersionContainer::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *VersionContainer::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_VersionContainer.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int VersionContainer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -8,52 +8,54 @@
static const unsigned char qt_resource_data[] = { static const unsigned char qt_resource_data[] = {
// D:/QT/Projects/RRJClient/style.css // D:/QT/Projects/RRJClient/style.css
0x0,0x0,0x2,0xb6, 0x0,0x0,0x2,0xd4,
0x0, 0x0,
0x0,0xb,0xe5,0x78,0x9c,0xd5,0x56,0xdb,0x6e,0xe2,0x30,0x10,0x7d,0x47,0xe2,0x1f, 0x0,0xc,0x69,0x78,0x9c,0xd5,0x56,0xd9,0x6e,0xe2,0x30,0x14,0x7d,0x47,0xe2,0x1f,
0xac,0xf2,0x42,0x25,0x28,0x49,0x80,0x16,0x65,0xdf,0x68,0xf7,0xaa,0xb2,0xda,0xaa, 0xac,0xa2,0x91,0x5a,0x9,0xda,0x24,0x94,0x96,0x49,0xdf,0x68,0x67,0x55,0xa9,0xa6,
0xdd,0xed,0xe3,0xca,0x89,0xdd,0x64,0x84,0xb1,0x91,0xed,0x88,0xa2,0x6a,0xff,0x7d, 0x6a,0xa7,0x7d,0x1c,0x39,0xf1,0x6d,0x62,0x61,0x6c,0x64,0x3b,0xa2,0x68,0x34,0xff,
0xa7,0x49,0xb8,0x84,0x4,0x1a,0xda,0x6a,0xa5,0x25,0x28,0xa0,0x78,0x72,0xe6,0x8c, 0x3e,0x26,0x1b,0xd9,0x80,0x74,0xd1,0x48,0x43,0x10,0x4b,0xec,0x9c,0x7b,0xee,0x76,
0x67,0xe6,0x8c,0x9b,0x8d,0x9b,0x9,0x5,0x79,0xf,0x92,0xa9,0x45,0xb3,0xf1,0xd4, 0xae,0xbb,0x9d,0xdb,0x29,0xa6,0xfc,0x91,0x72,0x22,0x96,0xdd,0xce,0xef,0x6e,0x7,
0x6c,0x10,0xfc,0x4,0x34,0x9c,0x46,0x5a,0x25,0x92,0x75,0x61,0x46,0x23,0xee,0x93, 0x99,0x97,0x87,0xfd,0x59,0x20,0x45,0xc4,0xc9,0x80,0xce,0x71,0x0,0x2e,0x8a,0x24,
0x44,0x8b,0xb6,0xdf,0xd3,0xdc,0xa8,0x44,0x87,0xbc,0x77,0x7b,0xfb,0xed,0xf7,0xc6, 0x3b,0x74,0x4f,0x24,0x28,0x11,0x49,0x1f,0x4e,0xee,0xee,0xbe,0xff,0xda,0x6c,0xba,
0xe8,0x8a,0xea,0xe9,0xed,0xe4,0x6c,0x2e,0xa3,0xd3,0xf,0x25,0x80,0xb9,0x32,0x60, 0xc2,0x72,0x76,0x37,0x3d,0x5e,0xf0,0xe0,0xe8,0xa2,0x6,0xb0,0x10,0x8a,0x6a,0x2a,
0x41,0x49,0x9f,0x84,0x5c,0x5a,0xae,0xd1,0xe2,0x4f,0xb3,0xd1,0x6c,0xdc,0x7c,0xd2, 0xb8,0x8b,0x7c,0xe0,0x1a,0xa4,0xd9,0xf1,0xa7,0xdb,0xe9,0x76,0x6e,0x3f,0x4b,0x3c,
0x74,0xc6,0x5b,0x1b,0xcb,0x9f,0x73,0x46,0x2d,0xff,0xb7,0x1c,0xae,0xc1,0xd8,0x7b, 0x87,0xde,0x66,0xe7,0xcf,0x5,0xc1,0x1a,0xfe,0x2d,0x87,0x6b,0xaa,0xf4,0x23,0x25,
0x60,0x11,0xb7,0xad,0x24,0x75,0xbf,0x79,0x50,0x45,0x24,0x54,0x42,0x69,0x9f,0xe8, 0x1,0xe8,0x5e,0x14,0x9b,0xdf,0xdc,0x68,0x22,0xe2,0xb,0x26,0xa4,0x8b,0x64,0xe0,
0x28,0xa0,0xed,0x91,0xdb,0xc9,0xbe,0xee,0xc8,0x59,0xb9,0xcc,0xd6,0x17,0x31,0x58, 0xe1,0xc3,0xb1,0xdd,0x4f,0xde,0xf6,0xd8,0xca,0x4c,0x26,0xeb,0xcb,0x90,0x6a,0xa8,
0xbe,0x76,0x71,0xa9,0x66,0x81,0x1a,0xab,0xc7,0xc3,0x78,0x6d,0xcf,0xe9,0x77,0x3c, 0xb8,0x79,0x3,0xcb,0x7,0x90,0x93,0x1c,0x2a,0x43,0xaf,0x81,0xc7,0xd8,0x56,0x7f,
0x6f,0xd4,0xf1,0x86,0xc3,0x75,0x0,0x4a,0x33,0xae,0xbb,0xc6,0x2e,0x5,0x46,0xaf, 0x7d,0x7d,0xb4,0x3e,0x1c,0x5d,0xe4,0x38,0x97,0x62,0xee,0x89,0x89,0x78,0xde,0xcd,
0x12,0x6b,0xb8,0x2d,0x2e,0x69,0xca,0x20,0x31,0x3e,0xe9,0xcf,0x1f,0xf3,0x85,0x7, 0xeb,0xd0,0xb1,0x86,0x7d,0xc7,0x19,0xf7,0x9d,0xd1,0x28,0xf,0x84,0x90,0x4,0xe4,
0x25,0x6d,0xf7,0x81,0xce,0x40,0x2c,0x7d,0x72,0x72,0x49,0x5,0x4,0x1a,0x4e,0xb6, 0x40,0xe9,0x15,0x33,0x51,0x14,0x91,0x56,0xa0,0xcb,0x4b,0x12,0x13,0x1a,0x29,0x17,
0x16,0x7d,0xe2,0x9e,0xaf,0xad,0xb7,0xfc,0xf,0x86,0x9d,0xd1,0xa0,0xe3,0xf6,0xd3, 0xd,0x17,0xcf,0xe9,0xc2,0x93,0xe0,0x7a,0xf0,0x84,0xe7,0x94,0xad,0x5c,0x74,0x70,
0x58,0x32,0xe6,0x3f,0x12,0x13,0x8f,0x13,0x6b,0x95,0xfc,0x9f,0xb9,0xfb,0xc,0xc, 0x89,0x19,0xf5,0x24,0x3d,0x28,0x2c,0xba,0xc8,0x3e,0xcb,0x77,0x17,0xec,0x9f,0x8e,
0xd,0x4,0x67,0x7,0x82,0x10,0x10,0xc5,0xf6,0xb3,0xa6,0xcb,0x22,0x76,0x84,0x4f, 0xfa,0xe3,0xd3,0xbe,0x3d,0x8c,0x63,0x92,0x30,0xff,0x11,0xa9,0x70,0x12,0x69,0x2d,
0x56,0x80,0x13,0x6e,0xc,0x56,0xe1,0xe1,0x44,0x16,0x33,0xbf,0x79,0x85,0xdc,0x5c, 0xf8,0xff,0xcc,0xdd,0x25,0x54,0x61,0x8f,0x1,0xd9,0xe1,0x4,0xa3,0x41,0xa8,0xbf,
0xd3,0x80,0x8b,0xf5,0x9b,0x35,0x22,0xf5,0x9c,0xdd,0x48,0x3,0x81,0xfe,0x2a,0xc1, 0x48,0xbc,0x2a,0x63,0x7,0xe6,0x4e,0x6,0x38,0x5,0xa5,0x4c,0x35,0xef,0x4e,0x64,
0xab,0x12,0x55,0xdc,0x64,0x6f,0xd,0x36,0xa7,0x8c,0x81,0x8c,0x7c,0xe2,0x9c,0x79, 0xb9,0x82,0x36,0x8f,0xa0,0xdb,0x6b,0xec,0x1,0xcb,0x9f,0x6c,0xe1,0xa9,0x63,0x55,
0x7c,0xb6,0xbe,0xf7,0x57,0xff,0x73,0xb3,0x19,0xc8,0xee,0x2,0x98,0x8d,0x7d,0x72, 0x3d,0xf5,0x98,0xb1,0xd7,0x8,0xde,0x94,0xa8,0x72,0x90,0x9d,0x1c,0x6c,0x81,0x9,
0x91,0x31,0x59,0x35,0x8c,0xe4,0x1f,0x19,0xd8,0x5d,0x47,0xb5,0x13,0x9d,0xa7,0x47, 0xa1,0x3c,0x70,0x91,0x75,0xec,0xc0,0x3c,0xff,0x1c,0x66,0xbf,0xd3,0x6d,0x73,0xca,
0xab,0x8,0x1b,0xd9,0x8c,0xa9,0xde,0x41,0x4a,0xb9,0x12,0xa3,0x4,0xb0,0x72,0x6e, 0x7,0x4b,0x4a,0x74,0xe8,0xa2,0xf3,0x84,0x49,0xd6,0x78,0x1c,0x3e,0x11,0xaa,0xab,
0x2b,0x50,0x87,0xfb,0xb6,0xa9,0x6e,0x45,0x21,0x0,0x62,0xa,0x96,0x3f,0xb5,0xfc, 0x86,0x5a,0x27,0x3a,0x4d,0x8f,0x14,0x81,0x11,0x4,0x35,0xc1,0xb2,0x82,0x14,0x73,
0xd1,0x76,0xd1,0x30,0x2a,0x89,0x45,0x91,0xb6,0xef,0x87,0x71,0x22,0xa7,0xfb,0x36, 0x45,0x4a,0x30,0x4a,0xea,0xb9,0x6d,0x40,0x1d,0x6d,0xb,0x53,0xdb,0x8a,0x32,0x0,
0x7c,0x43,0xab,0x56,0xcb,0xe4,0x52,0x11,0xf3,0x70,0xba,0x5d,0x61,0xdb,0xfc,0xf7, 0x6,0x93,0x91,0xf4,0xae,0x86,0x67,0x3d,0x30,0x1b,0x83,0x9a,0xe8,0x94,0x69,0xbb,
0xd0,0x1f,0xed,0xc6,0x5f,0xac,0xc1,0x5c,0xdc,0x20,0x54,0x72,0x57,0xd6,0x32,0xc2, 0xae,0x1f,0x46,0x7c,0xb6,0x2d,0xe0,0x1b,0x5a,0xad,0x5a,0x26,0x95,0x8a,0x10,0xfc,
0xd5,0xda,0xfa,0x15,0xed,0x4d,0x6f,0x2e,0xa8,0xe4,0xa9,0xa4,0x12,0x27,0xbf,0x8c, 0x59,0xb1,0xc2,0x8a,0xfc,0xb7,0xd0,0x1f,0x57,0xfd,0x2f,0xd7,0x60,0x2a,0x92,0xd4,
0xd5,0xdc,0x86,0xf1,0xea,0x77,0x55,0x54,0x7b,0xf5,0xf5,0xed,0x65,0x5f,0x8c,0x27, 0x17,0xbc,0x2a,0x8f,0x9,0xe1,0x66,0x8d,0xfe,0x66,0xf6,0xab,0x93,0x5,0xc3,0x1c,
0x5,0x6c,0x81,0x14,0x58,0x87,0x77,0x98,0xaa,0x2b,0x1e,0x24,0xd1,0x31,0xe,0xf2, 0x62,0x69,0x46,0x56,0x7a,0x29,0x2d,0x41,0xfb,0x61,0xf6,0x9d,0x15,0xd5,0x56,0x9d,
0xd,0x2b,0xec,0x4e,0xcc,0x29,0x6e,0xc5,0x4b,0xb2,0xbf,0x37,0x6d,0x85,0x1,0x52, 0x7e,0x7b,0xd9,0x97,0xfd,0xb9,0x37,0xe9,0x59,0xd7,0x5f,0x8f,0x72,0x66,0x4a,0x71,
0x6f,0x78,0x6c,0xe1,0xbc,0x4e,0x35,0x5d,0xa7,0x14,0x6,0x79,0x3d,0x3,0x67,0xb7, 0xfd,0xf7,0xa,0xbc,0x28,0xd8,0xa7,0xfa,0x89,0x32,0xe7,0x45,0xd4,0xa6,0x30,0xda,
0xbb,0xde,0x83,0xc1,0xbb,0x88,0x5e,0xb5,0xbc,0x4f,0x96,0x78,0x60,0xf9,0x92,0x66, 0x45,0x36,0x4,0x6c,0xc2,0xb8,0x6f,0xf4,0x6c,0x4d,0x79,0x69,0x88,0xb5,0x1b,0x60,
0x2d,0x4f,0xde,0xd1,0xae,0xca,0x8d,0xb3,0x67,0x92,0x64,0x15,0x87,0x9d,0x10,0x25, 0x5,0x9c,0xd7,0x29,0xae,0x5d,0x6c,0xe8,0xc4,0x26,0x7a,0x3d,0x3,0xab,0xda,0x99,
0xd8,0x29,0x77,0x60,0x5,0xaf,0xe7,0xe7,0x40,0xfd,0x7e,0x57,0x16,0x1e,0x20,0xa4, 0xef,0xc1,0xe0,0x5d,0x4,0xb3,0x79,0x34,0x4c,0x57,0xe6,0xd0,0xf4,0x35,0xce,0x5a,
0xcf,0x3d,0x73,0x4,0xf3,0x2a,0x44,0xc4,0xbc,0x53,0x4a,0x64,0xf2,0xdf,0xc2,0x59, 0x9a,0xbc,0x17,0x9b,0xaa,0x97,0xc6,0x96,0x29,0x14,0x23,0xf7,0x4c,0x17,0x5,0x91,
0x87,0x4d,0xbb,0xfc,0x5,0x7c,0x51,0xd2,0xd5,0xc1,0x9b,0x74,0xb5,0xfa,0x9d,0x17, 0xe9,0xb2,0x7b,0xaa,0x19,0xb4,0xb3,0xd3,0x58,0x71,0x9,0xda,0x8d,0xd0,0xf4,0x89,
0x26,0x60,0x35,0x33,0x54,0x4e,0xd4,0xb9,0x83,0x3,0xf9,0xd9,0x9b,0x3b,0xc4,0xb3, 0xfa,0x78,0xdd,0x6f,0x2f,0x60,0xde,0x84,0xb8,0xee,0x27,0x21,0x58,0x32,0x3a,0x7a,
0xd5,0xc5,0x39,0x56,0xa7,0x7b,0xfa,0x62,0xb4,0x75,0xa6,0x7c,0x5,0xe8,0x81,0xf8, 0x66,0x4e,0x9a,0x86,0x5f,0x3d,0x50,0x58,0xd6,0x34,0xf9,0xf4,0x4d,0x9a,0xdc,0xfc,
0xca,0x27,0x89,0x56,0xce,0x3b,0xcd,0x58,0x9d,0x83,0x11,0x6d,0x3b,0x9d,0xf4,0xaa, 0xcc,0x9e,0xe9,0xd9,0xcc,0xcc,0xa8,0xae,0xd1,0xc8,0x9d,0xc3,0x7c,0x6d,0xcd,0x1e,
0x3a,0x97,0xb4,0x50,0xc2,0xa6,0x47,0xa3,0xd4,0xac,0x91,0x40,0x24,0x5b,0x15,0xf2, 0x99,0xf3,0xdd,0xf9,0x99,0xa9,0x4e,0xfb,0x68,0xaf,0xb7,0x6d,0x4e,0x8,0xd,0xa0,
0x17,0xcd,0xcd,0x75,0xf3, 0x3b,0xfc,0xab,0x9f,0x42,0x7a,0x29,0xef,0x38,0x63,0x6d,0xe,0x55,0x25,0xc9,0xaa,
0xa1,0x19,0xed,0x9b,0xbd,0x18,0xa5,0x65,0x8d,0x78,0x2c,0x2a,0x54,0xc8,0x5f,0x90,
0x99,0x9c,0x9f,
// D:/QT/Projects/RRJClient/resource/SSJ_backgroundDark.png // D:/QT/Projects/RRJClient/resource/SSJ_backgroundDark.png
0x0,0x22,0x2a,0x2f, 0x0,0x22,0x2a,0x2f,
0x89, 0x89,
@@ -323692,6 +323694,394 @@ static const unsigned char qt_resource_data[] = {
0xc8,0xff,0x38,0x0,0x1,0x0,0x1,0x4,0xdc,0x0,0x0,0x0,0x0,0x0,0x1,0x0, 0xc8,0xff,0x38,0x0,0x1,0x0,0x1,0x4,0xdc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,
0x0,0x0,0x0,0xcc,0x3d,0xa2,0xcf,0x0,0x0,0x0,0x0,0xc8,0x40,0xf9,0x9a,0x0, 0x0,0x0,0x0,0xcc,0x3d,0xa2,0xcf,0x0,0x0,0x0,0x0,0xc8,0x40,0xf9,0x9a,0x0,
0x0,0x0,0x0,0xcc,0x91,0xee,0xe9, 0x0,0x0,0x0,0xcc,0x91,0xee,0xe9,
// D:/QT/Projects/RRJClient/resource/Icons/caution.png
0x0,0x0,0x18,0xd,
0x89,
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x8,0x6,0x0,0x0,0x0,0x5c,0x72,0xa8,0x66,
0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xe,0xc3,0x0,0x0,0xe,0xc3,
0x1,0xc7,0x6f,0xa8,0x64,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66,
0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,
0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0x17,0x9a,0x49,0x44,
0x41,0x54,0x78,0x9c,0xed,0xdd,0x79,0xd4,0x1d,0x45,0x9d,0xc6,0xf1,0xa7,0xd8,0x9,
0x90,0xb0,0xba,0x80,0xa8,0x80,0x3,0x2,0xca,0x22,0xca,0x22,0x3a,0x8,0xa3,0xa0,
0x82,0xa2,0x38,0xa8,0x80,0x8c,0xa,0xb2,0x28,0x82,0x33,0x88,0xa8,0xc,0xee,0x88,
0x32,0x8e,0xb,0xb2,0xc8,0xae,0x48,0x10,0x94,0x23,0x2a,0xee,0xce,0xe0,0x0,0xb2,
0xc,0x1a,0xc,0x41,0xd9,0x64,0xd,0x48,0xd8,0x12,0x48,0x58,0x2,0x64,0x79,0xbf,
0xfe,0xd1,0x37,0x87,0x18,0xf3,0xde,0xaa,0x7b,0x6f,0x77,0xd7,0xed,0xbe,0xcf,0xe7,
0x9c,0x9c,0xa3,0x74,0xbd,0xd5,0xbf,0xee,0xdb,0x5d,0xb7,0x6f,0x57,0xd5,0xaf,0x24,
0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
0x33,0x33,0xb3,0x36,0xb,0xb9,0x3,0xb0,0xfa,0x1,0xcb,0x4b,0x9a,0x24,0x69,0x75,
0x49,0x48,0x9a,0x23,0x69,0x76,0x8,0x61,0x41,0xd6,0xc0,0xac,0x76,0x6e,0x0,0x5a,
0xe,0x58,0x4f,0xd2,0xae,0x92,0xb6,0x96,0xb4,0x95,0xa4,0x2d,0x54,0xdc,0xfc,0x4b,
0x33,0x47,0xd2,0x34,0x49,0xd7,0x4b,0x9a,0x2a,0xe9,0x37,0x21,0x84,0x19,0x75,0xc4,
0x69,0x66,0x25,0x1,0x9e,0x7,0x7c,0xc,0xb8,0x6,0x18,0xa3,0x7f,0xb,0x81,0xab,
0x80,0x8f,0x2,0xcf,0xc9,0x7d,0x5c,0x66,0xd6,0x5,0xb0,0x1,0x70,0x22,0x30,0x77,
0x80,0x9b,0x7e,0x3c,0x4f,0x3,0xdf,0x5,0x36,0xce,0x7d,0x9c,0x66,0xb6,0x18,0x60,
0x12,0x70,0xa,0xb0,0xa0,0x82,0x1b,0x7f,0x49,0xb,0x80,0x93,0x80,0x89,0xb9,0x8f,
0xdb,0x6c,0xe4,0x1,0xef,0x4,0x66,0xd4,0x70,0xe3,0x2f,0xe9,0x3e,0x60,0xaf,0xdc,
0xc7,0x6f,0x36,0x92,0x80,0xe5,0x28,0x1e,0xf7,0x73,0x3b,0x9d,0xa2,0x57,0xc1,0xcc,
0xea,0x0,0xac,0x5,0x5c,0x9a,0xf9,0xc6,0x5f,0xdc,0x15,0xf8,0x25,0x61,0x23,0xb9,
0x1b,0xb0,0x61,0x80,0xe7,0x4a,0xba,0x5c,0xd2,0x26,0x3,0x54,0xf3,0x8c,0x8a,0x2e,
0xbf,0x39,0x9d,0xff,0x3f,0xa9,0xf3,0x6f,0xc5,0x1,0xea,0xbc,0x59,0xd2,0x4e,0x21,
0x84,0x87,0x7,0xa8,0xc3,0xcc,0xc6,0x3,0xac,0x9,0x4c,0xeb,0xe3,0x1b,0x7a,0x36,
0x30,0x19,0x78,0xf,0xb0,0x39,0xb0,0xdc,0x52,0xea,0x5e,0xe,0x78,0x19,0xb0,0x3f,
0x70,0x7e,0xe7,0x6f,0x7a,0x35,0x15,0x58,0x23,0xc7,0xb9,0x31,0x6b,0x35,0x60,0x25,
0xe0,0xda,0x1e,0x6f,0xc8,0xeb,0x81,0x7d,0x81,0x15,0xfa,0xd8,0xdf,0xa,0xc0,0x7e,
0xf4,0xde,0xe0,0x5c,0xd,0xc,0xf2,0x24,0x61,0x66,0x4b,0xa2,0xe8,0xe6,0x4b,0x35,
0x83,0xa2,0x77,0x60,0xe0,0x9f,0x78,0x40,0x0,0xde,0x45,0x6f,0x3d,0xd,0x27,0x96,
0x71,0xcc,0x66,0x26,0x9,0xd8,0xab,0x87,0x9b,0x6f,0x32,0x30,0xde,0x50,0xdf,0x41,
0x62,0x58,0x1d,0xf8,0x5e,0x62,0xc,0x63,0xc0,0xdb,0xca,0x8e,0xc1,0x6c,0xe4,0x0,
0xcf,0x7,0x1e,0x49,0xb8,0xe9,0x16,0x0,0x47,0xd5,0x10,0xcf,0xd1,0x14,0x43,0x84,
0x63,0x66,0x1,0xcf,0xab,0x3a,0x1e,0xb3,0x56,0x3,0x2e,0x4e,0xfc,0xc6,0x3d,0xa8,
0xc6,0x98,0xde,0x9b,0xd8,0x8,0x5c,0x52,0x57,0x4c,0x66,0xad,0x3,0xec,0x9d,0x70,
0x93,0x1,0x1c,0x91,0x21,0xb6,0xff,0x48,0x8c,0xed,0x1d,0x75,0xc7,0x66,0xd6,0x78,
0x14,0x5d,0x7e,0xf,0x24,0xdc,0x60,0xdf,0xcf,0x18,0xe3,0xe4,0x84,0xf8,0xee,0x7,
0xd6,0xcc,0x15,0xa3,0x59,0x23,0x1,0xdf,0x49,0xb8,0xb9,0xee,0x24,0xe3,0xa4,0x1c,
0x60,0x62,0x27,0x86,0x98,0x73,0x72,0xc5,0x68,0xd6,0x38,0xc0,0x2e,0xc4,0xe7,0xf1,
0x8f,0x1,0x6f,0x18,0x82,0x58,0x77,0x4e,0x88,0x15,0x60,0xd7,0xdc,0xb1,0x9a,0xd,
0x3d,0x60,0x15,0xe0,0x8e,0x84,0x1b,0xea,0xcc,0xdc,0xb1,0x2e,0x2,0x9c,0x95,0x10,
0xef,0xdd,0xc0,0xaa,0xb9,0x63,0x35,0x1b,0x6a,0xc0,0x37,0x13,0x6e,0xa6,0x19,0xc,
0xd1,0x90,0x5b,0x8a,0x7c,0x4,0x7f,0x4d,0x88,0xfb,0xeb,0xb9,0x63,0x35,0x1b,0x5a,
0xc0,0xf6,0xa4,0x25,0xf5,0x78,0x7b,0xee,0x58,0x97,0x4,0xec,0x91,0x10,0xf7,0x42,
0x60,0xc7,0xdc,0xb1,0x9a,0xd,0x1d,0x60,0x45,0xe0,0xc6,0x84,0x9b,0x28,0xdb,0x5b,
0xff,0x18,0xe0,0x7,0x9,0xf1,0xdf,0xc,0xac,0x94,0x3b,0x56,0xb3,0xa1,0x2,0x1c,
0x97,0x70,0xf3,0xcc,0xa2,0x98,0xe,0x3c,0x94,0x80,0xb5,0x81,0x87,0x12,0x8e,0xe3,
0x73,0xb9,0x63,0x35,0x1b,0x1a,0xc0,0x16,0xc0,0xbc,0x84,0x1b,0xe7,0xbd,0xb9,0x63,
0x8d,0xa1,0x18,0x25,0x18,0x33,0x1f,0xd8,0x3a,0x77,0xac,0x66,0xd9,0x1,0xcb,0x2,
0x7f,0x48,0xb8,0x69,0x2e,0xa5,0x84,0xd9,0x7d,0x75,0x0,0x7e,0x95,0x70,0x3c,0xbf,
0x7,0x96,0xcd,0x1d,0xab,0x59,0x56,0x14,0x93,0x6b,0x62,0x9e,0x0,0x36,0xcc,0x1d,
0x6b,0x2a,0xe0,0x45,0xc0,0x63,0x9,0xc7,0xf5,0xd1,0xdc,0xb1,0x9a,0x65,0x43,0x91,
0xc7,0xff,0x89,0x84,0x1b,0xe5,0xf0,0xdc,0xb1,0xf6,0xa,0x38,0x22,0xe1,0xb8,0x9e,
0x4,0x5e,0x92,0x3b,0x56,0xb3,0xda,0x51,0x24,0xda,0xf8,0xdf,0x84,0x9b,0xe4,0x1a,
0x1a,0xf8,0xa8,0xc,0x2c,0x3,0xfc,0x2e,0xe1,0xf8,0xfe,0x8f,0x86,0xfc,0xb4,0x31,
0x2b,0xd,0x70,0x68,0xc2,0xcd,0xf1,0x34,0xb0,0x59,0xee,0x58,0xfb,0x5,0x6c,0x2,
0x3c,0x95,0x70,0x9c,0xb5,0x4d,0x65,0x36,0xcb,0xe,0x58,0x17,0x78,0x34,0xe1,0xc6,
0x38,0x36,0x77,0xac,0x83,0x2,0x8e,0x4d,0x38,0xce,0x39,0xc0,0xb,0x72,0xc7,0x6a,
0x56,0xb,0xe0,0x47,0x9,0x37,0xc5,0x34,0x5a,0xb0,0xe0,0x6,0x45,0xb6,0xe1,0x3f,
0x26,0x1c,0xef,0x4f,0x73,0xc7,0x6a,0x56,0x39,0x60,0x9f,0x84,0x9b,0x61,0x1,0xf0,
0xca,0xa,0xf6,0xbd,0x29,0xc5,0x4a,0xbf,0x3f,0x3,0x6e,0xa0,0xc8,0x37,0xf0,0x40,
0xe7,0x7f,0xff,0x14,0x38,0x12,0x78,0x69,0x5,0xfb,0xdd,0x8a,0xb4,0x71,0xe,0xef,
0x2c,0x7b,0xdf,0x66,0x43,0x83,0x62,0x45,0x9f,0x7,0x13,0x6e,0x84,0x13,0x4a,0xde,
0xef,0xab,0x81,0xdf,0x26,0xec,0x77,0x91,0xab,0x80,0x9d,0x4b,0x8e,0xe1,0xbf,0x12,
0xf6,0xfb,0x30,0xb0,0x4e,0x99,0xfb,0x35,0x1b,0x1a,0xa4,0x65,0xd0,0xb9,0x13,0x58,
0xa5,0xa4,0xfd,0x4d,0x0,0x2e,0xe8,0xe1,0xc6,0x5f,0xd2,0xf9,0xc0,0x84,0x92,0x62,
0x59,0x19,0xf8,0x4b,0xc2,0x3e,0xcf,0x2d,0x63,0x7f,0x66,0x43,0x5,0x78,0x53,0xc2,
0xc5,0x3f,0x6,0xfc,0x4b,0x49,0xfb,0x5b,0xf,0xb8,0xae,0xef,0x5b,0xff,0x59,0x53,
0x80,0xf5,0x4a,0x8a,0x69,0x27,0xd2,0x92,0x87,0xbc,0xa5,0x8c,0xfd,0x99,0xd,0x5,
0x8a,0xd4,0x59,0xf7,0x24,0x5c,0xf8,0xa7,0x95,0xb4,0xbf,0x95,0x3b,0x37,0x6e,0x59,
0xa6,0x51,0xde,0x53,0xc9,0x69,0x9,0xfb,0x9b,0xe,0xac,0x56,0xc6,0xfe,0xcc,0xb2,
0x3,0x4e,0x4d,0xb8,0xe8,0x67,0x0,0xab,0x97,0xb4,0xbf,0xb,0xfb,0xbf,0xd7,0xc7,
0xf5,0xbd,0x92,0x62,0x9b,0x8,0xdc,0x9b,0xb0,0xbf,0x93,0xca,0xd8,0x9f,0x59,0x56,
0xc0,0xe,0xa4,0xe5,0xd0,0x2f,0x65,0x25,0x1d,0xd2,0x7e,0x6a,0xf4,0xab,0x94,0x1c,
0x84,0xc0,0xee,0x9,0xfb,0x5a,0x8,0xbc,0xa6,0x8c,0xfd,0x99,0x65,0x41,0x91,0xe4,
0xe3,0xa6,0x84,0x8b,0xbd,0xac,0x6f,0xd7,0x40,0xda,0xcc,0xc2,0x45,0xe6,0x76,0xfe,
0xa5,0xba,0xb6,0x8c,0x38,0x3b,0xb1,0xa6,0xbc,0x9c,0xbc,0x5,0x27,0xf,0xb1,0xa6,
0x2,0xbe,0x94,0x70,0x91,0xcf,0x4,0x9e,0x53,0xd2,0xfe,0x76,0x4c,0xd8,0xdf,0x18,
0x70,0x6,0x8b,0xd,0x31,0x6,0x36,0x3,0xce,0x24,0xed,0x5,0xdd,0xe,0x25,0xc5,
0xba,0x36,0x69,0x5d,0xa2,0xc7,0x95,0xb1,0x3f,0xb3,0x5a,0x1,0x5b,0x92,0x36,0xf8,
0x65,0xbf,0x12,0xf7,0x19,0xcb,0x2a,0x34,0x6,0xbc,0xbf,0xcb,0xdf,0x1f,0x40,0xbc,
0x11,0xf8,0x7c,0x89,0xf1,0xbe,0x27,0xe1,0xfc,0xcc,0x7,0x5e,0x51,0xd6,0x3e,0xcd,
0x2a,0x47,0x31,0xfc,0x35,0xe5,0x2d,0xfc,0x2f,0x4a,0xde,0xef,0xb5,0x91,0xfd,0x7d,
0x27,0xa1,0x8e,0x73,0x23,0x75,0x5c,0x53,0x72,0xcc,0x3f,0x49,0x38,0x4f,0xd7,0xd3,
0x82,0x61,0xd1,0x36,0x22,0x80,0x4f,0x26,0x5c,0xd4,0x8f,0x1,0x2f,0x2c,0x79,0xbf,
0xf7,0x47,0xf6,0x19,0xfd,0x26,0x5,0xb6,0x89,0xd4,0x71,0x5f,0xc9,0x31,0xaf,0xb,
0xcc,0x4e,0x38,0x5f,0x47,0x97,0xb9,0x5f,0xb3,0x4a,0x0,0x1b,0x93,0xf6,0x62,0xed,
0x43,0x15,0xec,0xfb,0x99,0x2e,0xfb,0x5b,0x48,0x42,0x5e,0x1,0x8a,0xa7,0x97,0x6e,
0xbd,0x16,0x4f,0x57,0x10,0xf7,0x61,0x9,0xe7,0xeb,0x69,0x60,0xd3,0xb2,0xf7,0x6d,
0x56,0x1a,0x8a,0x24,0x18,0x57,0x24,0x5c,0xcc,0x57,0x3,0xcb,0x94,0xbc,0xef,0x15,
0x22,0xfb,0x7c,0xa6,0x87,0xba,0x9e,0x8e,0xd4,0xb5,0x42,0xc9,0xb1,0xa7,0x9e,0xb7,
0xcb,0x70,0xf2,0x10,0x1b,0x56,0x64,0xfc,0x26,0xa3,0xe8,0x2,0xec,0x66,0xac,0x87,
0xba,0xba,0x3d,0x1,0x8c,0x55,0x71,0x13,0x92,0xfe,0xe4,0x74,0x68,0xd9,0xfb,0x36,
0x1b,0x18,0xc5,0xd8,0xfb,0x94,0xdf,0xb2,0x9f,0xa8,0x30,0x86,0x58,0xaf,0x43,0xf4,
0x45,0x1a,0xb0,0x7c,0xa4,0x8e,0xe4,0x27,0x89,0x3e,0xe2,0x4f,0x79,0x77,0x32,0x7,
0x58,0xbf,0xaa,0x18,0xcc,0xfa,0xc2,0x10,0xbc,0xcd,0x26,0x9e,0x60,0x34,0x3a,0x9e,
0x9f,0x62,0x71,0xd2,0x6e,0x1e,0xaf,0x30,0xfe,0xd4,0xde,0x93,0x9f,0x57,0x15,0x83,
0x59,0xcf,0x48,0xef,0xcf,0xde,0xa6,0xe2,0x38,0x1e,0x89,0xc4,0x10,0x5d,0x50,0x14,
0x58,0x23,0x52,0xc7,0xac,0x8a,0x8f,0x21,0x75,0xfc,0xc4,0x3e,0x55,0xc6,0x61,0x96,
0x84,0xf4,0x11,0x6d,0xc7,0xd7,0x10,0xcb,0x3,0x91,0x18,0xa2,0xcb,0x8a,0x1,0xcf,
0x8d,0xd4,0x71,0x7f,0xd,0xc7,0x91,0x32,0x82,0xf2,0x61,0x4a,0x1a,0x41,0x69,0xd6,
0x37,0xd2,0xc6,0xb4,0xdf,0xa,0xac,0x5c,0x43,0x2c,0xb1,0x29,0xc7,0xd1,0xdf,0xce,
0xc0,0xfa,0x91,0x3a,0xa6,0xd7,0x70,0x1c,0xa9,0x73,0x28,0x26,0x57,0x1d,0x8b,0xd9,
0xb8,0x48,0x9f,0xd5,0xf6,0xda,0x9a,0xe2,0xb9,0x3d,0x12,0xcb,0x46,0x9,0x75,0x6c,
0x14,0xa9,0xe3,0xb6,0x9a,0x8e,0x25,0x75,0x16,0xe5,0x9e,0x75,0xc4,0xd3,0x56,0xa5,
0xf6,0x45,0x8f,0x12,0x60,0xa2,0xa4,0x94,0x4,0x1e,0xa7,0x85,0x10,0x7e,0x57,0x75,
0x3c,0x1d,0xf3,0x22,0xdb,0x53,0xfa,0xef,0x63,0x65,0x62,0xfb,0x28,0x45,0x8,0xe1,
0x1a,0xa5,0x9d,0xdf,0x53,0x29,0x29,0x8f,0xc2,0x28,0x72,0x3,0xd0,0xbf,0xaf,0x48,
0x8a,0xe5,0xb2,0x9f,0x21,0xe9,0x3f,0x6b,0x88,0x65,0x91,0xd6,0x34,0x0,0x1d,0x9f,
0x90,0x74,0x4f,0xa4,0xcc,0xba,0x92,0x2a,0x7f,0xbf,0xd2,0x56,0x6e,0x0,0xfa,0x0,
0xec,0x24,0x29,0x65,0x35,0x9b,0xf,0x86,0x10,0x66,0x57,0x1d,0xcf,0x62,0x5a,0xd5,
0x0,0x84,0x10,0x1e,0x97,0x94,0x32,0xf0,0xe7,0x50,0x4a,0xca,0xa5,0x38,0x6a,0xdc,
0x0,0xf4,0x88,0xe2,0x65,0xde,0x59,0x92,0x62,0xa3,0xe1,0x26,0x87,0x10,0x2e,0xa9,
0x21,0xa4,0xc5,0xb5,0xaa,0x1,0x90,0xa4,0x10,0xc2,0x2f,0x25,0x9d,0x1f,0x2b,0x26,
0xe9,0x5b,0xd4,0xf0,0xa2,0xb5,0x6d,0xdc,0x0,0xf4,0xee,0x73,0x92,0x62,0x2b,0xda,
0xce,0x94,0x94,0x63,0xe9,0xeb,0xd6,0x35,0x0,0x1d,0x1f,0x91,0xf4,0x50,0xa4,0xcc,
0x3f,0x49,0xfa,0x74,0xd,0xb1,0xb4,0x8a,0x1b,0x80,0x1e,0x0,0x5b,0x49,0xfa,0xf7,
0x84,0xa2,0x87,0x87,0x10,0x62,0x17,0x6c,0x15,0xe6,0x47,0xb6,0x97,0xd1,0x0,0xc4,
0xf6,0x51,0xba,0x10,0xc2,0x2c,0xa5,0x9d,0xf7,0xa3,0xa8,0x78,0xb0,0x55,0xdb,0xb8,
0x1,0x48,0x4,0x2c,0x27,0xe9,0x1c,0x49,0xb1,0xa1,0xbc,0xbf,0x8,0x21,0x5c,0x58,
0x43,0x48,0x4b,0xd3,0xd6,0x27,0x0,0x85,0x10,0x2e,0x90,0xf4,0xe3,0x48,0xb1,0xe5,
0x24,0x9d,0x83,0x93,0x87,0x24,0x73,0x3,0x90,0xee,0x93,0x92,0xb6,0x8e,0x94,0x79,
0x4c,0x69,0x2f,0xad,0xaa,0xd2,0xda,0x6,0xa0,0xe3,0x30,0x49,0xb1,0x97,0xaa,0x5b,
0x48,0xfa,0x58,0xd,0xb1,0xb4,0x82,0x1b,0x80,0x4,0xc0,0x26,0x92,0x8e,0x49,0x28,
0x7a,0x74,0x8,0xe1,0xde,0xaa,0xe3,0xe9,0x22,0x76,0x73,0xa6,0x7c,0x33,0xe,0x6d,
0x3,0x10,0x42,0x98,0xa1,0xa2,0x6b,0x30,0xe6,0xd3,0x2c,0x96,0xf4,0xd4,0xc6,0xe7,
0x6,0x20,0x82,0x22,0x71,0xc7,0x59,0x92,0x62,0xe9,0xa9,0x2f,0x97,0x74,0x46,0xf5,
0x11,0x75,0xd5,0xf6,0x27,0x0,0xa9,0x38,0xc7,0x97,0x46,0xca,0xac,0x28,0xe9,0x6c,
0x4a,0x4e,0xba,0xd2,0x46,0x3e,0x41,0x71,0x1f,0x96,0x14,0x5b,0xa0,0xe2,0x19,0x49,
0x87,0x86,0x10,0xa8,0x21,0x9e,0x6e,0x5a,0xdf,0x0,0x74,0xce,0xf1,0x41,0x92,0x9e,
0x8c,0x14,0xdd,0x5e,0xd2,0x7,0xab,0x8f,0xa8,0xd9,0xdc,0x0,0x74,0x1,0xbc,0x48,
0x52,0x4a,0x5e,0xfa,0x4f,0x85,0x10,0x6e,0xa9,0x3a,0x9e,0x4,0xad,0x6f,0x0,0x24,
0x29,0x84,0x70,0x97,0xa4,0x94,0xf4,0xe4,0x27,0x0,0x1b,0x54,0x1d,0x4f,0x93,0xb9,
0x1,0xe8,0xee,0x74,0x49,0xb1,0x45,0x2a,0xaf,0x97,0xf4,0x8d,0x1a,0x62,0x49,0x31,
0x12,0xd,0x40,0xc7,0x57,0x25,0x4d,0x89,0x94,0x59,0x45,0xd2,0x29,0x35,0xc4,0xd2,
0x58,0x6e,0x0,0xc6,0x1,0xbc,0x4f,0xd2,0x6e,0x91,0x62,0xb,0x24,0x1d,0x18,0x42,
0xa8,0xbd,0x6f,0x7c,0x1c,0x23,0xd3,0x0,0x84,0x10,0x16,0x4a,0x3a,0x50,0xf1,0x71,
0x9,0x6f,0x2,0xf6,0xaf,0x21,0xa4,0x46,0x72,0x3,0xb0,0x14,0xc0,0x3a,0x2a,0x26,
0xfb,0xc4,0x7c,0x39,0x84,0xf0,0xc7,0xaa,0xe3,0xe9,0xc1,0xc8,0x34,0x0,0x92,0x14,
0x42,0xb8,0x41,0xd2,0x9,0x9,0x45,0xbf,0x4e,0x42,0x32,0x94,0x51,0xe4,0x6,0x60,
0xe9,0x4e,0x95,0xb4,0x76,0xa4,0xcc,0xad,0x92,0xbe,0x58,0x43,0x2c,0xbd,0x88,0x7d,
0x1b,0xa6,0x74,0x3,0xc6,0xca,0xc,0xcb,0xd3,0xce,0x22,0xc7,0x49,0xba,0x29,0x52,
0x66,0x2d,0x49,0x27,0xd6,0x10,0x4b,0xe3,0xb8,0x1,0x58,0x2,0xb0,0x87,0xa4,0x7f,
0x8d,0x14,0x1b,0x93,0xf4,0x81,0x10,0x42,0xe9,0x8b,0x64,0xc,0x68,0xa4,0x9e,0x0,
0x24,0x29,0x84,0xf0,0x8c,0x8a,0x9f,0x2,0xb,0x23,0x45,0xdf,0x45,0x49,0x4b,0xb0,
0xb7,0x89,0x1b,0x80,0xc5,0x0,0x93,0x94,0x96,0x84,0xe2,0xe4,0x10,0xc2,0x95,0x55,
0xc7,0xd3,0x87,0x91,0x6b,0x0,0x24,0x29,0x84,0xf0,0xff,0x2a,0x9e,0xda,0x62,0x4e,
0x25,0x21,0x31,0xea,0x28,0x71,0x3,0xf0,0xf7,0xbe,0x2a,0x69,0xbd,0x48,0x99,0x7b,
0x24,0x1d,0x5b,0x43,0x2c,0xfd,0x18,0xc9,0x6,0xa0,0xe3,0x93,0x92,0xee,0x8c,0x94,
0x79,0xbe,0xa4,0x2f,0xd7,0x10,0x4b,0x63,0xb8,0x1,0xe8,0x0,0x76,0x96,0x74,0x40,
0x42,0xd1,0x43,0x3a,0x89,0x2a,0x86,0xd1,0xc8,0x36,0x0,0x21,0x84,0x27,0x55,0xc,
0x10,0x8a,0xd,0xc6,0x3a,0x8,0x78,0x7d,0xd,0x21,0x35,0x82,0x1b,0x0,0x49,0xc0,
0x4,0x49,0x67,0x2a,0x9e,0xe4,0xe3,0xdc,0x10,0xc2,0xaf,0x6a,0x8,0xa9,0x5f,0x23,
0xdb,0x0,0x48,0x52,0x8,0xe1,0xb7,0x92,0xbe,0x1b,0x2b,0x26,0xe9,0xc,0x12,0x16,
0x49,0x19,0x5,0x6e,0x0,0xa,0xc7,0x49,0x8a,0x65,0xcc,0x9d,0xa9,0xe1,0x9f,0x65,
0x36,0xd2,0xd,0x40,0xc7,0x91,0x92,0x1e,0x8c,0x94,0xd9,0x40,0xd2,0x67,0xab,0xf,
0x65,0xf8,0x8d,0x7c,0x3,0x0,0x6c,0x2b,0xe9,0x88,0x84,0xa2,0x1f,0xa,0x21,0x3c,
0x5c,0x75,0x3c,0x3,0x1a,0xf9,0x6,0x20,0x84,0xf0,0x88,0xa4,0xc3,0x13,0x8a,0x1e,
0x9,0xec,0x50,0x75,0x3c,0xc3,0x6e,0xa4,0x1b,0x0,0x8a,0x65,0xae,0xcf,0x96,0xb4,
0x6c,0xa4,0xe8,0xcf,0x42,0x8,0x17,0xd5,0x10,0xd2,0xa0,0x46,0xbe,0x1,0x90,0xa4,
0xce,0x67,0xf5,0xa3,0x48,0xb1,0x65,0x24,0x9d,0x4e,0xc9,0x4b,0x9d,0x37,0xcd,0x48,
0x37,0x0,0x2a,0xe6,0xf8,0xbf,0x2c,0x52,0x66,0x8e,0xf2,0x26,0xf9,0xe8,0x85,0x1b,
0x80,0x67,0x1d,0x26,0xe9,0xd1,0x48,0x99,0x97,0x4b,0xfa,0x78,0xd,0xb1,0xc,0xad,
0x91,0x6d,0x0,0x80,0x97,0x2a,0x2d,0xb9,0xc4,0x51,0x21,0x84,0xfb,0xaa,0x8e,0xa7,
0x24,0x65,0x34,0x0,0xb1,0x91,0x80,0x8d,0x68,0x0,0x42,0x8,0xf7,0x4b,0x3a,0x3a,
0xa1,0xe8,0xb1,0xc0,0xe6,0x55,0xc7,0x33,0xac,0x46,0xb2,0x1,0xe8,0x24,0x8a,0x38,
0x5b,0x45,0xe2,0x88,0x6e,0x2e,0xeb,0x94,0x6b,0xa,0x3f,0x1,0xfc,0xbd,0xb3,0x25,
0xfd,0x4f,0xa4,0xcc,0xa,0x2a,0x92,0x87,0xc4,0x7e,0x6,0xb6,0xd2,0x48,0x36,0x0,
0x2a,0x32,0xcc,0xbe,0x3a,0x52,0x66,0xae,0xa4,0x83,0x86,0x20,0xc9,0x47,0x2f,0xdc,
0x0,0x2c,0xa6,0xf3,0xd9,0x1d,0x2c,0xe9,0x89,0x48,0xd1,0xed,0x54,0x24,0x7e,0xb1,
0xb6,0x3,0x5e,0xc,0x3c,0x9e,0xb0,0xe8,0xe4,0x91,0xb9,0x63,0xed,0x15,0xb0,0x55,
0xe4,0x98,0xa6,0x26,0xd4,0x31,0x35,0x52,0xc7,0x96,0x75,0x1c,0x4b,0x99,0x80,0x23,
0x13,0x3e,0xef,0x27,0x81,0xd,0x73,0xc7,0x6a,0x15,0x2,0x2,0xf0,0xeb,0x84,0x8b,
0xe1,0x5a,0x1a,0xf8,0x48,0x8,0x6c,0x16,0x39,0xae,0x1b,0x13,0xea,0xb8,0x31,0x52,
0xc7,0xa6,0x75,0x1c,0x4b,0x99,0x80,0x65,0x80,0xab,0x12,0x3e,0xf7,0x4b,0x81,0xd8,
0x60,0xb0,0x56,0x19,0xb5,0x9f,0x0,0x7,0x48,0xda,0x35,0x52,0x66,0x81,0x8a,0xe1,
0xbe,0xb1,0xd9,0x65,0xc3,0xc8,0x3f,0x1,0x96,0x22,0x84,0x30,0x26,0xe9,0x3,0x2a,
0x72,0x37,0x76,0xb3,0x8b,0xa4,0xf7,0x56,0x1f,0x91,0xd5,0xe,0x78,0x1e,0xf0,0x48,
0xc2,0xb7,0xc0,0x67,0x73,0xc7,0xda,0x2f,0xe0,0x85,0x91,0x63,0x9b,0x9e,0x50,0xc7,
0xf4,0x48,0x1d,0xeb,0xd7,0x71,0x2c,0x55,0x0,0x3e,0x9b,0xf0,0xf9,0xcf,0x6,0x62,
0x13,0xc2,0xac,0x69,0x80,0x1f,0x26,0x7c,0xf8,0x37,0x3,0xb1,0xf4,0xdf,0x43,0x8b,
0xa2,0x91,0xeb,0xe6,0xfe,0x84,0x3a,0xee,0x8f,0xd4,0xd1,0xd8,0xcc,0x3a,0xc0,0xa,
0xc0,0x9f,0x12,0xae,0x83,0x26,0xc,0xfa,0xb2,0x54,0xc0,0xde,0x9,0x1f,0xfa,0x42,
0x60,0xc7,0xdc,0xb1,0xe,0x2,0x58,0x33,0x72,0x8c,0xb3,0x12,0xea,0x98,0x15,0xa9,
0xa3,0xd1,0xf3,0xe9,0x81,0x6d,0x81,0x5,0x9,0xd7,0xc3,0x5e,0xb9,0x63,0xb5,0x12,
0x0,0x93,0x80,0xfb,0x12,0x3e,0xf0,0xaf,0xe5,0x8e,0x75,0x50,0xc0,0xaa,0x91,0x63,
0x8c,0x4e,0x63,0x26,0xde,0x43,0xb2,0x6a,0x1d,0xc7,0x52,0x25,0xe0,0x6b,0x9,0xd7,
0xc3,0xfd,0x34,0xbc,0xb1,0x33,0x49,0xc0,0xb7,0x13,0x3e,0xec,0xbb,0x5a,0x72,0x61,
0xaf,0x18,0x39,0xce,0xd8,0x4b,0x30,0x1,0xcf,0x44,0xea,0x68,0xfc,0xd8,0x79,0x60,
0x2,0x70,0x7b,0xc2,0x75,0xd1,0xa4,0x41,0x60,0xb6,0x24,0x60,0x17,0x60,0x2c,0xe1,
0x83,0x8e,0xf5,0xc,0x34,0x2,0x45,0x37,0x67,0xb7,0xe3,0x1d,0xa3,0x4b,0x37,0xd7,
0xa0,0x7f,0xdf,0x24,0xc0,0xce,0x9,0xd7,0xc6,0x58,0x5b,0xae,0x8d,0x91,0x43,0xd1,
0xca,0xdf,0x91,0x70,0xf3,0xb7,0xaa,0x95,0x7,0xe6,0x45,0x8e,0x77,0xdc,0xb1,0xfe,
0x14,0x2f,0xc9,0xba,0x89,0x3e,0x41,0x34,0x9,0x70,0x76,0xc2,0xf5,0x71,0x17,0x2d,
0x78,0x3a,0x1c,0x39,0xc0,0x89,0x9,0x1f,0x6e,0xeb,0x7e,0xe7,0x1,0x4f,0x44,0x8e,
0x79,0xdc,0x4c,0x38,0x94,0xf0,0xe,0xa1,0x49,0x28,0xde,0xf,0xfd,0x35,0xe1,0x3a,
0x69,0xfc,0xfb,0xa1,0x91,0x2,0x6c,0xc7,0x88,0xbe,0xe9,0x25,0x3e,0xd6,0x61,0xdc,
0x6,0x8f,0x12,0x7a,0x11,0x9a,0x6,0x78,0x4b,0xc2,0x75,0xd2,0xf8,0x1e,0xa2,0x91,
0x41,0xf1,0x22,0xec,0xcf,0x9,0x1f,0x6a,0x2b,0xfb,0x7a,0x81,0x7,0x22,0xc7,0x3d,
0x6e,0x3f,0x3e,0x25,0x8c,0x23,0x68,0x22,0xe0,0xa2,0x84,0xeb,0xa5,0xd1,0x63,0x44,
0xc6,0xd3,0xc6,0xa1,0xc0,0xc7,0x4a,0x8a,0xcd,0xef,0x9e,0xa3,0x62,0x46,0x60,0x1b,
0xd,0x32,0x1c,0xb8,0x75,0xc3,0x80,0x13,0x1d,0x2e,0xe9,0x91,0x48,0x99,0xd4,0xfc,
0x11,0x96,0xb,0xf0,0x72,0xe2,0xdd,0x58,0x50,0x2c,0xfc,0xd9,0x4a,0xc4,0xbb,0xb7,
0xc6,0x4d,0x7e,0xa,0xbc,0x24,0xf2,0xb7,0xb7,0xd5,0x79,0x2c,0x75,0x2,0xde,0x9f,
0x70,0xdd,0xcc,0x7,0xb6,0xca,0x1d,0xab,0x2d,0x5,0xb0,0x2c,0xf0,0xfb,0x84,0xf,
0xb1,0xd5,0x33,0xbe,0x80,0x9b,0x22,0xc7,0x3f,0xee,0x6c,0x3e,0x4a,0x98,0x4d,0xd8,
0x64,0xc0,0xaf,0x12,0xae,0x9f,0x46,0xce,0x14,0x1d,0x4f,0x9b,0x7e,0x2,0x1c,0x29,
0xe9,0x55,0x91,0x32,0x73,0x25,0x1d,0xdc,0xb0,0x24,0x1f,0xbd,0xf2,0x4f,0x80,0xfe,
0x1d,0xa2,0x78,0xf2,0x90,0x6d,0x25,0x7d,0xa4,0x86,0x58,0x6a,0xd1,0x8a,0x6,0x0,
0xd8,0x40,0xd2,0x67,0x12,0x8a,0x1e,0x13,0x42,0xb8,0xa3,0xea,0x78,0x32,0x73,0x3,
0xd0,0xa7,0x10,0xc2,0x74,0xa5,0x2d,0xfb,0xf6,0x5,0xe0,0x25,0x55,0xc7,0x53,0x87,
0xc6,0x37,0x0,0x9d,0xc7,0xf9,0x33,0x24,0xc5,0x56,0x7a,0xb9,0x56,0xd2,0xc9,0xd5,
0x47,0x94,0x9d,0x1b,0x80,0xc1,0x9c,0x24,0x29,0xb6,0xf0,0xeb,0x4,0x49,0x67,0xb6,
0xe1,0xa7,0x64,0xe3,0x1b,0x0,0x15,0xeb,0xc1,0xc5,0xd6,0x7a,0x9b,0x27,0xe9,0xc0,
0x86,0x26,0xf9,0xe8,0x95,0x1b,0x80,0x1,0x2c,0x96,0x3c,0x24,0xb6,0xf4,0xfb,0xeb,
0x94,0xb6,0x96,0xe4,0x50,0x6b,0x74,0x3,0x0,0xa4,0xae,0xf6,0xfa,0xc5,0x10,0x42,
0xab,0x5f,0x60,0x2d,0xc6,0xd,0xc0,0x80,0x42,0x8,0xb7,0x4a,0xfa,0x52,0x42,0xd1,
0xaf,0xd2,0xf0,0xe4,0x21,0x8d,0x6e,0x0,0x54,0xac,0x9,0x1f,0x1b,0xca,0xfb,0x27,
0x8d,0xd6,0x92,0xd0,0x6e,0x0,0xca,0x71,0xbc,0xa4,0x58,0x12,0xd5,0x49,0x92,0x4e,
0xab,0x21,0x96,0xca,0x34,0xb6,0x1,0x0,0xde,0x2d,0xe9,0x6d,0x91,0x62,0x63,0x2a,
0xf2,0xfb,0x8d,0xd2,0x85,0x1b,0x7b,0x74,0x9d,0xd4,0x65,0xdb,0xc4,0xc8,0xdf,0xb6,
0x6a,0x32,0x50,0x37,0x21,0x84,0x5,0x92,0xe,0x54,0x91,0x23,0xb2,0x9b,0x3d,0x80,
0xbd,0x6b,0x8,0xa9,0x12,0x8d,0x6c,0x0,0x80,0xb5,0x24,0x7d,0x23,0xa1,0xe8,0xd7,
0x42,0x8,0xd7,0x54,0x1d,0xcf,0x90,0xf9,0x6b,0x64,0xfb,0xf6,0x5d,0xb6,0xc5,0x16,
0xcb,0x8c,0xd5,0xdd,0x2a,0x21,0x84,0xa9,0x4a,0xbb,0xce,0x4e,0x5,0xd6,0xa9,0x3a,
0x1e,0xeb,0x0,0xce,0x4b,0x18,0xb0,0x71,0x27,0x23,0xb8,0x6,0x3c,0x70,0x44,0xe4,
0xbc,0xcc,0x5,0x36,0x5b,0xca,0xdf,0x6d,0xe,0x3c,0x15,0xf9,0xdb,0x94,0x55,0x77,
0x5b,0x5,0x58,0x19,0xb8,0x2d,0xe1,0x7a,0xfb,0x4e,0xee,0x58,0x47,0x2,0xf0,0xa6,
0x84,0xf,0x63,0xc,0x88,0xf5,0xc,0xb4,0x12,0xb0,0x45,0xc2,0xf9,0x99,0x9,0x1c,
0x0,0xac,0xdb,0xf9,0x77,0x60,0xe7,0xbf,0xc5,0xc4,0x16,0x52,0x6d,0x25,0x60,0x27,
0xd2,0x12,0xcb,0xbc,0x31,0x77,0xac,0xad,0x6,0xac,0x42,0xf1,0xcd,0x1e,0x73,0x46,
0xee,0x58,0x73,0x22,0x3e,0x1c,0xb8,0x1f,0x37,0xe7,0x3e,0xae,0x9c,0x80,0x33,0x12,
0xce,0xd1,0x74,0x60,0xb5,0xdc,0xb1,0xb6,0x16,0x70,0x72,0xc2,0x87,0x30,0x83,0x96,
0x25,0xf9,0xe8,0x15,0x70,0xf0,0x0,0x37,0xfa,0x78,0xe,0xca,0x7d,0x5c,0x39,0x1,
0x13,0x81,0x7b,0x13,0xce,0xd3,0x89,0xb9,0x63,0x6d,0x25,0x60,0x7,0x8a,0xc4,0xc,
0x31,0x6f,0xcf,0x1d,0x6b,0x6e,0x14,0x13,0xa3,0xa6,0xf5,0x7f,0xaf,0xff,0x83,0xeb,
0x69,0xd1,0x4,0x98,0x7e,0x1,0xbb,0x27,0x9c,0xab,0x85,0xc0,0x6b,0x72,0xc7,0xda,
0x2a,0x14,0x49,0x3e,0x62,0x6b,0xd6,0x1,0x5c,0x98,0x3b,0xd6,0x61,0x41,0x31,0xb3,
0x6f,0x76,0xdf,0xb7,0xfc,0xb3,0x1e,0x3,0x5e,0x9e,0xfb,0x78,0x86,0x5,0x70,0x61,
0xc2,0x39,0xbb,0x85,0x16,0x26,0xf,0xc9,0x6,0x38,0x3e,0xe1,0xa4,0xcf,0xa4,0xc1,
0xab,0xd6,0x54,0x1,0x78,0x23,0xf1,0x37,0xfb,0xdd,0xcc,0x5,0x76,0xcb,0x7d,0x1c,
0xc3,0x4,0x58,0x1b,0x78,0x28,0xe1,0xdc,0x7d,0x21,0x77,0xac,0xad,0x0,0x6c,0x49,
0x3c,0xd3,0x2d,0xc0,0xfe,0xb9,0x63,0x1d,0x46,0xc0,0xd6,0xc0,0xdd,0x7d,0xdc,0xfc,
0xf7,0x2,0xdb,0xe6,0x8e,0x7f,0x18,0x1,0xfb,0x27,0x9c,0xbf,0xf9,0xc0,0x2b,0x72,
0xc7,0xda,0x68,0xc0,0x72,0xc0,0x94,0x84,0x93,0xfd,0xcb,0xdc,0xb1,0xe,0x33,0x60,
0xd,0xe0,0x4,0x8a,0x6f,0xf4,0x98,0x27,0x81,0x2f,0x1,0xab,0xe7,0x8e,0x7b,0x98,
0x1,0x97,0x24,0x9c,0xcb,0xa9,0x74,0x49,0xc3,0x6e,0x11,0xc0,0x27,0x12,0x4e,0xf2,
0x13,0xc0,0x86,0xb9,0x63,0x6d,0x2,0x60,0x1d,0x8a,0x3e,0xff,0x8b,0x29,0xde,0xa9,
0x3c,0xd6,0xf9,0x77,0x63,0xe7,0xbf,0x1d,0x0,0xac,0x9d,0x3b,0xce,0x26,0xa0,0x58,
0x89,0xf9,0xb1,0x84,0xeb,0xf3,0x63,0xb9,0x63,0x6d,0x24,0x60,0x63,0xd2,0xbe,0xb1,
0x3e,0x9c,0x3b,0x56,0x1b,0x4d,0xc0,0x87,0x13,0xae,0xcf,0xa7,0x81,0x97,0xe6,0x8e,
0xb5,0x51,0x80,0x65,0x80,0xcb,0x13,0x4e,0xee,0x35,0x40,0x23,0xe7,0x33,0x58,0xf3,
0x75,0xae,0xd3,0x2b,0x12,0xae,0xd3,0xcb,0x68,0x41,0xf2,0x90,0xda,0x0,0x1f,0x4a,
0x6c,0x59,0xff,0x61,0x4c,0xbb,0x59,0x9d,0x28,0x9e,0x54,0x53,0x7a,0x5a,0xe,0xc9,
0x1d,0x6b,0x23,0x50,0x8c,0x4d,0x7f,0x34,0xe1,0x84,0x1e,0x93,0x3b,0x56,0x33,0x49,
0x2,0x8e,0x49,0xb8,0x5e,0xe7,0x0,0xeb,0xe7,0x8e,0x75,0xe8,0x1,0x3f,0x49,0x38,
0x99,0xd3,0xf0,0xdb,0x55,0x1b,0x12,0x14,0xbd,0x55,0xd7,0x25,0x5c,0xb7,0x3f,0xcf,
0x1d,0xeb,0x50,0x3,0xf6,0x4b,0x38,0x89,0xf3,0x81,0x57,0xe6,0x8e,0xd5,0x6c,0x71,
0xa4,0x8f,0x57,0x79,0x77,0xee,0x58,0x87,0x12,0xc5,0x8,0xab,0x7,0x13,0x4e,0xe0,
0x28,0xa5,0xf7,0xb2,0x6,0x1,0xbe,0x9c,0x70,0xfd,0x3e,0xc,0x3c,0x27,0x77,0xac,
0x43,0x7,0xf8,0x5e,0xc2,0xc9,0xfb,0xb,0xb0,0x72,0xee,0x58,0xcd,0x96,0x86,0x62,
0xce,0x4a,0xca,0x54,0xec,0xf3,0x72,0xc7,0xba,0xc8,0x50,0x74,0x4d,0x0,0x6f,0x96,
0x14,0xfb,0x7d,0x84,0xa4,0x37,0x84,0x10,0x2e,0xad,0x21,0xa4,0xd6,0xa2,0xe8,0x36,
0xdd,0x40,0xd2,0x46,0x7a,0x36,0x3f,0xe0,0x6c,0x49,0x77,0x48,0xba,0xab,0xe5,0xab,
0x26,0x55,0xe,0xd8,0x41,0xc5,0xba,0x2,0xb1,0xee,0xe9,0x3d,0x43,0x8,0x97,0xd4,
0x10,0xd2,0x70,0xa3,0x98,0x67,0x7d,0x4f,0x42,0xab,0xf9,0xad,0xdc,0xb1,0x36,0x15,
0x45,0x7f,0xf5,0x6e,0xc0,0x69,0x14,0xf9,0x12,0xc6,0x73,0x1f,0xf0,0x2d,0x60,0x57,
0xdc,0x6f,0xdd,0x37,0xe0,0xd4,0x84,0xeb,0xf9,0x3e,0x3c,0xdc,0x5a,0xea,0x5c,0x94,
0x3e,0x59,0x15,0x1,0x5e,0x4f,0xda,0x1b,0xea,0x25,0xfd,0x19,0xd8,0x23,0x77,0xfc,
0x4d,0x44,0xfa,0x97,0xda,0x29,0xb9,0x63,0xcd,0x8a,0xf4,0x5c,0x6b,0x7b,0xe6,0x8e,
0xb5,0x69,0x28,0xd2,0xa7,0x5d,0xd4,0xc7,0x8d,0xbf,0xa4,0xef,0x33,0x82,0xc9,0x55,
0x7,0x45,0x5a,0xee,0xca,0x85,0xc0,0x6b,0x73,0xc7,0x9a,0x5,0xe9,0x2f,0x4c,0xce,
0xcf,0x1d,0x6b,0xd3,0x0,0xeb,0x91,0x36,0x8b,0x32,0xd5,0x34,0xe0,0x45,0xb9,0x8f,
0xab,0x69,0x80,0xf3,0x13,0xce,0xed,0xad,0x8c,0xe2,0x8b,0x6d,0x8a,0xe9,0xa9,0x31,
0x33,0x71,0x97,0x49,0x4f,0x80,0xb5,0x80,0xdb,0xfb,0xbe,0xd5,0xc7,0x77,0x17,0xce,
0x7d,0xdf,0x93,0xce,0x67,0x91,0xd2,0xb5,0x7d,0x7c,0xee,0x58,0x6b,0x5,0x6c,0x4a,
0x31,0xa0,0x27,0x66,0xbf,0xdc,0xb1,0x36,0x9,0xb0,0x3c,0xf0,0xdb,0x7e,0xef,0xf0,
0x4,0x57,0x0,0xb1,0xe5,0xc3,0x6c,0x31,0xc0,0xbe,0x9,0xe7,0x75,0x3e,0xa3,0x34,
0x63,0x10,0xf8,0x79,0xc2,0x49,0xf9,0x45,0xee,0x38,0x9b,0x6,0xf8,0xe2,0x0,0x37,
0x77,0xaa,0xcf,0xe5,0x3e,0xce,0xa6,0x1,0x7e,0x9c,0x70,0x5e,0x47,0xa3,0x4b,0x10,
0xd8,0x25,0xe1,0x64,0x78,0xe2,0x44,0x8f,0x28,0x7e,0xf7,0xa7,0xe4,0x4f,0x58,0xe4,
0x6,0x8a,0x79,0x17,0x3f,0xe9,0xfc,0xef,0x54,0x4f,0x50,0xac,0xca,0x6c,0x89,0x48,
0x9f,0xe0,0xd6,0xfe,0xc5,0x6c,0x80,0x3f,0x24,0x9c,0x88,0xf,0xe6,0x8e,0xb3,0x69,
0x48,0x5b,0xb8,0x62,0xc,0x38,0x87,0xa5,0x64,0x50,0x2,0x36,0x4,0xbe,0x4d,0x5a,
0xaf,0x8c,0xc7,0x64,0xf4,0x8,0x38,0x34,0xe1,0xbc,0xb6,0x7b,0x1d,0x4b,0x60,0x9b,
0x84,0x93,0x70,0x15,0x4e,0xf2,0xd1,0x13,0x8a,0x1e,0x95,0x58,0x7a,0xaa,0xf9,0xc0,
0x3e,0x9,0x75,0xed,0x43,0xfc,0xfd,0xcc,0x1c,0xfc,0x2e,0xa0,0x27,0x40,0x0,0xae,
0x4c,0xb8,0xfe,0xb7,0xcc,0x1d,0x6b,0x65,0x88,0xf,0xfa,0x19,0xc3,0x99,0x68,0x7b,
0x6,0xbc,0x39,0xe1,0xc2,0x3a,0xa2,0x87,0xfa,0x62,0xb,0x8c,0x82,0xd3,0x85,0xf7,
0x8c,0x22,0x43,0x73,0x6c,0x71,0x9b,0x93,0x72,0xc7,0x59,0x9,0x60,0x2,0xc5,0x37,
0x47,0x37,0x43,0x33,0x49,0xa2,0x49,0x80,0x53,0x22,0xe7,0xf5,0x7a,0x7a,0x78,0xaa,
0xa2,0x18,0x3a,0x7c,0x7d,0xa4,0xce,0x6f,0x56,0x79,0x4c,0x6d,0x5,0x4c,0x8e,0x9c,
0xd7,0x47,0xa9,0x71,0x5c,0x40,0x9d,0x8f,0xda,0xaf,0x95,0x34,0x31,0x52,0x26,0x65,
0x2d,0x76,0xfb,0x47,0xb1,0x95,0x7b,0xce,0xa,0x21,0x8c,0xa5,0x56,0xd6,0x29,0x7b,
0x76,0xa4,0xd8,0x48,0xae,0x14,0x5c,0x82,0xd8,0x35,0xbe,0xba,0xa4,0x1d,0xea,0x8,
0x44,0xaa,0xb7,0x1,0xd8,0x29,0xb2,0x7d,0x5a,0x8,0xe1,0xba,0x5a,0x22,0x69,0x9f,
0x75,0x23,0xdb,0xaf,0xea,0xa3,0xce,0xdf,0x45,0xb6,0xbf,0xa0,0x8f,0x3a,0x47,0x5e,
0x8,0x61,0x8a,0xa4,0xa9,0x91,0x62,0xb1,0x7b,0xa5,0x34,0x75,0x36,0x0,0xff,0x1c,
0xd9,0x7e,0x41,0x2d,0x51,0xb4,0xd3,0x84,0xc8,0xf6,0x87,0xfb,0xa8,0x33,0xf6,0x37,
0x9e,0x1f,0xd0,0xbf,0x1f,0x44,0xb6,0xb7,0xab,0x1,0xe8,0xfc,0xfe,0x8c,0xa5,0xf1,
0xba,0xbc,0x8e,0x58,0x5a,0xea,0xa9,0xc8,0xf6,0x35,0xfb,0xa8,0x33,0xf6,0x37,0xb1,
0x7d,0xda,0xf8,0x62,0xd7,0xfa,0xab,0xa8,0x69,0x3a,0x76,0x5d,0x4f,0x0,0xeb,0x48,
0x5a,0xb1,0xcb,0xf6,0xa7,0x24,0xf9,0xf1,0xbf,0x7f,0xf,0x46,0xb6,0xf7,0xd3,0xb3,
0xb2,0x5d,0x64,0xfb,0x3,0x7d,0xd4,0x69,0x85,0x29,0x92,0x9e,0xee,0xb2,0x7d,0x82,
0xfa,0x6b,0xb4,0x7b,0x56,0x57,0x3,0xb0,0x5e,0x64,0xfb,0x3d,0x21,0x84,0xf9,0xb5,
0x44,0xd2,0x4e,0x37,0x46,0xb6,0xbf,0xaf,0x8f,0x3a,0x63,0x7f,0x13,0xdb,0xa7,0x8d,
0xa3,0x73,0xad,0xdf,0x1b,0x29,0x56,0xcb,0x3b,0x96,0xba,0x1a,0x80,0xd8,0x4b,0xaa,
0x19,0xb5,0x44,0xd1,0x5e,0xb1,0xc5,0x51,0x77,0x4,0xf6,0x4d,0xad,0xac,0x53,0x76,
0xc7,0x1,0xf7,0x69,0xdd,0xdd,0x17,0xd9,0x1e,0xfb,0xd2,0x2c,0x45,0x5d,0xd,0x40,
0x2c,0x87,0xff,0x9c,0x5a,0xa2,0x68,0xaf,0x5f,0x2b,0xfe,0x9b,0xfc,0x4c,0xe0,0x75,
0xb1,0x8a,0x3a,0x65,0xce,0x8c,0x14,0x9b,0x2b,0xe9,0x37,0x49,0x91,0xd9,0x78,0x66,
0x47,0xb6,0xd7,0xb2,0xee,0x45,0x5d,0xd,0xc0,0xbc,0xc8,0x76,0xf,0x2b,0x1d,0x40,
0x8,0xe1,0x49,0x49,0x3f,0x8a,0x14,0x9b,0x20,0xe9,0x37,0xc0,0xe7,0x81,0xd5,0x96,
0xdc,0x8,0xac,0x6,0x7c,0x5e,0xc5,0x8d,0x1d,0xeb,0x55,0xb8,0x38,0x84,0x30,0xb7,
0xbf,0x68,0xad,0x63,0xa5,0xc8,0xf6,0x6e,0xef,0x8,0x4a,0xb3,0x5c,0x1d,0x3b,0x51,
0xfc,0x60,0x46,0x2f,0x23,0x4a,0xf9,0x3e,0x23,0x69,0x6f,0x75,0xff,0xe6,0x58,0x5e,
0xd2,0xa7,0x24,0x1d,0x5,0x5c,0x26,0xe9,0xb6,0xce,0x7f,0xdf,0x58,0x45,0xd7,0x53,
0xca,0xe7,0x30,0xaf,0xb3,0x2f,0x1b,0x4c,0xac,0x1,0x78,0xa6,0x96,0x28,0xea,0x0,
0x6c,0x17,0x19,0xfe,0x78,0x77,0xee,0x18,0xdb,0x0,0x38,0x39,0x72,0x9e,0xcb,0xe0,
0xd1,0x9a,0x25,0x0,0xee,0x8e,0x9c,0xe7,0x6d,0x72,0xc7,0x58,0x1a,0x60,0x52,0xe4,
0x60,0xc7,0x58,0xca,0x63,0xa9,0xf5,0x6,0x58,0x95,0x22,0x7f,0x5f,0x55,0xa6,0xe2,
0x4,0xa1,0x3,0xeb,0x7c,0x4e,0xdd,0xa6,0x5d,0xd7,0x76,0x3f,0xd4,0xf2,0xe,0x20,
0x84,0x30,0x47,0xdd,0xdf,0x7a,0x6,0x49,0xaf,0xa8,0x23,0x96,0x36,0xb,0x21,0x3c,
0x21,0xe9,0xad,0x92,0x1e,0xaa,0xa0,0xfa,0x99,0x92,0xf6,0xea,0xbc,0x6f,0xb0,0xc1,
0x6c,0xa3,0xee,0x8b,0xf2,0xdc,0x1b,0x42,0x78,0xbc,0x8e,0x40,0xea,0x1c,0xa,0x7c,
0x53,0x64,0xfb,0x5b,0x6b,0x89,0xa2,0xe5,0x42,0x8,0xd3,0x25,0xbd,0x41,0xd2,0xf4,
0x12,0xab,0xbd,0x5b,0xd2,0x2e,0x21,0x84,0xbb,0x4a,0xac,0x73,0x94,0xc5,0xd2,0xdc,
0xd7,0x36,0xc6,0xa2,0xce,0x6,0x20,0x36,0xb9,0x64,0x4f,0xbc,0x1a,0x4d,0x29,0x42,
0x8,0x37,0xa8,0x18,0xfd,0x77,0x65,0x9,0xd5,0x5d,0x2e,0x69,0xdb,0x10,0xc2,0x9f,
0x4a,0xa8,0x6b,0xe4,0x75,0xae,0xf1,0xd8,0x97,0x5d,0x3f,0x93,0xb7,0x86,0x1b,0xb0,
0x45,0xc2,0x6f,0xcc,0xdd,0x73,0xc7,0xd9,0x26,0x14,0xf3,0xfa,0xf7,0x6,0xee,0xec,
0xe3,0xf7,0xfe,0xbd,0xc0,0xc1,0xc0,0xb2,0xb9,0x8f,0xa3,0x4d,0x80,0xdd,0x13,0xce,
0xfd,0xe6,0xb9,0xe3,0xac,0x44,0xc2,0x85,0x78,0x45,0xee,0x18,0xdb,0x8,0x58,0x19,
0xf8,0x0,0xf0,0x33,0xe0,0xa9,0x2e,0xe7,0xff,0x29,0xe0,0xa7,0xc0,0x81,0x40,0xac,
0x9b,0xca,0xfa,0x40,0x91,0x5a,0xbd,0x9b,0x3b,0xea,0x8c,0xa7,0xd6,0x47,0x6e,0xe0,
0xbf,0x25,0x7d,0x34,0x52,0x6c,0xf7,0x10,0x82,0x53,0x82,0x57,0x4,0x58,0x55,0xc5,
0xcc,0xcc,0xd,0x25,0xad,0xd5,0xf9,0xcf,0x33,0x25,0xdd,0x25,0x69,0x4a,0xe7,0x45,
0xa2,0x55,0x80,0xb4,0x55,0xb0,0xbf,0x12,0x42,0x38,0xba,0x8e,0x78,0x6a,0x7,0xac,
0xf,0xcc,0x8b,0xb4,0x80,0xd3,0x3b,0x17,0xa9,0x59,0x6b,0x50,0xa4,0xc4,0x8b,0x3d,
0x1,0xcf,0xa3,0xed,0x4b,0xb0,0x11,0xcf,0x89,0x6,0x70,0x6a,0xee,0x38,0xcd,0xca,
0x44,0xda,0x2a,0xd8,0x93,0x73,0xc7,0x59,0x39,0x8a,0x97,0x81,0x29,0xb9,0xe7,0xbd,
0x36,0x80,0xb5,0x2,0x70,0x58,0xc2,0xf5,0x3e,0x46,0x9b,0x53,0x82,0x2f,0x8e,0x62,
0x71,0x8a,0x98,0xf9,0xc0,0x3b,0x72,0xc7,0x6a,0x36,0x8,0x8a,0x5e,0x98,0x94,0x75,
0x30,0xbf,0x9d,0x3b,0xd6,0xda,0x0,0x6b,0x92,0xb6,0x6a,0xea,0x2,0xe0,0x90,0xdc,
0xf1,0x9a,0xf5,0x3,0x78,0x7f,0xe2,0xcd,0xff,0x30,0xb0,0x76,0xee,0x78,0x6b,0x5,
0xec,0x97,0x70,0x62,0x16,0x39,0x1d,0xbf,0x18,0xb4,0x86,0xa0,0x98,0x5a,0x7d,0x66,
0xf,0xd7,0x77,0x74,0xc5,0xa6,0x56,0x2,0xce,0xeb,0xe1,0x24,0xdd,0x8e,0x7,0xa,
0xd9,0x90,0x3,0xde,0x2,0xdc,0xd1,0xc3,0x75,0x7d,0x6e,0xee,0x98,0xb3,0x1,0x56,
0x2,0xae,0xee,0xe1,0x64,0x1,0x5c,0xb,0xbc,0xd,0xaf,0x4d,0x67,0x43,0x2,0x58,
0x1,0x78,0x3b,0xf0,0xfb,0x1e,0xaf,0xe5,0x2b,0x81,0x6e,0xc9,0x72,0x2b,0x97,0x7d,
0xec,0x3d,0xf0,0x5c,0x49,0xd7,0x4a,0xea,0xb5,0xff,0xf3,0x11,0x49,0x17,0xab,0x18,
0xab,0x7e,0x9d,0xa4,0x5b,0x7b,0x59,0xfd,0xc6,0xac,0x5f,0x14,0x69,0xee,0x37,0x51,
0x31,0xab,0xef,0x75,0x92,0xf6,0x92,0xb4,0x46,0x8f,0xd5,0xdc,0x2d,0x69,0xbb,0x10,
0x42,0x15,0x33,0x37,0x93,0x65,0x6f,0x0,0x24,0x9,0x78,0xb1,0x8a,0xbc,0x76,0x1b,
0xf,0x50,0xcd,0x7c,0x15,0x79,0xd6,0x66,0x4b,0x7a,0xac,0x84,0xb0,0xcc,0x96,0x34,
0x51,0xc5,0xd2,0x5d,0xab,0x6b,0xb0,0x9c,0x7d,0xb7,0x4a,0xda,0xad,0x33,0x73,0x33,
0xab,0xa1,0x68,0x0,0xa4,0xa2,0x67,0x40,0xc5,0x30,0xc9,0xed,0x73,0xc7,0x62,0x56,
0xa1,0x29,0x92,0xde,0x1c,0x42,0xe8,0x67,0xb5,0xa6,0xd2,0xd5,0x39,0x1d,0xb8,0xab,
0x10,0xc2,0x23,0x92,0x76,0x95,0xf4,0xfd,0xdc,0xb1,0x98,0x55,0xe4,0x2,0x49,0x3b,
0xf,0xcb,0xcd,0x2f,0xd,0x51,0x3,0x20,0x49,0x21,0x84,0xc7,0x43,0x8,0xef,0x96,
0xf4,0x4e,0x49,0xb3,0x72,0xc7,0x63,0x56,0x92,0x39,0x92,0xfe,0x2d,0x84,0xb0,0xef,
0xb0,0x4d,0xb6,0x1a,0xaa,0x6,0x60,0x91,0x10,0xc2,0x45,0x92,0xb6,0x92,0x34,0x59,
0xd2,0xc2,0xcc,0xe1,0x98,0xf5,0x6b,0xa1,0xa4,0xf3,0x24,0x6d,0x1e,0x42,0x38,0x2f,
0x77,0x30,0x4b,0x33,0x34,0xef,0x0,0xc6,0x3,0x6c,0x28,0xe9,0xe3,0x92,0xe,0x94,
0xe4,0xe4,0x14,0xd6,0x4,0x63,0x92,0x7e,0x28,0xe9,0xd3,0x21,0x84,0x5b,0x72,0x7,
0xd3,0xcd,0xd0,0x37,0x0,0x8b,0x0,0x2f,0x90,0xf4,0xe,0x15,0xb9,0xef,0x5f,0xad,
0x6,0xc5,0x6e,0x23,0xe3,0x26,0x49,0x17,0x49,0xfa,0x6e,0x8,0xe1,0xce,0xdc,0xc1,
0xa4,0x68,0xe4,0x4d,0x4,0x6c,0xa4,0x62,0xed,0xba,0x6d,0x54,0x24,0xb7,0xd8,0x44,
0xcf,0x26,0xb7,0x30,0xab,0xc3,0x2c,0x49,0xb7,0xa8,0x18,0x83,0x32,0x45,0xd2,0xd5,
0x21,0x84,0x5a,0xb3,0xf9,0x94,0xa1,0x91,0xd,0xc0,0xd2,0x50,0x24,0x5b,0x5c,0xa3,
0xf3,0x6f,0xf5,0xcc,0xe1,0x58,0x3b,0xcd,0x96,0xf4,0xa8,0xa4,0x47,0x43,0x8,0xe4,
0xe,0xc6,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,
0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,
0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,
0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,
0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,
0xcc,0xcc,0xcc,0xcc,0xcc,0x62,0xfe,0x6,0xd6,0x1,0xf1,0x80,0xed,0x3a,0xa5,0x7d,
0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
// D:/QT/Projects/RRJClient/resource/Icons/762.gif // D:/QT/Projects/RRJClient/resource/Icons/762.gif
0x0,0x0,0x26,0x72, 0x0,0x0,0x26,0x72,
0x47, 0x47,
@@ -327694,6 +328084,11 @@ static const unsigned char qt_resource_name[] = {
0x0,0x4c, 0x0,0x4c,
0x0,0x69,0x0,0x62,0x0,0x65,0x0,0x72,0x0,0x61,0x0,0x74,0x0,0x69,0x0,0x6f,0x0,0x6e,0x0,0x53,0x0,0x61,0x0,0x6e,0x0,0x73,0x0,0x2d,0x0,0x52,0x0,0x65, 0x0,0x69,0x0,0x62,0x0,0x65,0x0,0x72,0x0,0x61,0x0,0x74,0x0,0x69,0x0,0x6f,0x0,0x6e,0x0,0x53,0x0,0x61,0x0,0x6e,0x0,0x73,0x0,0x2d,0x0,0x52,0x0,0x65,
0x0,0x67,0x0,0x75,0x0,0x6c,0x0,0x61,0x0,0x72,0x0,0x2e,0x0,0x74,0x0,0x74,0x0,0x66, 0x0,0x67,0x0,0x75,0x0,0x6c,0x0,0x61,0x0,0x72,0x0,0x2e,0x0,0x74,0x0,0x74,0x0,0x66,
// caution.png
0x0,0xb,
0x0,0xb2,0x4e,0x27,
0x0,0x63,
0x0,0x61,0x0,0x75,0x0,0x74,0x0,0x69,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
// 762.gif // 762.gif
0x0,0x7, 0x0,0x7,
0xa,0x95,0x4d,0x96, 0xa,0x95,0x4d,0x96,
@@ -327745,60 +328140,63 @@ static const unsigned char qt_resource_struct[] = {
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/style.css // :/style.css
0x0,0x0,0x0,0x16,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x16,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
0x0,0x0,0x1,0x93,0xf7,0xbd,0xf,0xce, 0x0,0x0,0x1,0x93,0xf9,0x25,0xe1,0x94,
// :/resource // :/resource
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x3, 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x3,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/resource/Fonts // :/resource/Fonts
0x0,0x0,0x0,0xe6,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x11, 0x0,0x0,0x0,0xe6,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x12,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/resource/Icons // :/resource/Icons
0x0,0x0,0x0,0xd6,0x0,0x2,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x9, 0x0,0x0,0x0,0xd6,0x0,0x2,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x9,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/resource/SSJ-100Dark.png // :/resource/SSJ-100Dark.png
0x0,0x0,0x0,0xb2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3c,0x49,0x3a, 0x0,0x0,0x0,0xb2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3c,0x49,0x58,
0x0,0x0,0x1,0x92,0x4d,0x8e,0xd2,0xb0, 0x0,0x0,0x1,0x92,0x4d,0x8e,0xd2,0xb0,
// :/resource/SSJ-100.png // :/resource/SSJ-100.png
0x0,0x0,0x0,0x96,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2f,0xcc,0x8c, 0x0,0x0,0x0,0x96,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2f,0xcc,0xaa,
0x0,0x0,0x1,0x92,0x4d,0x0,0xce,0xbb, 0x0,0x0,0x1,0x92,0x4d,0x0,0xce,0xbb,
// :/resource/SSJ_backgroundDarkSM.png // :/resource/SSJ_backgroundDarkSM.png
0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x22,0x2c,0xed, 0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x22,0x2d,0xb,
0x0,0x0,0x1,0x93,0xf7,0x6c,0xa6,0xcf, 0x0,0x0,0x1,0x93,0xf7,0x6c,0xa6,0xcf,
// :/resource/SSJ_backgroundDark.png // :/resource/SSJ_backgroundDark.png
0x0,0x0,0x0,0x2e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2,0xba, 0x0,0x0,0x0,0x2e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2,0xd8,
0x0,0x0,0x1,0x93,0xf7,0x67,0xfd,0xc6, 0x0,0x0,0x1,0x93,0xf7,0x67,0xfd,0xc6,
// :/resource/Icons/caution.png
0x0,0x0,0x1,0x90,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x4,0xe5,
0x0,0x0,0x1,0x93,0xf8,0xc4,0xe,0x70,
// :/resource/Icons/setting.png // :/resource/Icons/setting.png
0x0,0x0,0x2,0x18,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x8d,0xb9, 0x0,0x0,0x2,0x34,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0xa5,0xe8,
0x0,0x0,0x1,0x92,0x47,0x9,0xdd,0xaa, 0x0,0x0,0x1,0x92,0x47,0x9,0xdd,0xaa,
// :/resource/Icons/checked.png // :/resource/Icons/checked.png
0x0,0x0,0x2,0x74,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0xeb,0x26, 0x0,0x0,0x2,0x90,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x50,0x3,0x55,
0x0,0x0,0x1,0x92,0x51,0xaa,0xfa,0x67, 0x0,0x0,0x1,0x92,0x51,0xaa,0xfa,0x67,
// :/resource/Icons/settingWhite.png // :/resource/Icons/settingWhite.png
0x0,0x0,0x1,0xc6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x41,0xb2, 0x0,0x0,0x1,0xe2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x59,0xe1,
0x0,0x0,0x1,0x92,0x47,0xc,0xaf,0x4c, 0x0,0x0,0x1,0x92,0x47,0xc,0xaf,0x4c,
// :/resource/Icons/plane.png // :/resource/Icons/plane.png
0x0,0x0,0x2,0x34,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0xb8,0xcb, 0x0,0x0,0x2,0x50,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0xd0,0xfa,
0x0,0x0,0x1,0x91,0xb3,0xf,0xc0,0x1f, 0x0,0x0,0x1,0x91,0xb3,0xf,0xc0,0x1f,
// :/resource/Icons/crossInCircle.png // :/resource/Icons/crossInCircle.png
0x0,0x0,0x2,0x4c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0xbd,0x18, 0x0,0x0,0x2,0x68,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0xd5,0x47,
0x0,0x0,0x1,0x92,0x4c,0x9f,0x4d,0xc4, 0x0,0x0,0x1,0x92,0x4c,0x9f,0x4d,0xc4,
// :/resource/Icons/whiteCross.png // :/resource/Icons/whiteCross.png
0x0,0x0,0x1,0xa4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x2b,0x3d, 0x0,0x0,0x1,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x43,0x6c,
0x0,0x0,0x1,0x92,0x4c,0x9e,0xfa,0x44, 0x0,0x0,0x1,0x92,0x4c,0x9e,0xfa,0x44,
// :/resource/Icons/monitor-display.png // :/resource/Icons/monitor-display.png
0x0,0x0,0x1,0xec,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x87,0xea, 0x0,0x0,0x2,0x8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0xa0,0x19,
0x0,0x0,0x1,0x92,0x42,0xfe,0x89,0x26, 0x0,0x0,0x1,0x92,0x42,0xfe,0x89,0x26,
// :/resource/Icons/762.gif // :/resource/Icons/762.gif
0x0,0x0,0x1,0x90,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x4,0xc7, 0x0,0x0,0x1,0xac,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x4f,0x1c,0xf6,
0x0,0x0,0x1,0x92,0x4d,0xb,0xea,0x71, 0x0,0x0,0x1,0x92,0x4d,0xb,0xea,0x71,
// :/resource/Fonts/HelveticaNeue-Medium.ttf // :/resource/Fonts/HelveticaNeue-Medium.ttf
0x0,0x0,0x0,0xf6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x46,0xbb,0x97, 0x0,0x0,0x0,0xf6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x46,0xbb,0xb5,
0x0,0x0,0x1,0x92,0x42,0xb4,0xbd,0xcd, 0x0,0x0,0x1,0x92,0x42,0xb4,0xbd,0xcd,
// :/resource/Fonts/LiberationSans-Regular.ttf // :/resource/Fonts/LiberationSans-Regular.ttf
0x0,0x0,0x1,0x56,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x49,0xac,0xcb, 0x0,0x0,0x1,0x56,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x49,0xac,0xe9,
0x0,0x0,0x1,0x92,0x42,0x25,0xa7,0xdc, 0x0,0x0,0x1,0x92,0x42,0x25,0xa7,0xdc,
// :/resource/Fonts/Kanit Cyrillic.ttf // :/resource/Fonts/Kanit Cyrillic.ttf
0x0,0x0,0x1,0x2c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x49,0x25,0xb, 0x0,0x0,0x1,0x2c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x49,0x25,0x29,
0x0,0x0,0x1,0x92,0x42,0x14,0x94,0xcc, 0x0,0x0,0x1,0x92,0x42,0x14,0x94,0xcc,
}; };

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
debug/versioncontainer.o Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -19,8 +19,10 @@ void EntryWidget::initialize(MainWindow *mainWindow)
void EntryWidget::connectionEmptyState() void EntryWidget::connectionEmptyState()
{ {
show();
ui->offlineWidget->show(); ui->offlineWidget->show();
ui->loginWidget->hide(); ui->loginWidget->hide();
ui->settingsWidget->hide();
} }
void EntryWidget::settingsState() void EntryWidget::settingsState()

View File

@@ -1,6 +1,8 @@
#include "instructorbuttongroupwidget.h" #include "instructorbuttongroupwidget.h"
#include "ui_instructorbuttongroupwidget.h" #include "ui_instructorbuttongroupwidget.h"
#include <QMessageBox>
InstructorButtonGroupWidget::InstructorButtonGroupWidget(QWidget *parent) : InstructorButtonGroupWidget::InstructorButtonGroupWidget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::InstructorButtonGroupWidget) ui(new Ui::InstructorButtonGroupWidget)
@@ -29,6 +31,8 @@ void InstructorButtonGroupWidget::on_startWithCurrentChangesButton_clicked()
mainWindow->startUnityClient(); mainWindow->startUnityClient();
} }
InstructorButtonGroupWidget::~InstructorButtonGroupWidget() InstructorButtonGroupWidget::~InstructorButtonGroupWidget()
{ {
delete ui; delete ui;

View File

@@ -17,6 +17,7 @@ class InstructorButtonGroupWidget : public QWidget
public: public:
explicit InstructorButtonGroupWidget(QWidget *parent = nullptr); explicit InstructorButtonGroupWidget(QWidget *parent = nullptr);
void initialize(MainWindow *mainWindow); void initialize(MainWindow *mainWindow);
~InstructorButtonGroupWidget(); ~InstructorButtonGroupWidget();
private slots: private slots:

View File

@@ -22,19 +22,19 @@ MainWindow::MainWindow(QWidget *parent)
void MainWindow::initialize() void MainWindow::initialize()
{ {
createObjects(); createObjects();
loadStaticData();
updateWidget->initialize(this); updateWidget->initialize(this,versionContainer);
entryWidget->initialize(this); entryWidget->initialize(this);
versionSelectWidget->initialize(sendSystem); versionSelectWidget->initialize(sendSystem,versionContainer);
hashComparer->initialize(this); hashComparer->initialize(this,versionContainer);
updateController->initialize(this); updateController->initialize(this,versionContainer);
commonButtonGroupWidget->initialize(externalExecuter,sendSystem,client); commonButtonGroupWidget->initialize(this,externalExecuter,sendSystem,client);
commonButtonGroupWidget->show(); commonButtonGroupWidget->show();
//instructorButtonGroupWidget->initialize(this);
ui->notificationLabel->hide(); ui->notificationLabel->hide();
ui->unsafeChangingButton->hide();
ui->offlineStartButton->show(); ui->offlineStartButton->show();
ui->offlineStartButton->setEnabled(false); ui->offlineStartButton->setEnabled(false);
@@ -46,31 +46,33 @@ void MainWindow::initialize()
sendSystem->initialize(this,dataParser); sendSystem->initialize(this,dataParser);
dataParser->initialize(recognizeSystem); dataParser->initialize(recognizeSystem);
emit sigCalculateHash(); emit sigCalculateHash();
emit sigInitializeClient(this,recognizeSystem,externalExecuter,sendSystem,workerThread); emit sigInitializeClient(this,recognizeSystem,externalExecuter,sendSystem,workerThread);
emit sigRecognize(updateController,dataParser,this,hashComparer,client); recognizeSystem->initialize(updateController,dataParser,this,hashComparer,client,versionContainer);
//emit sigRecognize(updateController,dataParser,this,hashComparer,client);
screenChecker->check(); screenChecker->check();
loadStaticData();
emit sigSetConnect(dataParser->getServerSettings(),workerThread); emit sigSetConnect(dataParser->getServerSettings(),workerThread);
checkAppAvailable(); checkAppAvailable();
//test //test
} }
void MainWindow::createObjects() void MainWindow::createObjects()
{ {
updateWidget = new UpdateNotifyWidget; updateWidget = new UpdateNotifyWidget;
updateWidget->setParent(this);
commonButtonGroupWidget = new CommonButtonGroupWidget; commonButtonGroupWidget = new CommonButtonGroupWidget;
//instructorButtonGroupWidget = new InstructorButtonGroupWidget;
entryWidget = new EntryWidget; entryWidget = new EntryWidget;
versionSelectWidget = new VersionSelectWidget; versionSelectWidget = new VersionSelectWidget;
ui->changButtonGroup->addWidget(commonButtonGroupWidget); ui->changButtonGroup->addWidget(commonButtonGroupWidget);
//updateWidget->setButtonWidget(instructorButtonGroupWidget);
ui->interactiveGroup->addWidget(entryWidget); ui->interactiveGroup->addWidget(entryWidget);
ui->interactiveGroup->addWidget(versionSelectWidget); ui->interactiveGroup->addWidget(versionSelectWidget);
@@ -99,6 +101,8 @@ void MainWindow::createObjects()
hashComparer = new HashComparer(dataParser); hashComparer = new HashComparer(dataParser);
hashComparer->moveToThread(workerThread); hashComparer->moveToThread(workerThread);
versionContainer = new VersionContainer;
workerThread->start(); workerThread->start();
workerThread->setPriority(QThread::HighestPriority); workerThread->setPriority(QThread::HighestPriority);
@@ -114,7 +118,7 @@ void MainWindow::bindConnection()
connect(this,&MainWindow::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection); connect(this,&MainWindow::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
connect(this,&MainWindow::sigSendCommand,client,&TCPClient::slotSendCommand,Qt::AutoConnection); connect(this,&MainWindow::sigSendCommand,client,&TCPClient::slotSendCommand,Qt::AutoConnection);
connect(this,&MainWindow::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::AutoConnection); connect(this,&MainWindow::sigSendXMLAnswer,sendSystem,&SendSystem::xmlAnswer,Qt::AutoConnection);
connect(this,&MainWindow::sigRecognize,recognizeSystem,&RecognizeSystem::initialize,Qt::AutoConnection); //connect(this,&MainWindow::sigRecognize,recognizeSystem,&RecognizeSystem::initialize,Qt::AutoConnection);
connect(this,&MainWindow::sigGetConnected,client,&TCPClient::getIsConnected); connect(this,&MainWindow::sigGetConnected,client,&TCPClient::getIsConnected);
connect(this,&MainWindow::sigCalculateHash,updateController,&UpdateController::calculateCommonHash); connect(this,&MainWindow::sigCalculateHash,updateController,&UpdateController::calculateCommonHash);
@@ -137,9 +141,12 @@ void MainWindow::loadComplete()
ui->offlineStartButton->setEnabled(true); ui->offlineStartButton->setEnabled(true);
ui->autostartCheckBox->hide(); ui->autostartCheckBox->hide();
ui->offlineStartButton->show(); ui->offlineStartButton->show();
dataParser->changeVersion(versionContainer->getServerVersionData()->getViewName());
setTitle();
} }
void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount) void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount,quint64 deleteCount)
{ {
fileCountForUpdate = 0; fileCountForUpdate = 0;
filesLoaded = 0; filesLoaded = 0;
@@ -153,8 +160,17 @@ void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
} }
else if(flag) else if(flag)
{ {
QString result = tr("Доступно обновление: ") + Tools::convertFileSize(size); QString result;
result += tr("Количество файлов: ") + QString::number(fileCount); if(fileCount > 0)
{
result = tr("Доступно обновление: ") + Tools::convertFileSize(size);
result += tr("Количество файлов: ") + QString::number(fileCount);
}
else
{
result = tr("Файлов к удалению: ") + QString::number(deleteCount);
}
ui->inlineTextDebug->setText(result); ui->inlineTextDebug->setText(result);
commonButtonGroupWidget->needUpdateState(flag); commonButtonGroupWidget->needUpdateState(flag);
ui->autostartCheckBox->show(); ui->autostartCheckBox->show();
@@ -165,7 +181,10 @@ void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
ui->inlineTextDebug->setText(tr("Установлена последняя версия")); ui->inlineTextDebug->setText(tr("Установлена последняя версия"));
autoStart(); autoStart();
commonButtonGroupWidget->lastVerInstalledState(); commonButtonGroupWidget->lastVerInstalledState();
ui->unsafeChangingButton->hide();
ui->offlineStartButton->setEnabled(true); ui->offlineStartButton->setEnabled(true);
dataParser->changeVersion(versionContainer->getServerVersion());
setTitle();
stopLoadingMovie(); stopLoadingMovie();
} }
} }
@@ -219,6 +238,7 @@ void MainWindow::checkLoginResult(ServerAuthorization *serverAuth)
} }
else else
{ {
entryWidget->loginIsActive(true);
ui->notificationLabel->setText(tr("Неверный логин/пароль")); ui->notificationLabel->setText(tr("Неверный логин/пароль"));
timer->setInterval(3000); timer->setInterval(3000);
timer->start(); timer->start();
@@ -261,6 +281,15 @@ void MainWindow::autoStart()
} }
} }
void MainWindow::setTitle()
{
ServerSettings *currentSettings = dataParser->getServerSettings();
QString title = tr("Тренажер процедур технического обслуживания самолета RRJ-95NEW-100");
title.append(" (" + currentSettings->LocalVersionName + ")");
ui->headerLabel->setText(title);
}
void MainWindow::loadStaticData() void MainWindow::loadStaticData()
{ {
ServerSettings *currentSettings = dataParser->getServerSettings(); ServerSettings *currentSettings = dataParser->getServerSettings();
@@ -270,6 +299,7 @@ void MainWindow::loadStaticData()
ui->autostartCheckBox->setChecked(currentSettings->isAutoStart); ui->autostartCheckBox->setChecked(currentSettings->isAutoStart);
checkLanguage(currentSettings->Language); checkLanguage(currentSettings->Language);
setTitle();
} }
void MainWindow::showConnectionEmpty() void MainWindow::showConnectionEmpty()
@@ -282,7 +312,14 @@ void MainWindow::showConnectionEmpty()
ui->offlineStartButton->show(); ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(280,340,250,40); ui->offlineStartButton->setGeometry(280,340,250,40);
ui->settingsButton->show(); ui->settingsButton->show();
//instructorButtonGroupWidget->hide(); ui->unsafeChangingButton->hide();
versionSelectWidget->hide();
}
void MainWindow::disableUnsaveButton(bool flag)
{
if(!flag) ui->unsafeChangingButton->show();
else ui->unsafeChangingButton->hide();
} }
void MainWindow::slotConnectionState(bool flag) void MainWindow::slotConnectionState(bool flag)
@@ -333,7 +370,6 @@ void MainWindow::callUpdateList()
{ {
hashComparer->setWidget(updateWidget); hashComparer->setWidget(updateWidget);
emit sigSendXMLAnswer(cmd_GetServerHash); emit sigSendXMLAnswer(cmd_GetServerHash);
updateWidget->initialize(this);
} }
@@ -366,6 +402,7 @@ void MainWindow::saveServerSettingsWithConnect()
} }
//TODO: не заполняется 2 поля (автостарт и язык) //TODO: не заполняется 2 поля (автостарт и язык)
ServerSettings *settings = entryWidget->getServerSettings(); ServerSettings *settings = entryWidget->getServerSettings();
settings->LocalVersionName = dataParser->getServerSettings()->LocalVersionName;
dataParser->createServerSettings(settings); dataParser->createServerSettings(settings);
emit sigSetConnect(settings,workerThread); emit sigSetConnect(settings,workerThread);
@@ -389,9 +426,9 @@ void MainWindow::loadToServer()
{ {
ui->inlineTextDebug->setText(tr("Отправка файлов...")); ui->inlineTextDebug->setText(tr("Отправка файлов..."));
commonButtonGroupWidget->showProgressBar(true); commonButtonGroupWidget->showProgressBar(true);
//instructorButtonGroupWidget->hide();
ui->offlineStartButton->setEnabled(false); ui->offlineStartButton->setEnabled(false);
updateWidget->hide(); updateWidget->hide();
ui->unsafeChangingButton->hide();
emit sigUpdateFilesOnServer(hashComparer->getFilesForUpdate()); emit sigUpdateFilesOnServer(hashComparer->getFilesForUpdate());
} }
@@ -402,7 +439,6 @@ void MainWindow::undoCurrentChanges()
commonButtonGroupWidget->showProgressBar(true); commonButtonGroupWidget->showProgressBar(true);
ui->offlineStartButton->setEnabled(false); ui->offlineStartButton->setEnabled(false);
//instructorButtonGroupWidget->hide();
updateWidget->hide(); updateWidget->hide();
startLoadingAnim(); startLoadingAnim();
@@ -436,6 +472,12 @@ void MainWindow::on_offlineStartButton_clicked()
startUnityClient(); startUnityClient();
} }
void MainWindow::on_unsafeChangingButton_clicked()
{
updateWidget->show();
}
void MainWindow::on_exitButton_clicked() void MainWindow::on_exitButton_clicked()
{ {
exit(0); exit(0);
@@ -451,11 +493,11 @@ void MainWindow::showUpdateInfo()
{ {
stopLoadingMovie(); stopLoadingMovie();
updateWidget->showWithFill(); updateWidget->showWithFill();
ui->unsafeChangingButton->show();
entryWidget->hide(); entryWidget->hide();
commonButtonGroupWidget->hide(); commonButtonGroupWidget->show();
//instructorButtonGroupWidget->show();
ui->offlineStartButton->setGeometry(540,549,250,40); ui->offlineStartButton->setGeometry(540,549,250,40);
fileCountForUpdate = hashComparer->getFilesForUpdate()->length(); fileCountForUpdate = hashComparer->getFileUpdateCount();
filesLoaded = 0; filesLoaded = 0;
} }
@@ -465,7 +507,7 @@ void MainWindow::showCompleteDialogBox()
ui->inlineTextDebug->setText(tr("Загрузка завершена")); ui->inlineTextDebug->setText(tr("Загрузка завершена"));
startLoadingAnim(); startLoadingAnim();
QTime dieTime= QTime::currentTime().addSecs(10); QTime dieTime= QTime::currentTime().addSecs(10); //DELAY ДЛЯ ПЕРЕСЧЕТА ХЭША НА СЕРВЕРЕ
while (QTime::currentTime() < dieTime) while (QTime::currentTime() < dieTime)
QCoreApplication::processEvents(QEventLoop::AllEvents, 100); QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
@@ -479,9 +521,9 @@ void MainWindow::startUnityClient()
emit sigSendXMLAnswer("DISABLE"); emit sigSendXMLAnswer("DISABLE");
} }
void MainWindow::setCurrentVersionName(QString versionName) void MainWindow::setCurrentVersionName(StreamingVersionData *version)
{ {
versionSelectWidget->fillCurrentVersionName(versionName); versionContainer->setLocalVersionData(version);
} }
void MainWindow::keyPressEvent(QKeyEvent *event) void MainWindow::keyPressEvent(QKeyEvent *event)
@@ -513,6 +555,20 @@ void MainWindow::painting()
ui->settingsButton->setIcon(icon); ui->settingsButton->setIcon(icon);
//caution
QPixmap cautionIcon(":resource/Icons/caution.png");
painter.begin(&cautionIcon);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(cautionIcon.rect(),color);
painter.end();
icon.addPixmap(cautionIcon,QIcon::Normal,QIcon::Off);
QSize cautionIconSize(30,30);
ui->unsafeChangingButton->setIcon(icon);
ui->unsafeChangingButton->setIconSize(cautionIconSize);
//exit //exit
QPixmap crossPixmap(":resource/Icons/crossInCircle.png"); QPixmap crossPixmap(":resource/Icons/crossInCircle.png");
QPainter painterCross; QPainter painterCross;
@@ -567,3 +623,4 @@ MainWindow::~MainWindow()

View File

@@ -11,6 +11,7 @@
#include <Core/UpdateController.h> #include <Core/UpdateController.h>
#include <Core/sendsystem.h> #include <Core/sendsystem.h>
#include <Core/hashcomparer.h> #include <Core/hashcomparer.h>
#include <Core/versioncontainer.h>
#include "Datas.h" #include "Datas.h"
#include "commonbuttongroupwidget.h" #include "commonbuttongroupwidget.h"
#include "entrywidget.h" #include "entrywidget.h"
@@ -45,7 +46,15 @@ public:
void checkUpdate(); void checkUpdate();
~MainWindow(); ~MainWindow();
void initialize();
void bindConnection(); void bindConnection();
void login();
void saveServerSettingsWithConnect();
void loadToServer();
void undoCurrentChanges();
void startUnityClient();
void setCurrentVersionName(StreamingVersionData *version);
void disableUnsaveButton(bool flag);
signals: signals:
void sigInitializeClient(MainWindow* mainWindow, void sigInitializeClient(MainWindow* mainWindow,
@@ -78,7 +87,7 @@ public slots:
void lostConnection(); void lostConnection();
void serverBlocked(); void serverBlocked();
void checkLoginResult(ServerAuthorization * serverAuth); void checkLoginResult(ServerAuthorization * serverAuth);
void setNeedUpdate(bool flag,quint64 size,quint64 fileCount); void setNeedUpdate(bool flag,quint64 size,quint64 fileCount,quint64 deleteCount);
void showServerListWidget(QList<StreamingVersionData*> *serverData); void showServerListWidget(QList<StreamingVersionData*> *serverData);
@@ -91,12 +100,13 @@ private slots:
void on_offlineStartButton_clicked(); void on_offlineStartButton_clicked();
void on_unsafeChangingButton_clicked();
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
MyWinHeader *header; MyWinHeader *header;
UpdateNotifyWidget *updateWidget; UpdateNotifyWidget *updateWidget;
CommonButtonGroupWidget *commonButtonGroupWidget; CommonButtonGroupWidget *commonButtonGroupWidget;
InstructorButtonGroupWidget *instructorButtonGroupWidget;
EntryWidget *entryWidget; EntryWidget *entryWidget;
VersionSelectWidget *versionSelectWidget; VersionSelectWidget *versionSelectWidget;
@@ -109,6 +119,7 @@ private:
ExternalExecuter *externalExecuter; ExternalExecuter *externalExecuter;
SendSystem *sendSystem; SendSystem *sendSystem;
HashComparer *hashComparer; HashComparer *hashComparer;
VersionContainer *versionContainer;
QThread *workerThread; QThread *workerThread;
QThread *animationThread; QThread *animationThread;
QTimer *timer; QTimer *timer;
@@ -131,15 +142,7 @@ private:
void startLoadingAnim(); void startLoadingAnim();
void stopLoadingMovie(); void stopLoadingMovie();
void showConnectionEmpty(); void showConnectionEmpty();
void setTitle();
public:
void initialize();
void login();
void saveServerSettingsWithConnect();
void loadToServer();
void undoCurrentChanges();
void startUnityClient();
void setCurrentVersionName(QString versionName);
protected: protected:
virtual void keyPressEvent(QKeyEvent *event); virtual void keyPressEvent(QKeyEvent *event);

View File

@@ -168,34 +168,6 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QPushButton" name="settingsButton">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>730</x>
<y>0</y>
<width>51</width>
<height>40</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>40</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</widget> </widget>
<widget class="QWidget" name="LanguageWidget" native="true"> <widget class="QWidget" name="LanguageWidget" native="true">
<property name="geometry"> <property name="geometry">
@@ -330,68 +302,6 @@
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
<widget class="QWidget" name="debugWidget" native="true">
<property name="geometry">
<rect>
<x>10</x>
<y>500</y>
<width>561</width>
<height>51</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>1</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>1</number>
</property>
<property name="bottomMargin">
<number>1</number>
</property>
<item>
<widget class="QCheckBox" name="autostartCheckBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="text">
<string>Автозапуск</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="inlineTextDebug">
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="headerWidget" native="true"> <widget class="QWidget" name="headerWidget" native="true">
<property name="geometry"> <property name="geometry">
<rect> <rect>
@@ -454,7 +364,7 @@
<item> <item>
<widget class="MyWinHeader" name="headerLabel"> <widget class="MyWinHeader" name="headerLabel">
<property name="text"> <property name="text">
<string>Тренажер процедур технического обслуживания самолета RRJ-95NEW-100</string> <string/>
</property> </property>
</widget> </widget>
</item> </item>
@@ -554,14 +464,119 @@
</property> </property>
<layout class="QVBoxLayout" name="interactiveGroup"/> <layout class="QVBoxLayout" name="interactiveGroup"/>
</widget> </widget>
<widget class="QWidget" name="verticalLayoutWidget_3">
<property name="geometry">
<rect>
<x>10</x>
<y>480</y>
<width>531</width>
<height>61</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>3</number>
</property>
<item>
<widget class="QCheckBox" name="autostartCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Автозапуск</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="inlineTextDebug">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>740</x>
<y>50</y>
<width>50</width>
<height>42</height>
</rect>
</property>
<layout class="QHBoxLayout" name="additionalButtonLayout">
<item>
<widget class="QPushButton" name="unsafeChangingButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="settingsButton">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<zorder>mainFrame</zorder> <zorder>mainFrame</zorder>
<zorder>notificationLabel</zorder> <zorder>notificationLabel</zorder>
<zorder>debugWidget</zorder>
<zorder>headerWidget</zorder> <zorder>headerWidget</zorder>
<zorder>LanguageWidget</zorder>
<zorder>offlineStartButton</zorder> <zorder>offlineStartButton</zorder>
<zorder>verticalLayoutWidget</zorder> <zorder>verticalLayoutWidget</zorder>
<zorder>verticalLayoutWidget_2</zorder> <zorder>verticalLayoutWidget_2</zorder>
<zorder>verticalLayoutWidget_3</zorder>
<zorder>horizontalLayoutWidget</zorder>
<zorder>LanguageWidget</zorder>
</widget> </widget>
</widget> </widget>
<customwidgets> <customwidgets>

View File

@@ -2,11 +2,17 @@
MyWinHeader::MyWinHeader(QWidget*) MyWinHeader::MyWinHeader(QWidget*)
{ {
}
MyWinHeader::~MyWinHeader()
{
} }
void MyWinHeader::mousePressEvent(QMouseEvent *event) { void MyWinHeader::mousePressEvent(QMouseEvent *event) {
winX = this->parentWidget()->window()->x(); winY = this->parentWidget()->window()->y(); winX = this->parentWidget()->window()->x(); winY = this->parentWidget()->window()->y();
mouseX = event->globalX(); mouseY = event->globalY(); mouseX = event->globalX(); mouseY = event->globalY();
isMousePressed = true;; isMousePressed = true;
} }
void MyWinHeader::mouseReleaseEvent(QMouseEvent*) { void MyWinHeader::mouseReleaseEvent(QMouseEvent*) {
isMousePressed = false; isMousePressed = false;
@@ -15,3 +21,8 @@ void MyWinHeader::mouseMoveEvent(QMouseEvent *event) {
if(!isMousePressed) return; if(!isMousePressed) return;
this->parentWidget()->window()->move(winX + event->globalX()-mouseX, winY + event->globalY()-mouseY); this->parentWidget()->window()->move(winX + event->globalX()-mouseX, winY + event->globalY()-mouseY);
} }
void MyWinHeader::changeText(QString *text){
setText(*text);
repaint();
}

View File

@@ -12,6 +12,8 @@ class MyWinHeader : public QLabel
Q_OBJECT Q_OBJECT
public: public:
MyWinHeader(QWidget *parent = nullptr); MyWinHeader(QWidget *parent = nullptr);
~MyWinHeader();
void changeText(QString *text);
private: private:
void mousePressEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event);

View File

@@ -6,8 +6,9 @@ NewVersionWidget::NewVersionWidget(QWidget *parent) :
ui(new Ui::NewVersionWidget) ui(new Ui::NewVersionWidget)
{ {
ui->setupUi(this); ui->setupUi(this);
setWindowFlag(Qt::SubWindow); setWindowFlags(Qt::SubWindow | Qt::FramelessWindowHint | Qt::CustomizeWindowHint );
setAttribute(Qt::WA_ShowModal,true); setAttribute(Qt::WA_ShowModal,true);
setAttribute(Qt::WA_TranslucentBackground);
} }
void NewVersionWidget::initialize(VersionSelectWidget *versionSelectWidget, QString prevName) void NewVersionWidget::initialize(VersionSelectWidget *versionSelectWidget, QString prevName)
@@ -22,6 +23,7 @@ void NewVersionWidget::on_createButton_clicked()
if(ui->lineEdit->text() != "") if(ui->lineEdit->text() != "")
{ {
versionSelectWidget->sendCopyEmit(ui->lineEdit->text()); versionSelectWidget->sendCopyEmit(ui->lineEdit->text());
hide();
} }
} }

View File

@@ -6,90 +6,238 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>400</width> <width>310</width>
<height>240</height> <height>152</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Создать копию...</string>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
<widget class="QLabel" name="prevVerTitle"> <widget class="QFrame" name="NewVerBackground">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>10</x> <x>0</x>
<y>10</y> <y>0</y>
<width>171</width> <width>311</width>
<height>31</height> <height>191</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="sizePolicy">
<string>TextLabel</string> <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
</widget> <property name="frameShape">
<widget class="QLabel" name="newNameVersionTitle"> <enum>QFrame::StyledPanel</enum>
<property name="geometry">
<rect>
<x>10</x>
<y>50</y>
<width>161</width>
<height>31</height>
</rect>
</property> </property>
<property name="text"> <property name="frameShadow">
<string>Новое название:</string> <enum>QFrame::Raised</enum>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit">
<property name="geometry">
<rect>
<x>180</x>
<y>50</y>
<width>211</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="createButton">
<property name="geometry">
<rect>
<x>40</x>
<y>120</y>
<width>131</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>Создать</string>
</property>
</widget>
<widget class="QLabel" name="prevVerValue">
<property name="geometry">
<rect>
<x>180</x>
<y>10</y>
<width>201</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
<widget class="QPushButton" name="cancelButton">
<property name="geometry">
<rect>
<x>210</x>
<y>120</y>
<width>131</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>Отмена</string>
</property> </property>
<widget class="QWidget" name="horizontalLayoutWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>311</width>
<height>51</height>
</rect>
</property>
<layout class="QHBoxLayout" name="baseVerLayout">
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QLabel" name="prevVerTitle">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Базовая версия:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="prevVerValue">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="horizontalLayoutWidget_2">
<property name="geometry">
<rect>
<x>0</x>
<y>50</y>
<width>311</width>
<height>51</height>
</rect>
</property>
<layout class="QHBoxLayout" name="newNameLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>20</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QLabel" name="newNameVersionTitle">
<property name="text">
<string>Новое название:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>60</width>
<height>30</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="horizontalLayoutWidget_3">
<property name="geometry">
<rect>
<x>0</x>
<y>100</y>
<width>311</width>
<height>51</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="createButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Создать</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="cancelButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Отмена</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget> </widget>
</widget> </widget>
<resources/> <resources/>

View File

@@ -1,4 +1,5 @@
debug/sendsystem.o debug/sendsystem.o
debug/versioncontainer.o
debug/updatecontroller.o debug/updatecontroller.o
debug/externalexecuter.o debug/externalexecuter.o
debug/dataparser.o debug/dataparser.o
@@ -17,6 +18,7 @@ debug/newversionwidget.o
debug/updatenotifywidget.o debug/updatenotifywidget.o
debug/versionselectwidget.o debug/versionselectwidget.o
debug/qrc_resources.o debug/qrc_resources.o
debug/moc_versioncontainer.o
debug/moc_sendsystem.o debug/moc_sendsystem.o
debug/moc_updatecontroller.o debug/moc_updatecontroller.o
debug/moc_externalexecuter.o debug/moc_externalexecuter.o

View File

@@ -1,4 +1,5 @@
release/sendsystem.o release/sendsystem.o
release/versioncontainer.o
release/updatecontroller.o release/updatecontroller.o
release/externalexecuter.o release/externalexecuter.o
release/dataparser.o release/dataparser.o
@@ -17,6 +18,7 @@ release/newversionwidget.o
release/updatenotifywidget.o release/updatenotifywidget.o
release/versionselectwidget.o release/versionselectwidget.o
release/qrc_resources.o release/qrc_resources.o
release/moc_versioncontainer.o
release/moc_sendsystem.o release/moc_sendsystem.o
release/moc_updatecontroller.o release/moc_updatecontroller.o
release/moc_externalexecuter.o release/moc_externalexecuter.o

BIN
resource/Icons/caution.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -17,5 +17,6 @@
<file>resource/Icons/checked.png</file> <file>resource/Icons/checked.png</file>
<file>resource/SSJ_backgroundDark.png</file> <file>resource/SSJ_backgroundDark.png</file>
<file>resource/SSJ_backgroundDarkSM.png</file> <file>resource/SSJ_backgroundDarkSM.png</file>
<file>resource/Icons/caution.png</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@@ -17,6 +17,11 @@ QListWidget#updateListWidget
color:white; color:white;
} }
QFrame#NewVerBackground
{
background-color:rgba(0,0,0,90%);;
}
QComboBox QComboBox
{ {
background-color: rgb(203,228,255); background-color: rgb(203,228,255);
@@ -105,10 +110,12 @@ QLabel
color: white; color: white;
} }
QLabel#inlineTextDebug QTextEdit#inlineTextDebug
{ {
background-color: rgba(0,0,0,0);
font-family: "Calibri"; font-family: "Calibri";
font: 18px; font: 18px;
color: white;
} }
QWidget#headerWidget QWidget#headerWidget

View File

@@ -35,16 +35,11 @@ public:
QWidget *screenWidget; QWidget *screenWidget;
QHBoxLayout *horizontalLayout_3; QHBoxLayout *horizontalLayout_3;
QHBoxLayout *displayLayout; QHBoxLayout *displayLayout;
QPushButton *settingsButton;
QWidget *LanguageWidget; QWidget *LanguageWidget;
QHBoxLayout *horizontalLayout_2; QHBoxLayout *horizontalLayout_2;
QLabel *languageTitle; QLabel *languageTitle;
QComboBox *languageComboBox; QComboBox *languageComboBox;
QLabel *notificationLabel; QLabel *notificationLabel;
QWidget *debugWidget;
QVBoxLayout *verticalLayout_5;
QCheckBox *autostartCheckBox;
QLabel *inlineTextDebug;
QWidget *headerWidget; QWidget *headerWidget;
QHBoxLayout *headerLayout; QHBoxLayout *headerLayout;
QWidget *iconWidget; QWidget *iconWidget;
@@ -55,6 +50,14 @@ public:
QVBoxLayout *changButtonGroup; QVBoxLayout *changButtonGroup;
QWidget *verticalLayoutWidget_2; QWidget *verticalLayoutWidget_2;
QVBoxLayout *interactiveGroup; QVBoxLayout *interactiveGroup;
QWidget *verticalLayoutWidget_3;
QVBoxLayout *verticalLayout;
QCheckBox *autostartCheckBox;
QLabel *inlineTextDebug;
QWidget *horizontalLayoutWidget;
QHBoxLayout *additionalButtonLayout;
QPushButton *unsafeChangingButton;
QPushButton *settingsButton;
void setupUi(QMainWindow *MainWindow) void setupUi(QMainWindow *MainWindow)
{ {
@@ -125,12 +128,6 @@ public:
verticalLayout_4->addWidget(screenWidget); verticalLayout_4->addWidget(screenWidget);
settingsButton = new QPushButton(mainFrame);
settingsButton->setObjectName(QString::fromUtf8("settingsButton"));
settingsButton->setEnabled(true);
settingsButton->setGeometry(QRect(730, 0, 51, 40));
settingsButton->setMinimumSize(QSize(0, 40));
settingsButton->setIconSize(QSize(30, 30));
LanguageWidget = new QWidget(centralwidget); LanguageWidget = new QWidget(centralwidget);
LanguageWidget->setObjectName(QString::fromUtf8("LanguageWidget")); LanguageWidget->setObjectName(QString::fromUtf8("LanguageWidget"));
LanguageWidget->setGeometry(QRect(0, 555, 231, 30)); LanguageWidget->setGeometry(QRect(0, 555, 231, 30));
@@ -180,29 +177,6 @@ public:
notificationLabel->setFrameShadow(QFrame::Plain); notificationLabel->setFrameShadow(QFrame::Plain);
notificationLabel->setTextFormat(Qt::RichText); notificationLabel->setTextFormat(Qt::RichText);
notificationLabel->setAlignment(Qt::AlignCenter); notificationLabel->setAlignment(Qt::AlignCenter);
debugWidget = new QWidget(centralwidget);
debugWidget->setObjectName(QString::fromUtf8("debugWidget"));
debugWidget->setGeometry(QRect(10, 500, 561, 51));
verticalLayout_5 = new QVBoxLayout(debugWidget);
verticalLayout_5->setSpacing(6);
verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
verticalLayout_5->setContentsMargins(1, 6, 1, 1);
autostartCheckBox = new QCheckBox(debugWidget);
autostartCheckBox->setObjectName(QString::fromUtf8("autostartCheckBox"));
autostartCheckBox->setEnabled(true);
sizePolicy2.setHeightForWidth(autostartCheckBox->sizePolicy().hasHeightForWidth());
autostartCheckBox->setSizePolicy(sizePolicy2);
autostartCheckBox->setMinimumSize(QSize(0, 20));
autostartCheckBox->setChecked(false);
verticalLayout_5->addWidget(autostartCheckBox);
inlineTextDebug = new QLabel(debugWidget);
inlineTextDebug->setObjectName(QString::fromUtf8("inlineTextDebug"));
inlineTextDebug->setAlignment(Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft);
verticalLayout_5->addWidget(inlineTextDebug);
headerWidget = new QWidget(centralwidget); headerWidget = new QWidget(centralwidget);
headerWidget->setObjectName(QString::fromUtf8("headerWidget")); headerWidget->setObjectName(QString::fromUtf8("headerWidget"));
headerWidget->setGeometry(QRect(0, 0, 801, 40)); headerWidget->setGeometry(QRect(0, 0, 801, 40));
@@ -261,15 +235,61 @@ public:
interactiveGroup = new QVBoxLayout(verticalLayoutWidget_2); interactiveGroup = new QVBoxLayout(verticalLayoutWidget_2);
interactiveGroup->setObjectName(QString::fromUtf8("interactiveGroup")); interactiveGroup->setObjectName(QString::fromUtf8("interactiveGroup"));
interactiveGroup->setContentsMargins(0, 0, 0, 0); interactiveGroup->setContentsMargins(0, 0, 0, 0);
verticalLayoutWidget_3 = new QWidget(centralwidget);
verticalLayoutWidget_3->setObjectName(QString::fromUtf8("verticalLayoutWidget_3"));
verticalLayoutWidget_3->setGeometry(QRect(10, 480, 531, 61));
verticalLayout = new QVBoxLayout(verticalLayoutWidget_3);
verticalLayout->setSpacing(3);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(0, 0, 0, 0);
autostartCheckBox = new QCheckBox(verticalLayoutWidget_3);
autostartCheckBox->setObjectName(QString::fromUtf8("autostartCheckBox"));
sizePolicy1.setHeightForWidth(autostartCheckBox->sizePolicy().hasHeightForWidth());
autostartCheckBox->setSizePolicy(sizePolicy1);
autostartCheckBox->setFont(font);
verticalLayout->addWidget(autostartCheckBox);
inlineTextDebug = new QLabel(verticalLayoutWidget_3);
inlineTextDebug->setObjectName(QString::fromUtf8("inlineTextDebug"));
inlineTextDebug->setFont(font);
verticalLayout->addWidget(inlineTextDebug);
horizontalLayoutWidget = new QWidget(centralwidget);
horizontalLayoutWidget->setObjectName(QString::fromUtf8("horizontalLayoutWidget"));
horizontalLayoutWidget->setGeometry(QRect(740, 50, 50, 42));
additionalButtonLayout = new QHBoxLayout(horizontalLayoutWidget);
additionalButtonLayout->setObjectName(QString::fromUtf8("additionalButtonLayout"));
additionalButtonLayout->setContentsMargins(0, 0, 0, 0);
unsafeChangingButton = new QPushButton(horizontalLayoutWidget);
unsafeChangingButton->setObjectName(QString::fromUtf8("unsafeChangingButton"));
sizePolicy2.setHeightForWidth(unsafeChangingButton->sizePolicy().hasHeightForWidth());
unsafeChangingButton->setSizePolicy(sizePolicy2);
unsafeChangingButton->setMinimumSize(QSize(40, 40));
additionalButtonLayout->addWidget(unsafeChangingButton);
settingsButton = new QPushButton(horizontalLayoutWidget);
settingsButton->setObjectName(QString::fromUtf8("settingsButton"));
settingsButton->setEnabled(true);
sizePolicy2.setHeightForWidth(settingsButton->sizePolicy().hasHeightForWidth());
settingsButton->setSizePolicy(sizePolicy2);
settingsButton->setMinimumSize(QSize(40, 40));
settingsButton->setIconSize(QSize(30, 30));
additionalButtonLayout->addWidget(settingsButton);
MainWindow->setCentralWidget(centralwidget); MainWindow->setCentralWidget(centralwidget);
mainFrame->raise(); mainFrame->raise();
notificationLabel->raise(); notificationLabel->raise();
debugWidget->raise();
headerWidget->raise(); headerWidget->raise();
LanguageWidget->raise();
offlineStartButton->raise(); offlineStartButton->raise();
verticalLayoutWidget->raise(); verticalLayoutWidget->raise();
verticalLayoutWidget_2->raise(); verticalLayoutWidget_2->raise();
verticalLayoutWidget_3->raise();
horizontalLayoutWidget->raise();
LanguageWidget->raise();
retranslateUi(MainWindow); retranslateUi(MainWindow);
@@ -280,17 +300,18 @@ public:
{ {
MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "\320\242\321\200\320\265\320\275\320\260\320\266\320\265\321\200 \320\277\321\200\320\276\321\206\320\265\320\264\321\203\321\200 \321\202\320\265\321\205\320\275\320\270\321\207\320\265\321\201\320\272\320\276\320\263\320\276 \320\276\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\321\217 \321\201\320\260\320\274\320\276\320\273\320\265\321\202\320\260 RRJ-95NEW-100", nullptr)); MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "\320\242\321\200\320\265\320\275\320\260\320\266\320\265\321\200 \320\277\321\200\320\276\321\206\320\265\320\264\321\203\321\200 \321\202\320\265\321\205\320\275\320\270\321\207\320\265\321\201\320\272\320\276\320\263\320\276 \320\276\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\321\217 \321\201\320\260\320\274\320\276\320\273\320\265\321\202\320\260 RRJ-95NEW-100", nullptr));
displayChoiceTitle->setText(QCoreApplication::translate("MainWindow", "\320\222\321\213\320\261\320\265\321\200\320\270\321\202\320\265 \320\260\320\272\321\202\320\270\320\262\320\275\321\213\320\265 \320\274\320\276\320\275\320\270\321\202\320\276\321\200\321\213:", nullptr)); displayChoiceTitle->setText(QCoreApplication::translate("MainWindow", "\320\222\321\213\320\261\320\265\321\200\320\270\321\202\320\265 \320\260\320\272\321\202\320\270\320\262\320\275\321\213\320\265 \320\274\320\276\320\275\320\270\321\202\320\276\321\200\321\213:", nullptr));
settingsButton->setText(QString());
languageTitle->setText(QCoreApplication::translate("MainWindow", "\320\257\320\267\321\213\320\272/Language", nullptr)); languageTitle->setText(QCoreApplication::translate("MainWindow", "\320\257\320\267\321\213\320\272/Language", nullptr));
languageComboBox->setItemText(0, QCoreApplication::translate("MainWindow", "RUS", nullptr)); languageComboBox->setItemText(0, QCoreApplication::translate("MainWindow", "RUS", nullptr));
languageComboBox->setItemText(1, QCoreApplication::translate("MainWindow", "ENG", nullptr)); languageComboBox->setItemText(1, QCoreApplication::translate("MainWindow", "ENG", nullptr));
notificationLabel->setText(QCoreApplication::translate("MainWindow", "\320\232\320\260\320\272\320\260\321\217-\321\202\320\276 \320\276\321\210\320\270\320\261\320\272\320\260", nullptr)); notificationLabel->setText(QCoreApplication::translate("MainWindow", "\320\232\320\260\320\272\320\260\321\217-\321\202\320\276 \320\276\321\210\320\270\320\261\320\272\320\260", nullptr));
autostartCheckBox->setText(QCoreApplication::translate("MainWindow", "\320\220\320\262\321\202\320\276\320\267\320\260\320\277\321\203\321\201\320\272", nullptr)); headerLabel->setText(QString());
inlineTextDebug->setText(QString());
headerLabel->setText(QCoreApplication::translate("MainWindow", "\320\242\321\200\320\265\320\275\320\260\320\266\320\265\321\200 \320\277\321\200\320\276\321\206\320\265\320\264\321\203\321\200 \321\202\320\265\321\205\320\275\320\270\321\207\320\265\321\201\320\272\320\276\320\263\320\276 \320\276\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\321\217 \321\201\320\260\320\274\320\276\320\273\320\265\321\202\320\260 RRJ-95NEW-100", nullptr));
exitButton->setText(QString()); exitButton->setText(QString());
offlineStartButton->setText(QCoreApplication::translate("MainWindow", "\320\227\320\260\320\277\321\203\321\201\320\272 \320\262 \320\260\320\262\321\202\320\276\320\275\320\276\320\274\320\275\320\276\320\274 \321\200\320\265\320\266\320\270\320\274\320\265", nullptr)); offlineStartButton->setText(QCoreApplication::translate("MainWindow", "\320\227\320\260\320\277\321\203\321\201\320\272 \320\262 \320\260\320\262\321\202\320\276\320\275\320\276\320\274\320\275\320\276\320\274 \321\200\320\265\320\266\320\270\320\274\320\265", nullptr));
autostartCheckBox->setText(QCoreApplication::translate("MainWindow", "\320\220\320\262\321\202\320\276\320\267\320\260\320\277\321\203\321\201\320\272", nullptr));
inlineTextDebug->setText(QString());
unsafeChangingButton->setText(QString());
settingsButton->setText(QString());
} // retranslateUi } // retranslateUi
}; };

View File

@@ -11,9 +11,12 @@
#include <QtCore/QVariant> #include <QtCore/QVariant>
#include <QtWidgets/QApplication> #include <QtWidgets/QApplication>
#include <QtWidgets/QFrame>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel> #include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit> #include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton> #include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QWidget> #include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@@ -21,37 +24,120 @@ QT_BEGIN_NAMESPACE
class Ui_NewVersionWidget class Ui_NewVersionWidget
{ {
public: public:
QFrame *NewVerBackground;
QWidget *horizontalLayoutWidget;
QHBoxLayout *baseVerLayout;
QLabel *prevVerTitle; QLabel *prevVerTitle;
QLabel *prevVerValue;
QWidget *horizontalLayoutWidget_2;
QHBoxLayout *newNameLayout;
QLabel *newNameVersionTitle; QLabel *newNameVersionTitle;
QLineEdit *lineEdit; QLineEdit *lineEdit;
QWidget *horizontalLayoutWidget_3;
QHBoxLayout *horizontalLayout;
QSpacerItem *horizontalSpacer;
QPushButton *createButton; QPushButton *createButton;
QLabel *prevVerValue; QSpacerItem *horizontalSpacer_3;
QPushButton *cancelButton; QPushButton *cancelButton;
QSpacerItem *horizontalSpacer_2;
void setupUi(QWidget *NewVersionWidget) void setupUi(QWidget *NewVersionWidget)
{ {
if (NewVersionWidget->objectName().isEmpty()) if (NewVersionWidget->objectName().isEmpty())
NewVersionWidget->setObjectName(QString::fromUtf8("NewVersionWidget")); NewVersionWidget->setObjectName(QString::fromUtf8("NewVersionWidget"));
NewVersionWidget->resize(400, 240); NewVersionWidget->resize(310, 152);
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(NewVersionWidget->sizePolicy().hasHeightForWidth());
NewVersionWidget->setSizePolicy(sizePolicy);
NewVersionWidget->setAutoFillBackground(true);
NewVersionWidget->setStyleSheet(QString::fromUtf8("")); NewVersionWidget->setStyleSheet(QString::fromUtf8(""));
prevVerTitle = new QLabel(NewVersionWidget); NewVerBackground = new QFrame(NewVersionWidget);
NewVerBackground->setObjectName(QString::fromUtf8("NewVerBackground"));
NewVerBackground->setEnabled(true);
NewVerBackground->setGeometry(QRect(0, 0, 311, 191));
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(NewVerBackground->sizePolicy().hasHeightForWidth());
NewVerBackground->setSizePolicy(sizePolicy1);
NewVerBackground->setFrameShape(QFrame::StyledPanel);
NewVerBackground->setFrameShadow(QFrame::Raised);
horizontalLayoutWidget = new QWidget(NewVerBackground);
horizontalLayoutWidget->setObjectName(QString::fromUtf8("horizontalLayoutWidget"));
horizontalLayoutWidget->setGeometry(QRect(0, 0, 311, 51));
baseVerLayout = new QHBoxLayout(horizontalLayoutWidget);
baseVerLayout->setObjectName(QString::fromUtf8("baseVerLayout"));
baseVerLayout->setContentsMargins(5, 5, 5, 5);
prevVerTitle = new QLabel(horizontalLayoutWidget);
prevVerTitle->setObjectName(QString::fromUtf8("prevVerTitle")); prevVerTitle->setObjectName(QString::fromUtf8("prevVerTitle"));
prevVerTitle->setGeometry(QRect(10, 10, 171, 31)); QSizePolicy sizePolicy2(QSizePolicy::Minimum, QSizePolicy::Minimum);
newNameVersionTitle = new QLabel(NewVersionWidget); sizePolicy2.setHorizontalStretch(0);
newNameVersionTitle->setObjectName(QString::fromUtf8("newNameVersionTitle")); sizePolicy2.setVerticalStretch(0);
newNameVersionTitle->setGeometry(QRect(10, 50, 161, 31)); sizePolicy2.setHeightForWidth(prevVerTitle->sizePolicy().hasHeightForWidth());
lineEdit = new QLineEdit(NewVersionWidget); prevVerTitle->setSizePolicy(sizePolicy2);
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
lineEdit->setGeometry(QRect(180, 50, 211, 31)); baseVerLayout->addWidget(prevVerTitle);
createButton = new QPushButton(NewVersionWidget);
createButton->setObjectName(QString::fromUtf8("createButton")); prevVerValue = new QLabel(horizontalLayoutWidget);
createButton->setGeometry(QRect(40, 120, 131, 41));
prevVerValue = new QLabel(NewVersionWidget);
prevVerValue->setObjectName(QString::fromUtf8("prevVerValue")); prevVerValue->setObjectName(QString::fromUtf8("prevVerValue"));
prevVerValue->setGeometry(QRect(180, 10, 201, 31));
cancelButton = new QPushButton(NewVersionWidget); baseVerLayout->addWidget(prevVerValue);
horizontalLayoutWidget_2 = new QWidget(NewVerBackground);
horizontalLayoutWidget_2->setObjectName(QString::fromUtf8("horizontalLayoutWidget_2"));
horizontalLayoutWidget_2->setGeometry(QRect(0, 50, 311, 51));
newNameLayout = new QHBoxLayout(horizontalLayoutWidget_2);
newNameLayout->setSpacing(6);
newNameLayout->setObjectName(QString::fromUtf8("newNameLayout"));
newNameLayout->setContentsMargins(5, 5, 20, 5);
newNameVersionTitle = new QLabel(horizontalLayoutWidget_2);
newNameVersionTitle->setObjectName(QString::fromUtf8("newNameVersionTitle"));
newNameLayout->addWidget(newNameVersionTitle);
lineEdit = new QLineEdit(horizontalLayoutWidget_2);
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
sizePolicy.setHeightForWidth(lineEdit->sizePolicy().hasHeightForWidth());
lineEdit->setSizePolicy(sizePolicy);
lineEdit->setMinimumSize(QSize(150, 30));
lineEdit->setMaximumSize(QSize(60, 30));
newNameLayout->addWidget(lineEdit);
horizontalLayoutWidget_3 = new QWidget(NewVerBackground);
horizontalLayoutWidget_3->setObjectName(QString::fromUtf8("horizontalLayoutWidget_3"));
horizontalLayoutWidget_3->setGeometry(QRect(0, 100, 311, 51));
horizontalLayout = new QHBoxLayout(horizontalLayoutWidget_3);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalLayout->setContentsMargins(0, 0, 0, 6);
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer);
createButton = new QPushButton(horizontalLayoutWidget_3);
createButton->setObjectName(QString::fromUtf8("createButton"));
sizePolicy.setHeightForWidth(createButton->sizePolicy().hasHeightForWidth());
createButton->setSizePolicy(sizePolicy);
horizontalLayout->addWidget(createButton);
horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer_3);
cancelButton = new QPushButton(horizontalLayoutWidget_3);
cancelButton->setObjectName(QString::fromUtf8("cancelButton")); cancelButton->setObjectName(QString::fromUtf8("cancelButton"));
cancelButton->setGeometry(QRect(210, 120, 131, 41)); sizePolicy.setHeightForWidth(cancelButton->sizePolicy().hasHeightForWidth());
cancelButton->setSizePolicy(sizePolicy);
horizontalLayout->addWidget(cancelButton);
horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer_2);
retranslateUi(NewVersionWidget); retranslateUi(NewVersionWidget);
@@ -60,11 +146,11 @@ public:
void retranslateUi(QWidget *NewVersionWidget) void retranslateUi(QWidget *NewVersionWidget)
{ {
NewVersionWidget->setWindowTitle(QCoreApplication::translate("NewVersionWidget", "Form", nullptr)); NewVersionWidget->setWindowTitle(QCoreApplication::translate("NewVersionWidget", "\320\241\320\276\320\267\320\264\320\260\321\202\321\214 \320\272\320\276\320\277\320\270\321\216...", nullptr));
prevVerTitle->setText(QCoreApplication::translate("NewVersionWidget", "TextLabel", nullptr)); prevVerTitle->setText(QCoreApplication::translate("NewVersionWidget", "\320\221\320\260\320\267\320\276\320\262\320\260\321\217 \320\262\320\265\321\200\321\201\320\270\321\217:", nullptr));
prevVerValue->setText(QCoreApplication::translate("NewVersionWidget", "TextLabel", nullptr));
newNameVersionTitle->setText(QCoreApplication::translate("NewVersionWidget", "\320\235\320\276\320\262\320\276\320\265 \320\275\320\260\320\267\320\262\320\260\320\275\320\270\320\265:", nullptr)); newNameVersionTitle->setText(QCoreApplication::translate("NewVersionWidget", "\320\235\320\276\320\262\320\276\320\265 \320\275\320\260\320\267\320\262\320\260\320\275\320\270\320\265:", nullptr));
createButton->setText(QCoreApplication::translate("NewVersionWidget", "\320\241\320\276\320\267\320\264\320\260\321\202\321\214", nullptr)); createButton->setText(QCoreApplication::translate("NewVersionWidget", "\320\241\320\276\320\267\320\264\320\260\321\202\321\214", nullptr));
prevVerValue->setText(QCoreApplication::translate("NewVersionWidget", "TextLabel", nullptr));
cancelButton->setText(QCoreApplication::translate("NewVersionWidget", "\320\236\321\202\320\274\320\265\320\275\320\260", nullptr)); cancelButton->setText(QCoreApplication::translate("NewVersionWidget", "\320\236\321\202\320\274\320\265\320\275\320\260", nullptr));
} // retranslateUi } // retranslateUi

View File

@@ -118,7 +118,7 @@ public:
ButtonLayout->addWidget(switchServerVersionButton); ButtonLayout->addWidget(switchServerVersionButton);
horizontalSpacer = new QSpacerItem(180, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); horizontalSpacer = new QSpacerItem(170, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
ButtonLayout->addItem(horizontalSpacer); ButtonLayout->addItem(horizontalSpacer);

View File

@@ -8,22 +8,20 @@ UpdateNotifyWidget::UpdateNotifyWidget(QWidget *) :
ui(new Ui::UpdateNotifyWidget) ui(new Ui::UpdateNotifyWidget)
{ {
ui->setupUi(this); ui->setupUi(this);
setWindowFlag(Qt::FramelessWindowHint); // setWindowFlag(Qt::FramelessWindowHint);
setAttribute(Qt::WA_ShowModal,true); // setAttribute(Qt::WA_ShowModal,true);
} }
void UpdateNotifyWidget::initialize(MainWindow *mainWindow) void UpdateNotifyWidget::initialize(MainWindow *mainWindow,VersionContainer *verContainer)
{ {
this->mainWindow = mainWindow; this->mainWindow = mainWindow;
this->versionContainer = verContainer;
currentLoadingCount = 0; currentLoadingCount = 0;
hide(); hide();
auto pos = mainWindow->pos(); auto pos = mainWindow->pos();
pos.setY(pos.y() + 40); pos.setY(pos.y() + 40);
move(pos); move(pos);
// auto point = mainWindow->pos();
// point.setY(point.y() + 100);
// mapToParent(point);
} }
void UpdateNotifyWidget::addToList(FileData fileData) void UpdateNotifyWidget::addToList(FileData fileData)
@@ -48,6 +46,12 @@ void UpdateNotifyWidget::showWithFill()
void UpdateNotifyWidget::on_loadToServerButton_clicked() void UpdateNotifyWidget::on_loadToServerButton_clicked()
{ {
if(versionContainer->getServerVersion() == baseNamePackage)
{
showWarning("В базовую версию загрузка невозможна!");
return;
}
mainWindow->loadToServer(); mainWindow->loadToServer();
} }
@@ -61,12 +65,15 @@ void UpdateNotifyWidget::on_startWithCurrentChangesButton_clicked()
mainWindow->startUnityClient(); mainWindow->startUnityClient();
} }
void UpdateNotifyWidget::setButtonWidget(InstructorButtonGroupWidget *widget) void UpdateNotifyWidget::showWarning(QString text)
{ {
//ui->ButtonsLayout->addWidget(widget,0,Qt::AlignTop); QMessageBox warning;
warning.setText(text);
warning.setIcon(QMessageBox::Warning);
warning.setWindowTitle(tr("Ошибка"));
warning.exec();
} }
UpdateNotifyWidget::~UpdateNotifyWidget() UpdateNotifyWidget::~UpdateNotifyWidget()
{ {
delete ui; delete ui;

View File

@@ -15,6 +15,7 @@ class UpdateNotifyWidget;
class MainWindow; class MainWindow;
class UpdateController; class UpdateController;
class InstructorButtonGroupWidget; class InstructorButtonGroupWidget;
class VersionContainer;
class UpdateNotifyWidget : public QWidget class UpdateNotifyWidget : public QWidget
{ {
@@ -22,29 +23,24 @@ class UpdateNotifyWidget : public QWidget
public: public:
explicit UpdateNotifyWidget(QWidget *parent = nullptr); explicit UpdateNotifyWidget(QWidget *parent = nullptr);
void initialize(MainWindow *mainWindow); void initialize(MainWindow *mainWindow,VersionContainer *versionContainer);
void addToList(FileData fileData); void addToList(FileData fileData);
~UpdateNotifyWidget();
void showWithFill(); void showWithFill();
void setButtonWidget(InstructorButtonGroupWidget *widget);
signals:
~UpdateNotifyWidget();
private slots: private slots:
void on_closeButton_clicked(); void on_closeButton_clicked();
void on_loadToServerButton_clicked(); void on_loadToServerButton_clicked();
void on_undoChangesButton_clicked(); void on_undoChangesButton_clicked();
void on_startWithCurrentChangesButton_clicked(); void on_startWithCurrentChangesButton_clicked();
private: private:
Ui::UpdateNotifyWidget *ui; Ui::UpdateNotifyWidget *ui;
MainWindow *mainWindow; MainWindow *mainWindow;
VersionContainer *versionContainer;
int currentLoadingCount; int currentLoadingCount;
void showWarning(QString text);
}; };
#endif // UPDATENOTIFYWIDGET_H #endif // UPDATENOTIFYWIDGET_H

View File

@@ -2,18 +2,22 @@
#include "ui_versionselectwidget.h" #include "ui_versionselectwidget.h"
#include "ui_versionselectwidget.h" #include "ui_versionselectwidget.h"
#include <QMessageBox>
VersionSelectWidget::VersionSelectWidget(QWidget *parent) : VersionSelectWidget::VersionSelectWidget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::VersionSelectWidget) ui(new Ui::VersionSelectWidget),
selectedVersion(nullptr)
{ {
ui->setupUi(this); ui->setupUi(this);
} }
void VersionSelectWidget::initialize(SendSystem *sendSystem) void VersionSelectWidget::initialize(SendSystem *sendSystem,VersionContainer *versionContainer)
{ {
connect(this,&VersionSelectWidget::sigSendSwitchVersion,sendSystem,&SendSystem::sendChangeVersion,Qt::AutoConnection); connect(this,&VersionSelectWidget::sigSendSwitchVersion,sendSystem,&SendSystem::sendChangeVersion,Qt::AutoConnection);
connect(this,&VersionSelectWidget::sigSendCopyVersion,sendSystem,&SendSystem::sendCopyVersion,Qt::AutoConnection); connect(this,&VersionSelectWidget::sigSendCopyVersion,sendSystem,&SendSystem::sendCopyVersion,Qt::AutoConnection);
connect(this,&VersionSelectWidget::sigSendDeleteVersion,sendSystem,&SendSystem::sendDeleteVersion,Qt::AutoConnection); connect(this,&VersionSelectWidget::sigSendDeleteVersion,sendSystem,&SendSystem::sendDeleteVersion,Qt::AutoConnection);
this->versionContainer = versionContainer;
hide(); hide();
} }
@@ -22,6 +26,7 @@ void VersionSelectWidget::fillView(QList<StreamingVersionData *> *serverData)
show(); show();
ui->verListView->clear(); ui->verListView->clear();
serverDataList = serverData; serverDataList = serverData;
ui->verValue->setText(versionContainer->getServerVersionData()->getViewName());
foreach(StreamingVersionData *data,*serverData) foreach(StreamingVersionData *data,*serverData)
{ {
@@ -29,11 +34,6 @@ void VersionSelectWidget::fillView(QList<StreamingVersionData *> *serverData)
} }
} }
void VersionSelectWidget::fillCurrentVersionName(QString versionName)
{
ui->verValue->setText(versionName);
}
void VersionSelectWidget::on_verListView_itemDoubleClicked(QListWidgetItem *item) void VersionSelectWidget::on_verListView_itemDoubleClicked(QListWidgetItem *item)
{ {
foreach(StreamingVersionData *data,*serverDataList) foreach(StreamingVersionData *data,*serverDataList)
@@ -59,22 +59,67 @@ void VersionSelectWidget::on_createDuplicateButton_clicked()
void VersionSelectWidget::sendCopyEmit(QString newName) void VersionSelectWidget::sendCopyEmit(QString newName)
{ {
QString result = selectedVersion->getViewName() + ";" + newName; QString result = selectedVersion->getViewName() + ";" + newName;
if (selectedVersion != nullptr)
if (selectedVersion == nullptr)
{
showWarning(tr("Версия не выбрана"));
return;
}
quint16 matchIndex = ui->verListView->findItems(newName,Qt::MatchFlag::MatchFixedString).length();
if (matchIndex > 0)
{
showWarning(tr("Версия с таким именем уже существует"));
return;
}
versionContainer->setLocalVersionData(selectedVersion);
emit sigSendCopyVersion(result); emit sigSendCopyVersion(result);
} }
void VersionSelectWidget::on_DeleteVersionButton_clicked() void VersionSelectWidget::on_DeleteVersionButton_clicked()
{ {
if (selectedVersion != nullptr) if (selectedVersion == nullptr)
{
showWarning(tr("Версия не выбрана"));
return;
}
if (selectedVersion->getViewName() == baseNamePackage)
{
showWarning(tr("Нельзя удалить базовый пакет"));
return;
}
if (selectedVersion->getViewName() == versionContainer->getServerVersion())
{
showWarning(tr("Нельзя удалить активную версию"));
return;
}
emit sigSendDeleteVersion(selectedVersion); emit sigSendDeleteVersion(selectedVersion);
} }
void VersionSelectWidget::on_switchServerVersionButton_clicked() void VersionSelectWidget::on_switchServerVersionButton_clicked()
{ {
if (selectedVersion != nullptr){ if (selectedVersion == nullptr)
emit sigSendSwitchVersion(selectedVersion); {
showWarning(tr("Версия не выбрана"));
return;
} }
versionContainer->setServerVersonData(selectedVersion);
ui->verValue->setText(selectedVersion->getViewName());
emit sigSendSwitchVersion(selectedVersion);
}
void VersionSelectWidget::showWarning(QString text)
{
QMessageBox warning;
warning.setText(text);
warning.setIcon(QMessageBox::Warning);
warning.setWindowTitle(tr("Ошибка"));
warning.exec();
} }
VersionSelectWidget::~VersionSelectWidget() VersionSelectWidget::~VersionSelectWidget()

View File

@@ -18,12 +18,13 @@ class VersionSelectWidget : public QWidget
public: public:
explicit VersionSelectWidget(QWidget *parent = nullptr); explicit VersionSelectWidget(QWidget *parent = nullptr);
void initialize(SendSystem *sendSystem);
void fillView(QList<StreamingVersionData*> *serverData);
~VersionSelectWidget();
void fillCurrentVersionName(QString versionName); void initialize(SendSystem *sendSystem,VersionContainer *versionContainer);
void fillView(QList<StreamingVersionData*> *serverData);
void sendCopyEmit(QString newName); void sendCopyEmit(QString newName);
void showWarning(QString text);
~VersionSelectWidget();
private slots: private slots:
void on_verListView_itemDoubleClicked(QListWidgetItem *item); void on_verListView_itemDoubleClicked(QListWidgetItem *item);
void on_createDuplicateButton_clicked(); void on_createDuplicateButton_clicked();
@@ -39,6 +40,7 @@ private:
Ui::VersionSelectWidget *ui; Ui::VersionSelectWidget *ui;
SendSystem *sendSystem; SendSystem *sendSystem;
QList<StreamingVersionData*> *serverDataList; QList<StreamingVersionData*> *serverDataList;
VersionContainer *versionContainer;
StreamingVersionData *selectedVersion; StreamingVersionData *selectedVersion;
}; };

View File

@@ -146,7 +146,7 @@
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>180</width> <width>170</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>