Сделал коннект и логин

This commit is contained in:
krivoshein
2024-12-03 17:38:06 +03:00
parent 27eda63932
commit c2ada0a8a5
219 changed files with 162385 additions and 1419 deletions

View File

@@ -0,0 +1,21 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 7
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_GCC_MAJOR_VERSION \
QMAKE_GCC_MINOR_VERSION \
QMAKE_GCC_PATCH_VERSION
QMAKE_CXX.INCDIRS = \
D:/QT/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++ \
D:/QT/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++/i686-w64-mingw32 \
D:/QT/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++/backward \
D:/QT/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include \
D:/QT/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0/include-fixed \
D:/QT/Tools/mingw730_32/i686-w64-mingw32/include
QMAKE_CXX.LIBDIRS = \
D:/QT/Tools/mingw730_32/lib/gcc/i686-w64-mingw32/7.3.0 \
D:/QT/Tools/mingw730_32/lib/gcc \
D:/QT/Tools/mingw730_32/i686-w64-mingw32/lib \
D:/QT/Tools/mingw730_32/lib

View File

@@ -0,0 +1 @@
[{"excluded":[],"includePaths":["D:/QT/5.14.2/mingw73_64/include","D:/QT/5.14.2/mingw73_64/include/QtWidgets","D:/QT/5.14.2/mingw73_64/include/QtGui","D:/QT/5.14.2/mingw73_64/include/QtANGLE","D:/QT/5.14.2/mingw73_64/include/QtNetwork","D:/QT/5.14.2/mingw73_64/include/QtCore","E:/Projects/QT/GUIProj/RRJClient/RRJClient","E:/Projects/QT/GUIProj/RRJClient/RRJClient"],"projectFile":"E:/Projects/QT/GUIProj/RRJClient/RRJClient/RRJClient.pro","sources":["E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/FileData.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/dataparser.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/dataparser.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/externalexecuter.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/externalexecuter.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/recognizesystem.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/recognizesystem.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/screenchecker.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/screenchecker.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tcpclient.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tcpclient.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tools.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tools.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/updatecontroller.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/updatecontroller.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Datas.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/main.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/mainwindow.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/mainwindow.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/mainwindow.ui"],"translations":["E:/Projects/QT/GUIProj/RRJClient/RRJClient/QtLanguage_ru.ts","E:/Projects/QT/GUIProj/RRJClient/RRJClient/QtLanguage_eng.ts"]}]

View File

@@ -0,0 +1,32 @@
#include <QList>
#include <QString>
#ifndef FILEDATA_H
#define FILEDATA_H
struct FileData
{
QString path;
QString hash;
bool operator==(const FileData& other)const{
if(this->path==(other.path)) return true;
return false;
}
}; //путь
struct SAttribute
{
QString name;
QString value;
};
struct SXmlAnswerTag{
QString elementName;
QList<SAttribute> attr;
};
#endif // FILEDATA_H

View File

@@ -0,0 +1,138 @@
#include "UpdateController.h"
#include <QDialogButtonBox>
UpdateController::UpdateController(DataParser *parser,SendSystem *sendSystem, QObject *parent) :
QObject(parent)
{
this->dataParser = parser;
this->sendSystem = sendSystem;
localPath = QDir::currentPath() + applicationFolderName;
calculateStreamingHash();
}
void UpdateController::calculateCommonHash()
{
fileDataList.clear();
calculateHash(localPath);
dataParser->createFileDataList(fileDataList,hashFilename);
qDebug() << "UpdateController threadID " << QThread::currentThreadId();
qDebug() << " OR " << thread();
}
void UpdateController::calculateStreamingHash()
{
fileDataList.clear();
calculateHash(QDir::currentPath() + streamingAssetsPath);
dataParser->createFileDataList(fileDataList,streamingHashFilename);
}
void UpdateController::calculateHash(QString path)
{
qDebug() << "Try calculate";
QDirIterator iterator(path,QDirIterator::Subdirectories);
fileDataList.clear();
QList<FileData> *files = new QList<FileData>;
QList<FileData> * folders = new QList<FileData>;
if(!QDir(applicationFolderName).exists()){ //проверка на наличие папки
QDir().mkdir(applicationFolderName);
}
QDir dir(path);
QString hashString;
while (iterator.hasNext())
{
iterator.next();
QFileInfo fileInfo = iterator.fileInfo();
FileData currentFile;
QFile file(fileInfo.absoluteFilePath());
quint64 fileSize = file.size(); //буффер для хэширования крупных файлов
const quint64 bufferSize = 10240;
if(fileInfo.isHidden()) continue;
if(fileInfo.isFile() && file.open(QIODevice::ReadOnly))
{
char buffer[bufferSize];
int bytesRead;
int readSize = qMin(fileSize,bufferSize);
QCryptographicHash hash(QCryptographicHash::Md5);
while(readSize > 0 && (bytesRead = file.read(buffer,readSize)) > 0){
fileSize -= bytesRead;
hash.addData(buffer,bytesRead);
readSize = qMin(fileSize,bufferSize);
}
hashString = QString(hash.result().toHex());
currentFile.path = Tools::createLocalPath(fileInfo.absoluteFilePath());
currentFile.hash = hashString;
files->push_back(currentFile);
file.close();
}
else if (fileInfo.isDir() && !fileInfo.isRoot() && fileInfo.fileName() != "..")
{
currentFile.path = Tools::createLocalPath(fileInfo.path());
currentFile.hash = "FOLDER";
if(!folders->contains(currentFile)){
folders->push_back(currentFile);
}
}
}
fileDataList.append(*folders);
fileDataList.append(*files);
delete folders;
delete files;
}
void UpdateController::updateFilesOnServer(QList<FileData> *fileSendList){
QListIterator<FileData> serverIterator(*fileSendList);
try {
while(serverIterator.hasNext())
{
FileData data = serverIterator.next();
if (data.hash == "FOLDER")
{
sendSystem->sendFolderBlock(data.path);
}
else
{
sendSystem->sendFileBlock(data.path);
}
}
calculateCommonHash();
sendSystem->sendFinish();
emit sigUpdateComplete(true);
}
catch (...)
{
emit sigUpdateComplete(false);
}
}
UpdateController::~UpdateController()
{
}

View File

@@ -0,0 +1,49 @@
#ifndef UPDATECONTROLLER_H
#define UPDATECONTROLLER_H
#include "Core\FileData.h"
#include "Core\dataparser.h"
#include "Core\tcpclient.h"
#include <QXmlStreamWriter>
#include <QXmlStreamReader>
#include <QXmlStreamAttribute>
#include <QCryptographicHash>
#include <QDirIterator>
#include <QFile>
#include <QTextStream>
#include <QDateTime>
#include <QDebug>
#include <QList>
#include <QObject>
class SendSystem;
class UpdateController : public QObject
{
Q_OBJECT
public:
explicit UpdateController(DataParser *parser,SendSystem *sendSystem,QObject *parent = 0);
void calculateCommonHash();
void calculateStreamingHash();
~UpdateController();
void updateFilesOnServer(QList<FileData> *fileSendList);
signals:
void sigUpdateComplete(bool flag);
private:
DataParser *dataParser;
SendSystem *sendSystem;
QString localPath;
QList<FileData> fileDataList;
void calculateHash(QString path);
};
#endif // UPDATECONTROLLER_H

View File

@@ -0,0 +1,341 @@
#include "Core/dataparser.h"
#include "FileData.h"
#include "tools.h"
#include <QDir>
DataParser::DataParser(QObject *parent) :
QObject(parent)
{
if(!QDir(staticDataFolderName).exists()){
QDir().mkdir(staticDataFolderName);
}
}
QByteArray DataParser::slotGetXmlAnswer(QString answerCode)
{
if(answerCode == "END"){
return xmlAnswer_notify(answerCode);
}
return nullptr;
}
void DataParser::createFileDataList(QList<FileData> fileDataList,QString filename)
{
QFile file(filename);
file.open(QIODevice::WriteOnly);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("FileDataList");
foreach (FileData data,fileDataList)
{
xmlWriter.writeStartElement("FileData");
xmlWriter.writeAttribute("Path",data.path);
xmlWriter.writeAttribute("Hash",data.hash);
xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement();
xmlWriter.writeEndDocument();
file.close();
}
void DataParser::createAuthMessage(ClientAutorization *auth)
{
authPassCache = auth; //кэширование даных авторизации, для сохранения при успешном заходе
QFile file(tempName);
file.open(QIODevice::WriteOnly);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("ClientAutorization");
xmlWriter.writeAttribute("Login",auth->Login);
xmlWriter.writeAttribute("Password",auth->Password);
xmlWriter.writeEndElement();
xmlWriter.writeEndElement();
xmlWriter.writeEndDocument();
file.close();
}
void DataParser::createServerSettings(QString address, QString port)
{
QFile file(settingsName);
file.open(QIODevice::WriteOnly);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("ServerSettingsContainer");
xmlWriter.writeStartElement("ServerSettings");
xmlWriter.writeAttribute("Address",address);
xmlWriter.writeAttribute("Port",port);
xmlWriter.writeAttribute("Language","RUS");
xmlWriter.writeAttribute("AutoStart",QString::number(false));
xmlWriter.writeEndElement();
xmlWriter.writeEndElement();
xmlWriter.writeEndDocument();
file.close();
}
void DataParser::createAuthData(ServerAuthorization *serverAuth)
{
QFile file(authTempName);
file.open(QIODevice::WriteOnly);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("AuthData");
xmlWriter.writeAttribute("Login",authPassCache->Login);
xmlWriter.writeAttribute("Password",authPassCache->Password);
xmlWriter.writeAttribute("InstructorName",serverAuth->InstructorName);
xmlWriter.writeAttribute("ClientName",serverAuth->ClientName);
xmlWriter.writeAttribute("AccessType",serverAuth->AccessType);
xmlWriter.writeEndElement();
file.close();
}
void DataParser::createAuthDataOffline(QString username, QString pass)
{
QFile file(authTempName);
file.open(QIODevice::WriteOnly);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("AuthData");
xmlWriter.writeAttribute("Login",username);
xmlWriter.writeAttribute("Password",pass);
xmlWriter.writeAttribute("InstructorName","empty");
xmlWriter.writeAttribute("ClientName","Offline");
xmlWriter.writeAttribute("AccessType","Offline");
xmlWriter.writeEndElement();
file.close();
}
QByteArray DataParser::xmlAnswer_notify(QString code)
{
QList<SXmlAnswerTag> listTag;
SAttribute attribute1 = {"Code", code};
QList<SAttribute> listAttr = {attribute1};
SXmlAnswerTag tag = {"ClientNotify", listAttr};
listTag.append(tag);
return xmlAnswer(listTag);
}
void DataParser::addRunData(QList<int> displays)
{
QFile file(displayTemp);
file.open(QIODevice::ReadWrite);
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true);
xmlWriter.writeStartElement("DisplayInfo");
xmlWriter.writeAttribute("DisplayCount",QString::number(displays.length()));
xmlWriter.writeEndElement();
file.close();
}
ServerSettings *DataParser::getServerSettings()
{
ServerSettings *settings = new ServerSettings;
QFile file(settingsName);
file.open(QIODevice::ReadOnly);
QXmlStreamReader xmlReader(&file);
while (!xmlReader.atEnd()){
if(xmlReader.isStartElement()){
if(xmlReader.name() == "ServerSettings"){
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes()){
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "Address"){
settings->Address = value;
}
if(name == "Port"){
settings->Port = value;
}
if(name == "Language"){
settings->Language = value;
}
if(name == "AutoStart"){
settings->isAutoStart = value.toInt();
}
}
}
}
xmlReader.readNext();
}
file.close();
return settings;
}
void DataParser::saveClientSettrings(QString language, bool isAutoStart)
{
QFile file(settingsName);
file.open(QIODevice::ReadOnly | QIODevice::Text);
QString settings = file.readAll();
file.close();
file.remove();
file.open(QIODevice::WriteOnly | QIODevice::Text);
auto languagePos = settings.indexOf(XMLLanguageProperty) + XMLLanguageProperty.length();
settings = settings.replace(languagePos,language.size(),language);
auto autoStartPos = settings.indexOf(XMLAutoStartProperty) + XMLAutoStartProperty.length();
settings = settings.replace(autoStartPos,1,QString::number(isAutoStart));
file.write(settings.toUtf8());
file.close();
}
QList<FileData>* DataParser::xmlFileDataParse(QByteArray array, QString filter = "")
{
QXmlStreamReader xmlReader(array);
QList<FileData> *datas = new QList<FileData>;
xmlReader.readNext(); // Переходим к первому элементу в файле
//Крутимся в цикле до тех пор, пока не достигнем конца документа
while(!xmlReader.atEnd())
{
//Проверяем, является ли элемент началом тега
if(xmlReader.isStartElement())
{
if(xmlReader.name() == "FileData")
{
FileData data;
foreach(const QXmlStreamAttribute &attr,xmlReader.attributes())
{
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "Path")
data.path = value;
else if(name == "Hash")
data.hash = value;
}
if(data.path.contains(filter))
datas->append(data);
}
}
xmlReader.readNext();
}
return datas;
}
QByteArray DataParser::xmlAnswer(QList<SXmlAnswerTag> listTag, QString elemUp1, QString elemUp2)
{
/* Открываем файл для Записи*/
QFile file(tempName);
file.open(QIODevice::WriteOnly);
/* Создаем объект, с помощью которого осуществляется запись в файл */
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true); // Устанавливаем автоформатирование текста
xmlWriter.writeStartDocument(); // Запускаем запись в документ
if(elemUp1 != "")
xmlWriter.writeStartElement(elemUp1); // Записываем тег
if(elemUp2 != "")
xmlWriter.writeStartElement(elemUp2); // Записываем тег
//Записываем все элементы
foreach(SXmlAnswerTag tag, listTag)
{
xmlWriter.writeStartElement(tag.elementName); // Записываем тег
// Записываем атрибуты
foreach(SAttribute attr, tag.attr)
xmlWriter.writeAttribute(attr.name, attr.value);
xmlWriter.writeEndElement(); // Закрываем тег
}
if(elemUp1 != "")
xmlWriter.writeEndElement(); // Закрываем тег
if(elemUp1 != "")
xmlWriter.writeEndElement(); // Закрываем тег
/* Завершаем запись в документ*/
xmlWriter.writeEndDocument();
file.close(); // Закрываем файл
QByteArray array;
/* Открываем файл для Чтения*/
QFile fileR(tempName);
if (!fileR.open(QFile::ReadOnly | QFile::Text))
{
QString str = "Не удалось открыть файл";
qDebug() << "xmlAnswer: " << str;
}
else
{
array = fileR.readAll();
fileR.close(); // Закрываем файл
}
return array;
}
DataParser::~DataParser()
{
}

View File

@@ -0,0 +1,42 @@
#ifndef DATAPARSER_H
#define DATAPARSER_H
#include "FileData.h"
#include <QObject>
#include <Datas.h>
#include <QFile>
#include <QXmlStreamWriter>
class DataParser : public QObject
{
Q_OBJECT
public:
explicit DataParser(QObject *parent = 0);
~DataParser();
ServerSettings* getServerSettings();
void createServerSettings(QString server,QString port);
void saveClientSettrings(QString language,bool isAutoStart);
void createFileDataList(QList<FileData> fileDataList,QString filename);
void createAuthMessage(ClientAutorization *auth);
void createAuthData(ServerAuthorization *serverAuth);
void createAuthDataOffline(QString username,QString pass);
void addRunData(QList<int> displays);
QByteArray xmlAnswer_notify(QString code);
QByteArray xmlAnswer(QList<SXmlAnswerTag> listTag, QString elemUp1 = "", QString elemUp2 = "");
QList<FileData>* xmlFileDataParse(QByteArray array,QString filter);
public slots:
QByteArray slotGetXmlAnswer(QString);
private:
const QString XMLLanguageProperty = "Language=\"";
const QString XMLAutoStartProperty = "AutoStart=\"";
ClientAutorization *authPassCache;
};
#endif // DATAPARSER_H

View File

@@ -0,0 +1,42 @@
#include "externalexecuter.h"
#include <QCoreApplication>
ExternalExecuter::ExternalExecuter()
{
}
ExternalExecuter::~ExternalExecuter()
{
}
void ExternalExecuter::callApp()
{
QProcess *myProcess = new QProcess(this);
QStringList args;
args << "1";
myProcess->start(programPath,args);
myProcess->waitForStarted();
QCoreApplication::exit();
}
bool ExternalExecuter::findApp()
{
QString localPath = QDir::currentPath() + applicationFolderName;
QDirIterator iterator(localPath,QDirIterator::Subdirectories);
while(iterator.hasNext()){
iterator.next();
if(iterator.fileInfo().fileName() == applicationEXEName){
programPath = iterator.fileInfo().absoluteFilePath();
return true;
}
}
return false;
}

View File

@@ -0,0 +1,26 @@
#ifndef EXTERNALEXECUTER_H
#define EXTERNALEXECUTER_H
#include <QObject>
#include <QString>
#include <QDir>
#include <QDirIterator>
#include <QProcess>
#include <QDebug>
#include "tools.h"
class ExternalExecuter : public QObject
{
Q_OBJECT
public:
ExternalExecuter();
void callApp();
bool findApp();
~ExternalExecuter();
private:
QString programPath;
};
#endif // EXTERNALEXECUTER_H

View File

@@ -0,0 +1,73 @@
#include "hashcomparer.h"
#include <QCoreApplication>
#include <updatenotifywidget.h>
HashComparer::HashComparer(DataParser *dataParser,QObject *)
{
this->dataParser = dataParser;
}
void HashComparer::CompareDeltas()
{
QList<FileData> *serverStreamingHash = new QList<FileData>;
QList<FileData> *localStreamingHash = new QList<FileData>;
QList<FileData> *files = new QList<FileData>;
QFile file(serverHash);
file.open(QIODevice::ReadOnly | QIODevice::Text);
serverStreamingHash = dataParser->xmlFileDataParse(file.readAll(),"StreamingAssets");
file.close();
QFile file2(streamingHashFilename);
file2.open(QIODevice::ReadOnly | QIODevice::Text);
localStreamingHash = dataParser->xmlFileDataParse(file2.readAll(),"StreamingAssets");
file2.close();
QMutableListIterator<FileData> iterator(*localStreamingHash);
for (auto &item:*localStreamingHash)
{
if(!serverStreamingHash->contains(item))
{
files->append(item);
}
}
filesForUpdate = files;
showDeltas();
}
void HashComparer::showDeltas()
{
if (filesForUpdate->length() <= 0)
{
emit sigCallCheck();
return;
}
for (auto &item:*filesForUpdate)
{
updateWidget->addToList(item);
}
emit sigHaveDelta();
}
void HashComparer::setWidget(UpdateNotifyWidget* updateWidget)
{
this->updateWidget = updateWidget;
}
QList<FileData> *HashComparer::getFilesForUpdate() const
{
return filesForUpdate;
}
HashComparer::~HashComparer()
{
}

View File

@@ -0,0 +1,34 @@
#ifndef HASHCOMPARER_H
#define HASHCOMPARER_H
#include "FileData.h"
#include "dataparser.h"
#include "tools.h"
#include <QObject>
#include <QFile>
#include <updatenotifywidget.h>
class UpdateNotifyWidget;
class HashComparer :public QObject
{
Q_OBJECT
public:
explicit HashComparer(DataParser *dataParser,QObject *parent = nullptr);
void CompareDeltas();
~HashComparer();
void showDeltas();
void setWidget(UpdateNotifyWidget *updateWidget);
QList<FileData> *getFilesForUpdate() const;
signals:
void sigCallCheck();
void sigHaveDelta();
private:
UpdateNotifyWidget* updateWidget;
QList<FileData> *filesForUpdate;
DataParser *dataParser;
};
#endif // HASHCOMPARER_H

View File

@@ -0,0 +1,36 @@
#include "UpdateController.h"
#include "dataparser.h"
#include "externalexecuter.h"
#include "screenchecker.h"
#include <QCoreApplication>
#include <QDebug>
#include <QObject>
#include <nonblockedinput.h>
#include <tcpclient.h>
#include <QTextCodec>
#include <QProcess>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
setlocale(LC_ALL,"Russian");
NonBlockedInput cli;
TCPClient *client = new TCPClient;
DataParser *parser = new DataParser;
UpdateController *updateController = new UpdateController(parser);
RecognizeSystem *recognizeSystem = new RecognizeSystem;
ScreenChecker *screenChecker = new ScreenChecker;
ExternalExecuter *externalExecuter = new ExternalExecuter;
client->Initialize(updateController,recognizeSystem,externalExecuter);
recognizeSystem->Initialize(updateController);
QObject::connect(&cli,&NonBlockedInput::LineIsRead,client,&TCPClient::onMessageEntered);
//screenChecker->Check();
return a.exec();
}

View File

@@ -0,0 +1,18 @@
#include "nonblockedinput.h"
NonBlockedInput::NonBlockedInput(QObject *parent)
{
this->moveToThread(&thread);
connect(&thread,&QThread::started, this, &NonBlockedInput::ReadLine);
thread.start();
}
void NonBlockedInput::ReadLine()
{
QTextStream inputStream(stdin);
QString line;
while (inputStream.readLineInto(&line)){
emit LineIsRead(line);
}
}

View File

@@ -0,0 +1,24 @@
#ifndef NONBLOCKEDINPUT_H
#define NONBLOCKEDINPUT_H
#include <QTextStream>
#include <QDebug>
#include <QThread>
class NonBlockedInput : public QObject
{
Q_OBJECT
public:
explicit NonBlockedInput(QObject* parent = nullptr);
private:
QThread thread;
signals:
void LineIsRead(QString line);
private slots:
void ReadLine();
};
#endif // NONBLOCKEDINPUT_H

View File

@@ -0,0 +1,337 @@
#include "Core/recognizesystem.h"
#include <updatenotifywidget.h>
RecognizeSystem::RecognizeSystem(QObject *parent):
QObject(parent)
{
packetType = PacketType::TYPE_NONE;
filePath.clear();
fileSize = 0;
message.clear();
sizeReceiveData = 0;
tmpBlock.clear();
countSend = 0;
folderList = new QList<QString>;
}
RecognizeSystem::~RecognizeSystem()
{
}
void RecognizeSystem::initialize(UpdateController *updateController,DataParser *dataParser,MainWindow *mainWindow)
{
this->updateController = updateController;
this->dataParser = dataParser;
this->mainWindow = mainWindow;
connect(this,&RecognizeSystem::sigSaveLoginData,dataParser,&DataParser::createAuthData);
}
void RecognizeSystem::recognize(QTcpSocket *socket)
{
qDebug() << "RecognizeThreadId " << QThread::currentThreadId();
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
while(socket->bytesAvailable())
{
if (socket->state() != QTcpSocket::ConnectedState) return;
if(packetType == PacketType::TYPE_NONE){ //определение первичного пакета
stream.startTransaction();
stream >> packetType;
if(!stream.commitTransaction()){
emit sigSendDebugLog(Tools::getTime() + " CLIENT: packetType - FAIL commitTransaction");
if(socket->waitForReadyRead(TCP_READ_TIMEOUT)){
emit sigSendDebugLog("ERROR: PACKET TYPE READ TIMEOUT");
return;
}
continue;
}
//qDebug() << Tools::GetTime() << "CLIENT: type: " << packetType;
}
if(packetType == PacketType::TYPE_FOLDER){ //создание папок
stream.startTransaction();
stream >> filePath;
if(!stream.commitTransaction()){
continue;
}
filePath = Tools::createFullPath(filePath);
QDir dir(filePath);
if(!dir.exists()){
if(dir.mkpath(filePath)){
qDebug() << "Dir Created";
}
}
packetType = PacketType::TYPE_NONE;
emit sigUpdateBytesAvailable();
continue;
}
if(packetType == PacketType::TYPE_FILE) //загрузка файлов
{
//ПОЛУЧЕНИЕ ПУТИ
//ПОЛУЧЕНИЕ РАЗМЕРА ФАЙЛА
forever
{
stream.startTransaction();
stream >> filePath;
stream >> fileSize;
if(!stream.commitTransaction()){
emit sigSendDebugLog(Tools::getTime() + "CLIENT: filePath, fileSize - FAIL commitTransaction");
if (!socket->waitForReadyRead(TCP_READ_TIMEOUT)) {
emit sigSendDebugLog(Tools::getTime() + "CLIENT: ERROR! readyRead timeout - filePath, fileSize!!!");
return;
}
continue;
}
filePath = Tools::createFullPath(filePath);
emit sigSendDebugLog("CLIENT: filesize: " + QString::number(fileSize));
emit sigSendDebugLog("CLIENT: filePath: " + filePath);
socket->waitForReadyRead(100);
break;
}
//ПОЛУЧЕНИЕ САМОГО ФАЙЛА
emit sigSendDebugLog(Tools::getTime() + "AfterRead size and path BytesAvailable: " + socket->bytesAvailable());
//УКАЗАНИЕ ПУТИ ФАЙЛА
QFile file(filePath);
if (file.exists())
{
file.remove(); //удаление файла, если он уже есть, но необходимо обновить
emit sigSendDebugLog(Tools::getTime() + "Delete exist file: " + filePath);
socket->waitForReadyRead(100);
}
file.open(QFile::Append);
forever
{
stream.startTransaction();
stream >> tmpBlock;
if(!stream.commitTransaction()){
if(socket->state() == QAbstractSocket::UnconnectedState){
emit sigSocketDisabled();
return;
}
if(socket->waitForReadyRead(TCP_READ_TIMEOUT)){
continue;
}
continue;
}
quint64 toFile = file.write(tmpBlock);
emit sigSendDebugLog(Tools::getTime() + "CLIENT: toFile :" + toFile);
sizeReceiveData += toFile;
countSend++;
tmpBlock.clear();
if(sizeReceiveData == fileSize){
emit sigSendDebugLog(Tools::getTime() + "FINAL Count send: " + QString::number(countSend));
emit sigSendDebugLog(Tools::getTime() + "FINAL Size received: " + QString::number(sizeReceiveData));
emit sigSendDebugLog(Tools::getTime() + "FINAL File size" + QString::number(fileSize));
emit sigUpdateBytesAvailable();
break;
}
}
file.close();
emit sigSendDebugLog(Tools::getTime() + "File loaded");
//ОЧИСТКА ПОСЛЕ ПЕРЕДАЧИ
filePath.clear();
fileSize = 0;
tmpBlock.clear();
sizeReceiveData = 0;
countSend = 0;
}
if(packetType == PacketType::TYPE_DELETE) //удаление лишних файлов (рекурсивно удаляет все содежимое)
{
stream.startTransaction();
stream >> filePath;
if(!stream.commitTransaction()){
continue;
}
filePath = Tools::createFullPath(filePath);
QFileInfo fileInfo(filePath);
if(fileInfo.exists())
{
if(fileInfo.isFile())
{
QFile file(filePath);
file.remove();
}
if(fileInfo.isDir()){
QDir dir(filePath);
dir.removeRecursively();
}
qDebug() << Tools::getTime() << "Deleted: " << filePath;
}
packetType = PacketType::TYPE_NONE;
continue;
}
if(packetType ==PacketType::TYPE_FINISH){ //для повторного создания хэша после загрузки
updateController->calculateCommonHash();
emit sigLoadComplete();
packetType = PacketType::TYPE_NONE;
}
if(packetType == PacketType::TYPE_NEEDUPDATE){ //нужно обновление
bool flag = false;
quint64 size = 0;
quint64 fileCount = 0;
stream.startTransaction();
stream >> flag;
stream >> size;
stream >> fileCount;
if(!stream.commitTransaction()){
continue;
}
emit sigNeedUpdate(flag,size,fileCount);
packetType = PacketType::TYPE_NONE;
}
if(packetType == PacketType::TYPE_XMLANSWER){ //ответы формата XML
QByteArray array;
stream.startTransaction();
stream >> array;
if(!stream.commitTransaction()){
continue;
}
xmlParser(array);
packetType = PacketType::TYPE_NONE;
}
packetType = PacketType::TYPE_NONE;
}
}
void RecognizeSystem::xmlParser(QByteArray array)
{
QXmlStreamReader xmlReader(array);
xmlReader.readNext();
while(!xmlReader.atEnd())
{
if(!xmlReader.isStartElement()) {
xmlReader.readNext();
continue;
}
if(xmlReader.name() == "ServerNotify")
{
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes())
{
QString name = attr.name().toString();
QString value = attr.value().toString();
if(name == "Code")
{
if (value == "END")
{
emit sigSocketDisabled();
}
if(value == "BLOCKED")
{
emit sigServerBlocked();
}
if(value == "HASHSENDCOMPLETE")
{
emit sigStartCompare();
}
}
}
}
if(xmlReader.name() == "ServerAuthorization"){
ServerAuthorization *serverAuth = new ServerAuthorization;
foreach(const QXmlStreamAttribute &attr, xmlReader.attributes())
{
QString name = attr.name().toString();
QString value = attr.value().toString();
if (name == "Result"){
serverAuth->Result = value == "true" ? true : false;
}
if (name == "InstructorName"){
serverAuth->InstructorName = value;
}
if (name == "ClientName"){
serverAuth->ClientName = value;
}
if (name == "AccessType"){
serverAuth->AccessType = value;
checkAccessType(value);
}
}
emit sigSaveLoginData(serverAuth);
}
xmlReader.readNext();
}
}
void RecognizeSystem::checkAccessType(QString type)
{
if(type == "instructor")
{
mainWindow->callUpdateList();
}
}

View File

@@ -0,0 +1,55 @@
#ifndef RECOGNIZESYSTEM_H
#define RECOGNIZESYSTEM_H
#include <QObject>
#include <QDataStream>
#include <QTcpSocket>
#include <mainwindow.h>
#include <Core\tools.h>
#include <Core\UpdateController.h>
class UpdateController;
class MainWindow;
class RecognizeSystem : public QObject
{
Q_OBJECT
public:
explicit RecognizeSystem(QObject *parent = 0);
~RecognizeSystem();
void initialize(UpdateController* updateController,DataParser *dataParser,MainWindow *mainWindow);
void recognize(QTcpSocket *socket);
signals:
void sigUpdateBytesAvailable();
void sigLoadComplete();
void sigNeedUpdate(bool flag,qint64 size,quint64 fileCount);
void sigSendDebugLog(QString message);
void sigSocketDisabled();
void sigServerBlocked();
void sigSaveLoginData(ServerAuthorization *serverAuth);
void sigSocketWaitForReadyRead(int waitTime);
void sigStartCompare();
private:
QList<QString> *folderList;
MainWindow *mainWindow;
UpdateController *updateController;
DataParser *dataParser;
PacketType packetType;
QString message;
QString filePath;
QByteArray tmpBlock;
qint64 sizeReceiveData;
qint64 fileSize;
int countSend;
void xmlParser(QByteArray array);
void checkAccessType(QString type);
};
#endif // RECOGNIZESYSTEM_H

View File

@@ -0,0 +1,132 @@
#include "screenchecker.h"
#include <QLabel>
#include <QBitmap>
#include <QToolButton>
#include <QPainter>
ScreenChecker::ScreenChecker(QWidget *mainWidget,DataParser *dataParser, QHBoxLayout *layout, QObject *parent) :
QObject(parent)
{
screenCount = 0;
this->mainWidget = mainWidget;
this->layout = layout;
this->dataParser = dataParser;
}
void ScreenChecker::check()
{
screens = QGuiApplication::screens();
QPixmap checkedPixmap(":resource/Icons/checked.png");
checkedPixmap = checkedPixmap.scaled(20,20);
QPainter painter;
QColor color(51,153,0,255);
painter.begin(&checkedPixmap);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(checkedPixmap.rect(),color);
painter.end();
QIcon checkedIcon;
checkedIcon.addPixmap(checkedPixmap,QIcon::Disabled,QIcon::On);
qint8 sizeVertical = 90;
quint16 sizeHorizontal = 150;
if(screens.length() > 3)
{
sizeVertical = 80;
sizeHorizontal = 120;
}
for (int i = 0; i < screens.length() ;i++)
{
QScreen *display = screens[i];
screenCount++;
QString sizeText = QString::number(display->size().width()) + "x" + QString::number(display->size().height());
sizeText.append("\n");
sizeText.append(QString::number(display->refreshRate()) + "Hz");
QToolButton *button = new QToolButton();
button->setText(sizeText);
button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
button->setObjectName("displayView");
buttons.append(button);
layout->addWidget(button);
float width = display->size().width();
float height = display->size().height();
float ratio = width / height;
QSize *sizeResult;
QPushButton *checkedLabel = new QPushButton;
checkedLabel->setParent(button);
checkedLabel->setIcon(checkedIcon);
checkedLabel->setObjectName("checkedLabelButton");
checkedLabel->setGeometry(3,3,30,30);
if(height > width)
{
sizeResult = new QSize(sizeVertical,sizeVertical / ratio);
}
else
{
sizeResult = new QSize(sizeHorizontal,sizeHorizontal/ ratio);
}
button->setMinimumSize(*sizeResult);
button->setMaximumSize(*sizeResult);
button->setCheckable(true);
if(i == 0)
{
button->setChecked(true);
button->setEnabled(false);
}
labels.append(checkedLabel);
connect(button,&QToolButton::clicked,this,&ScreenChecker::updateDisplayData);
}
updateDisplayData();
}
void ScreenChecker::updateDisplayData()
{
QList<int> *displays = new QList<int>;
for (int i = 0; i <buttons.count();i++)
{
QToolButton *button = buttons[i];
if(button->isChecked())
{
displays->append(i);
labels[i]->show();
}
else
{
labels[i]->hide();
}
}
dataParser->addRunData(*displays);
}
QString ScreenChecker::getScreenCount() const
{
return QString::number(screenCount);
}
ScreenChecker::~ScreenChecker()
{
for (int i = 0; i < buttons.size(); i++)
{
delete buttons[i];
}
}

View File

@@ -0,0 +1,39 @@
#ifndef SCREENCHECKER_H
#define SCREENCHECKER_H
#include "dataparser.h"
#include <QObject>
#include <QScreen>
#include <QGuiApplication>
#include <QDebug>
#include <QPushButton>
#include <QHBoxLayout>
#include <QToolButton>
#include <QLabel>
class ScreenChecker : public QObject
{
Q_OBJECT
public:
explicit ScreenChecker(QWidget *widget,DataParser *dataParser, QHBoxLayout *layout,QObject *parent = nullptr);
~ScreenChecker();
void check();
QString getScreenCount() const;
private:
QWidget *mainWidget;
DataParser *dataParser;
QWidget *widget;
QHBoxLayout *layout;
qint64 screenCount;
QList<QScreen *> screens;
QList<QToolButton *> buttons;
QList<QPushButton *> labels;
void updateDisplayData();
};
#endif // SCREENCHECKER_H

View File

@@ -0,0 +1,135 @@
#include "sendsystem.h"
#include "tools.h"
#include <QFile>
#include <QFileInfo>
#include <QThread>
SendSystem::SendSystem(QObject *)
{
}
void SendSystem::setSocket(QTcpSocket *socket)
{
this->socket = socket;
}
void SendSystem::sendDisable()
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
QByteArray data;
data = emit sigGetXmlAnswer("DISABLE");
stream << PacketType::TYPE_XMLANSWER;
stream << data;
socket->waitForBytesWritten();
}
void SendSystem::sendClientAutorization()
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
QFile file(tempName);
file.open(QIODevice::ReadOnly);
QByteArray array = file.readAll();
stream << PacketType::TYPE_XMLANSWER;
stream << array;
socket->waitForBytesWritten();
file.close();
}
void SendSystem::sendFileBlock(QString path)
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
QString fullPath = Tools::createFullPath(path);
quint64 fileSize = 0;
int countSend = 0;
QFile file(fullPath); //Открываем файл для чтения
QFileInfo fileInfo(file);
fileSize = fileInfo.size();
stream << PacketType::TYPE_FILE; //Отправляем тип блока
stream << path << fileSize;
socket->waitForReadyRead(20);
//socket->waitForBytesWritten();
if(file.open(QFile::ReadOnly)){
while(!file.atEnd()){
QByteArray data = file.read(1025*250);
stream << data;
socket->waitForBytesWritten();
countSend++;
}
qDebug() << Tools::getTime() << "count end Final: " << countSend;
}
file.close();
emit sigSend();
//qDebug() << "Transaction after send file: " << socket->isTransactionStarted();
countSend = 0;
//socket->waitForBytesWritten();
socket->waitForReadyRead(20);
}
void SendSystem::sendFolderBlock(QString path)
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
stream << PacketType::TYPE_FOLDER;
stream << path;
emit sigSend();
socket->waitForReadyRead(100);
}
void SendSystem::sendQTConnect()
{
QString value = QString::number(PacketType::TYPE_QT);
socket->write(value.toUtf8());
socket->waitForBytesWritten();
}
void SendSystem::sendXMLAnswer(QByteArray array)
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
stream << PacketType::TYPE_XMLANSWER;
stream << array;
socket->waitForBytesWritten();
socket->waitForReadyRead(100);
}
void SendSystem::sendFinish()
{
socket->waitForReadyRead(100);
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
stream << PacketType::TYPE_FINISH;
socket->waitForReadyRead(100);
}
SendSystem::~SendSystem()
{
}

View File

@@ -0,0 +1,30 @@
#ifndef SENDSYSTEM_H
#define SENDSYSTEM_H
#include <QObject>
#include <QTcpSocket>
#include <QDataStream>
class SendSystem :public QObject
{
Q_OBJECT
public:
explicit SendSystem(QObject* parent = nullptr);
void setSocket(QTcpSocket *socket);
void sendClientAutorization();
void sendDisable();
void sendFileBlock(QString path);
void sendFolderBlock(QString path);
void sendQTConnect();
void sendXMLAnswer(QByteArray array);
~SendSystem();
void sendFinish();
signals:
void sigSend();
QByteArray sigGetXmlAnswer(QString);
private:
QTcpSocket *socket;
};
#endif // SENDSYSTEM_H

View File

@@ -0,0 +1,145 @@
#include "tcpclient.h"
#include "UpdateController.h"
#include "externalexecuter.h"
#include <QDir>
TCPClient::TCPClient(QObject *parent) :
QObject(parent)
{
}
void TCPClient::initialize(RecognizeSystem *recognize,ExternalExecuter *externalExecuter,SendSystem *sendSystem)
{
this->recognizeSystem = recognize;
this->externalExecuter = externalExecuter;
this->sendSystem = sendSystem;
isConnected = false;
emit sigSendDebugLog(Tools::getTime() + " Client started");
}
void TCPClient::setConnect(ServerSettings *serverSettings)
{
socket = new QTcpSocket();
qDebug() << "TCPCLient thread: " << thread();
if (socket != NULL && socket->state() == QTcpSocket::ConnectedState)
{
emit sigSendDebugLog("already connected");
return;
}
socket->connectToHost(serverSettings->Address,serverSettings->Port.toShort());
emit sigSendDebugLog("Try connect...");
isConnected = true;
if (socket->waitForConnected(2000))
{
connect(socket,&QTcpSocket::readyRead,this,&TCPClient::slotReadyRead,Qt::DirectConnection);
connect(socket,&QTcpSocket::disconnected,this,&TCPClient::setDisconnect);
//connect(socket,&QTcpSocket::connected,this,&TCPClient::slotConnectNotify);
connect(this,&TCPClient::sigRecognize,recognizeSystem,&RecognizeSystem::recognize,Qt::DirectConnection);
connect(this,&TCPClient::sigSetSocket,sendSystem,&SendSystem::setSocket);
emit sigSetSocket(socket);
slotConnectNotify();
}
else
{
isConnected = false;
emit sigServerDisconnect();
}
}
void TCPClient::setDisconnect()
{
socket->disconnect();
isConnected = false;
emit sigServerDisconnect();
emit sigSendDebugLog("Server disabled");
}
void TCPClient:: waitRead(int time)
{
socket->waitForReadyRead(time);
}
QTcpSocket *TCPClient::getSocket()
{
return socket;
}
void TCPClient::slotSendCommand(QString command)
{
QDataStream stream(socket);
QByteArray data;
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
if(!command.isEmpty() && socket->state() == QTcpSocket::ConnectedState){
if(command == "check")
{
stream << PacketType::TYPE_COMMAND;
stream << command;
socket->waitForBytesWritten();
sendSystem->sendFileBlock("/" + hashFilename);
emit sigSendDebugLog(Tools::getTime() + " Local checkFile sended");
socket->waitForReadyRead(1000);
}
else if(command == "update"){
emit sigSendDebugLog("Update started");
stream << PacketType::TYPE_COMMAND;
stream << command;
socket->waitForReadyRead(1000);
}
else if(command == "run"){
externalExecuter->callApp();
}
}else{
emit sigSendDebugLog("WRONG SOCKET AFTER ENTERED");
}
}
void TCPClient::slotConnectNotify()
{
if(socket->state() != QTcpSocket::ConnectedState)
{
isConnected = false;
emit sigSendDebugLog("Connect invalid");
emit sigConnectionState(false);
return;
}
else
{
isConnected = true;
emit sigSendDebugLog("Connect complete");
emit sigConnectionState(true);
sendSystem->sendQTConnect();
}
}
void TCPClient::slotReadyRead()
{
if(!socket){
emit sigSendDebugLog("WRONG SOCKET");
return;
}
emit sigRecognize(socket);
}
bool TCPClient::getIsConnected() const
{
return isConnected;
}
TCPClient::~TCPClient()
{
}

View File

@@ -0,0 +1,61 @@
#ifndef TCPCLIENT_H
#define TCPCLIENT_H
#include <QObject>
#include <QTcpSocket>
#include <QHostAddress>
#include <QDataStream>
#include <QTcpServer>
#include <QFile>
#include <QCoreApplication>
#include "Core\recognizesystem.h"
#include "Core\tools.h"
#include "Core\UpdateController.h"
#include "Core\externalexecuter.h"
class UpdateController;
class RecognizeSystem;
class SendSystem;
class TCPClient : public QObject
{
Q_OBJECT
public:
explicit TCPClient(QObject *parent = 0);
void initialize(RecognizeSystem *recognize,ExternalExecuter *externalExecuter,SendSystem *sendSystem);
void setConnect(ServerSettings *serverSettings);
void waitRead(int time);
QTcpSocket* getSocket();
~TCPClient();
bool getIsConnected() const;
signals:
void sigSendDebugLog(QString message);
void sigRecognize(QTcpSocket *socket);
void sigServerDisconnect();
void sigConnectionState(bool flag);
void sigSetSocket(QTcpSocket *socket);
public slots:
void slotSendCommand(QString message);
void slotConnectNotify();
private slots:
void slotReadyRead();
private:
SendSystem *sendSystem;
QTcpSocket *socket;
RecognizeSystem *recognizeSystem;
ExternalExecuter * externalExecuter;
bool isConnected;
void setDisconnect();
};
#endif // TCPCLIENT_H

View File

@@ -0,0 +1,58 @@
#include "tools.h"
#include <qdir.h>
void Tools::printTime()
{
qDebug() << QTime::currentTime().toString("hh:mm:ss");
}
QString Tools::getTime()
{
return QTime::currentTime().toString(("hh:mm:ss"));
}
QString Tools::createLocalPath(QString path)
{
qDebug() << "Full path: " << path;
qint8 pos = path.indexOf("Application");
QString localPath = path.remove(0,--pos);
qDebug() << "Local path: " << localPath;
return localPath;
}
QString Tools::createFullPath(QString path)
{
QString fullPath;
qint8 pos = path.indexOf("Application");
QString localPath = path.remove(0,--pos);
qDebug() << "CLIENT: localPath" << localPath;
fullPath = QDir::currentPath() + localPath;
return fullPath;
}
QString Tools::convertFileSize(quint64 fileSize)
{
quint64 megaByte = fileSize / (1024 * 1024);
QString resultSize;
if (megaByte == 0)
{
auto kiloByte = fileSize / 1024;
resultSize = QString::number(kiloByte) + "кб. ";
}
else
{
resultSize = QString::number(megaByte) + "мб. ";
}
QString result = resultSize;
return result;
}

View File

@@ -0,0 +1,46 @@
#ifndef GLOBAL_H
#define GLOBAL_H
#include <QString>
#include <QTime>
#include <QDebug>
#define TCP_READ_TIMEOUT 2000
static QString applicationEXEName = "RRJ.exe";
static QString applicationFolderName = "/Application";
static QString staticDataFolderName = "StaticData";
static QString streamingAssetsPath = "/Application/RRJLoader/RRJ_Data/StreamingAssets";
static QString hashFilename = staticDataFolderName + "/clientHash.xml";
static QString settingsName = staticDataFolderName + "/settings.xml";
static QString tempName = staticDataFolderName + "/temp.xml";
static QString authTempName = staticDataFolderName + "/authData.xml";
static QString displayTemp = staticDataFolderName + "/displayData.xml";
static QString streamingHashFilename = staticDataFolderName + "/streamingHash.xml";
static QString serverHash = staticDataFolderName + "/serverHash.xml";
enum PacketType{
TYPE_NONE = 0,
TYPE_UNITY = 1,
TYPE_FILE = 2,
TYPE_COMMAND = 3,
TYPE_FOLDER = 4,
TYPE_DELETE = 5,
TYPE_FINISH = 6,
TYPE_NEEDUPDATE = 7,
TYPE_XMLANSWER = 8,
TYPE_QT = 9,
TYPE_DISABLE = 11
};
class Tools {
public:
static void printTime();
static QString getTime();
static QString createLocalPath(QString path);
static QString createFullPath(QString path);
static QString convertFileSize(quint64 fileSize);
};
#endif // GLOBAL_H

View File

@@ -0,0 +1,58 @@
#ifndef DATAS_H
#define DATAS_H
#include <QString>
class ServerSettings{
public:
QString Address;
QString Port;
QString Language;
bool isAutoStart;
};
class ServerAuthorization{
public:
QString InstructorName;
QString ClientName;
bool Result;
QString AccessType;
};
class ClientAutorization{
public:
QString Login;
QString Password;
};
class ServerMessage
{
public:
QString Text;
};
class ClientMessage
{
public:
QString Text;
};
class ServerTask
{
public:
QString Text;
};
class ServerNotify
{
public:
QString Code;
};
class ClientNotify
{
public:
QString Code;
};
#endif // DATAS_H

View File

@@ -0,0 +1 @@
[{"excluded":[],"includePaths":["D:/QT/5.14.2/mingw73_64/include","D:/QT/5.14.2/mingw73_64/include/QtWidgets","D:/QT/5.14.2/mingw73_64/include/QtGui","D:/QT/5.14.2/mingw73_64/include/QtANGLE","D:/QT/5.14.2/mingw73_64/include/QtNetwork","D:/QT/5.14.2/mingw73_64/include/QtCore","E:/Projects/QT/GUIProj/RRJClient/RRJClient","E:/Projects/QT/GUIProj/RRJClient/RRJClient"],"projectFile":"E:/Projects/QT/GUIProj/RRJClient/RRJClient/RRJClient.pro","sources":["E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/FileData.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/dataparser.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/dataparser.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/externalexecuter.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/externalexecuter.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/recognizesystem.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/recognizesystem.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/screenchecker.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/screenchecker.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tcpclient.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tcpclient.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tools.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/tools.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/updatecontroller.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Core/updatecontroller.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/Datas.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/main.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/mainwindow.cpp","E:/Projects/QT/GUIProj/RRJClient/RRJClient/mainwindow.h","E:/Projects/QT/GUIProj/RRJClient/RRJClient/mainwindow.ui"],"translations":["E:/Projects/QT/GUIProj/RRJClient/RRJClient/QtLanguage_ru.ts","E:/Projects/QT/GUIProj/RRJClient/RRJClient/QtLanguage_eng.ts"]}]

View File

@@ -0,0 +1,524 @@
#############################################################################
# Makefile for building: RRJClient
# Generated by qmake (3.1) (Qt 5.14.2)
# Project: RRJClient.pro
# Template: app
# Command: D:\QT\5.14.2\mingw73_64\bin\qmake.exe -o Makefile RRJClient.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
#############################################################################
MAKEFILE = Makefile
EQ = =
first: debug
install: debug-install
uninstall: debug-uninstall
QMAKE = D:\QT\5.14.2\mingw73_64\bin\qmake.exe
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = copy /y
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
QINSTALL = D:\QT\5.14.2\mingw73_64\bin\qmake.exe -install qinstall
QINSTALL_PROGRAM = D:\QT\5.14.2\mingw73_64\bin\qmake.exe -install qinstall -exe
DEL_FILE = del
SYMLINK = $(QMAKE) -install ln -f -s
DEL_DIR = rmdir
MOVE = move
IDC = idc
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
SED = $(QMAKE) -install sed
MOVE = move
SUBTARGETS = \
debug \
release
debug: FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-all: FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall
release: FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_first: FORCE
$(MAKE) -f $(MAKEFILE).Release
release-all: FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
Makefile: RRJClient.pro D:/QT/5.14.2/mingw73_64/mkspecs/win32-g++/qmake.conf D:/QT/5.14.2/mingw73_64/mkspecs/features/spec_pre.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/qdevice.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/features/device_config.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/common/sanitize.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/common/gcc-base.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/common/g++-base.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/common/angle.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/windows_vulkan_sdk.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/common/windows-vulkan.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/common/g++-win32.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/common/windows-desktop.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/qconfig.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_accessibility_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bodymovin_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bootstrap_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designercomponents_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_edid_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_egl_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fb_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_packetprotocol_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldebug_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldevtools_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickparticles_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickshapes_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_theme_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uiplugin.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_vulkan_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_zlib_private.pri \
D:/QT/5.14.2/mingw73_64/mkspecs/features/qt_functions.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/qt_config.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/win32-g++/qmake.conf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/spec_post.prf \
.qmake.stash \
D:/QT/5.14.2/mingw73_64/mkspecs/features/exclusive_builds.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/toolchain.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/default_pre.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/default_pre.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/resolve_config.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/exclusive_builds_post.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/default_post.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/qml_debug.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/precompile_header.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/warn_on.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/qt.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/resources_functions.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/resources.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/moc.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/opengl.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/uic.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/qmake_use.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/file_copies.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/windows.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/testcase_targets.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/exceptions.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/yacc.prf \
D:/QT/5.14.2/mingw73_64/mkspecs/features/lex.prf \
RRJClient.pro \
D:/QT/5.14.2/mingw73_64/lib/Qt5Widgets.prl \
D:/QT/5.14.2/mingw73_64/lib/Qt5Gui.prl \
D:/QT/5.14.2/mingw73_64/lib/Qt5Network.prl \
D:/QT/5.14.2/mingw73_64/lib/Qt5Core.prl \
D:/QT/5.14.2/mingw73_64/lib/qtmain.prl \
D:/QT/5.14.2/mingw73_64/mkspecs/features/build_pass.prf \
resources.qrc
$(QMAKE) -o Makefile RRJClient.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
D:/QT/5.14.2/mingw73_64/mkspecs/features/spec_pre.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/qdevice.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/features/device_config.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/common/sanitize.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/common/gcc-base.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/common/g++-base.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/common/angle.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/windows_vulkan_sdk.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/common/windows-vulkan.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/common/g++-win32.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/common/windows-desktop.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/qconfig.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_accessibility_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bodymovin_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bootstrap_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designercomponents_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_edid_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_egl_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fb_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_packetprotocol_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldebug_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldevtools_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickparticles_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickshapes_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_theme_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uiplugin.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_vulkan_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/modules/qt_lib_zlib_private.pri:
D:/QT/5.14.2/mingw73_64/mkspecs/features/qt_functions.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/qt_config.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/win32-g++/qmake.conf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/spec_post.prf:
.qmake.stash:
D:/QT/5.14.2/mingw73_64/mkspecs/features/exclusive_builds.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/toolchain.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/default_pre.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/default_pre.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/resolve_config.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/exclusive_builds_post.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/default_post.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/qml_debug.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/precompile_header.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/warn_on.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/qt.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/resources_functions.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/resources.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/moc.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/opengl.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/uic.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/qmake_use.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/file_copies.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/win32/windows.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/testcase_targets.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/exceptions.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/yacc.prf:
D:/QT/5.14.2/mingw73_64/mkspecs/features/lex.prf:
RRJClient.pro:
D:/QT/5.14.2/mingw73_64/lib/Qt5Widgets.prl:
D:/QT/5.14.2/mingw73_64/lib/Qt5Gui.prl:
D:/QT/5.14.2/mingw73_64/lib/Qt5Network.prl:
D:/QT/5.14.2/mingw73_64/lib/Qt5Core.prl:
D:/QT/5.14.2/mingw73_64/lib/qtmain.prl:
D:/QT/5.14.2/mingw73_64/mkspecs/features/build_pass.prf:
resources.qrc:
qmake: FORCE
@$(QMAKE) -o Makefile RRJClient.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
qmake_all: FORCE
make_first: debug-make_first release-make_first FORCE
all: debug-all release-all FORCE
clean: debug-clean release-clean FORCE
distclean: debug-distclean release-distclean FORCE
-$(DEL_FILE) Makefile
-$(DEL_FILE) .qmake.stash
debug-mocclean:
$(MAKE) -f $(MAKEFILE).Debug mocclean
release-mocclean:
$(MAKE) -f $(MAKEFILE).Release mocclean
mocclean: debug-mocclean release-mocclean
debug-mocables:
$(MAKE) -f $(MAKEFILE).Debug mocables
release-mocables:
$(MAKE) -f $(MAKEFILE).Release mocables
mocables: debug-mocables release-mocables
check: first
benchmark: first
FORCE:
$(MAKEFILE).Debug: Makefile
$(MAKEFILE).Release: Makefile

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -0,0 +1,262 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en">
<context>
<name>MainWindow</name>
<message>
<location filename="mainwindow.ui" line="32"/>
<location filename="mainwindow.ui" line="1036"/>
<source>Тренажер процедур технического обслуживания самолета RRJ-95NEW-100</source>
<translation>Aircraft Maintenance Procedures Trainer RRJ-95NEW-100</translation>
</message>
<message>
<location filename="mainwindow.ui" line="363"/>
<source>Язык/Language</source>
<translation>Язык/Language</translation>
</message>
<message>
<location filename="mainwindow.ui" line="505"/>
<source>Вход в систему</source>
<translation>Login</translation>
</message>
<message>
<location filename="mainwindow.ui" line="530"/>
<source>Логин</source>
<translation>Login</translation>
</message>
<message>
<location filename="mainwindow.ui" line="549"/>
<source>Пароль</source>
<translation>Password</translation>
</message>
<message>
<source>Настройки</source>
<translation type="vanished">Settings</translation>
</message>
<message>
<location filename="mainwindow.ui" line="562"/>
<source>Войти</source>
<translation>Login</translation>
</message>
<message>
<location filename="mainwindow.ui" line="631"/>
<source>Связь с сервером не установлена! Проверьте настройки или запустите в автономном режиме</source>
<translation>No connection to server! Check settings or run offline</translation>
</message>
<message>
<location filename="mainwindow.ui" line="680"/>
<source>Настройки сервера</source>
<translation>Server settings</translation>
</message>
<message>
<location filename="mainwindow.ui" line="698"/>
<source>Сервер</source>
<translation>Server</translation>
</message>
<message>
<location filename="mainwindow.ui" line="715"/>
<source>Порт</source>
<translation>Port</translation>
</message>
<message>
<location filename="mainwindow.ui" line="736"/>
<source>Сохранить</source>
<translation>Save</translation>
</message>
<message>
<location filename="mainwindow.ui" line="904"/>
<source>Есть изменения в локальных файлах</source>
<translation>There are changes in local files</translation>
</message>
<message>
<location filename="mainwindow.ui" line="942"/>
<source>Выгрузить изменения</source>
<translation>Upload changes</translation>
</message>
<message>
<location filename="mainwindow.ui" line="955"/>
<source>Отменить изменения</source>
<translation>Cancel changes</translation>
</message>
<message>
<location filename="mainwindow.ui" line="968"/>
<source>Запустить без отправки</source>
<translation>Run without sending</translation>
</message>
<message>
<location filename="mainwindow.ui" line="1098"/>
<source>Запуск в автономном режиме</source>
<translation>Run offline</translation>
</message>
<message>
<source>Соединиться</source>
<translation type="vanished">Try connect</translation>
</message>
<message>
<location filename="mainwindow.ui" line="164"/>
<source>Запуск</source>
<translation>Start</translation>
</message>
<message>
<location filename="mainwindow.ui" line="133"/>
<source>Обновить</source>
<translation>Update</translation>
</message>
<message>
<location filename="mainwindow.ui" line="839"/>
<source>Автозапуск</source>
<translation>Autostart</translation>
</message>
<message>
<location filename="mainwindow.ui" line="787"/>
<source>Какая-то ошибка</source>
<translation>Something wrong</translation>
</message>
<message>
<location filename="mainwindow.ui" line="251"/>
<source>Выберите активные мониторы:</source>
<translation>Select active monitors:</translation>
</message>
<message>
<source>Язык</source>
<translation type="vanished">Language</translation>
</message>
<message>
<location filename="mainwindow.ui" line="396"/>
<source>RUS</source>
<translation>RUS</translation>
</message>
<message>
<location filename="mainwindow.ui" line="401"/>
<source>ENG</source>
<translation>ENG</translation>
</message>
<message>
<source>Обновление завершено...</source>
<translation type="vanished">Update complete...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="165"/>
<source>Доступно обновление: </source>
<translation>Update available: </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="166"/>
<source>Количество файлов: </source>
<translation>Files for update: </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="174"/>
<source>Установлена последняя версия</source>
<translation>Latest version installed</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="198"/>
<source>Сервер заблокирован</source>
<translation>Server is blocked</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="434"/>
<source>Отправка файлов...</source>
<translation>Sending files...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="496"/>
<source>Проверка обновлений...</source>
<translation>Checking for updates...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="503"/>
<source>Есть изменения в локальных файлах &lt;A HREF=&quot;LINK&quot; style=color:rgb(45,84,130)&gt;(список)&lt;/A&gt; </source>
<translation>There are changes in local files &lt;A HREF=&quot;LINK&quot; style=color:rgb(45,84,130)&gt;(list)&lt;/A&gt; </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="504"/>
<source>Возможные действия:
1. Выгрузить изменения на сервер
2. Отменить изменения с загрузкой версии с сервера
3. Запустить без отправки файлов, но с текущими изменениями</source>
<translation>Actions:
1. Upload changes to the server
2. Cancel changes by downloading the version from the server
3. Launch without sending files, but with current changes</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<source>Загрузка завершена</source>
<translation>Download complete</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="223"/>
<source>Неверный логин/пароль</source>
<translation>Invalid login/password</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="142"/>
<source>Обновление завершено</source>
<translation>Update complete</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="160"/>
<source>Восстановление версии...</source>
<translation>Recovery version...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="287"/>
<source>Соединение установлено</source>
<translation>Connection complete</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="296"/>
<location filename="mainwindow.cpp" line="353"/>
<source>Соединение отсутсвует</source>
<translation>No connection</translation>
</message>
</context>
<context>
<name>UpdateNotifyWidget</name>
<message>
<location filename="updatenotifywidget.ui" line="14"/>
<source>Form</source>
<translation>Update</translation>
</message>
<message>
<location filename="updatenotifywidget.ui" line="44"/>
<source>Закрыть</source>
<translation>Close</translation>
</message>
<message>
<source>Загрузить на сервер</source>
<translation type="vanished">Load to server</translation>
</message>
<message>
<source>Отмена</source>
<translation type="vanished">Cancel</translation>
</message>
<message>
<location filename="updatenotifywidget.ui" line="20"/>
<source>Обнаружены новые файлы:</source>
<translation>New files found:</translation>
</message>
<message>
<source>Отправка новых файлов</source>
<translation type="vanished">Send new files</translation>
</message>
<message>
<source>Информация</source>
<translation type="vanished">Info</translation>
</message>
<message>
<source>Загрузка завершена</source>
<translation type="vanished">Download complete</translation>
</message>
<message>
<source>Ошибка</source>
<translation type="vanished">Error</translation>
</message>
<message>
<source>Произошла ошибка при загрузке</source>
<translation type="vanished">Error loading</translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@@ -0,0 +1,262 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>MainWindow</name>
<message>
<location filename="mainwindow.ui" line="32"/>
<location filename="mainwindow.ui" line="1036"/>
<source>Тренажер процедур технического обслуживания самолета RRJ-95NEW-100</source>
<translation>Тренажер процедур технического обслуживания самолета RRJ-95NEW-100</translation>
</message>
<message>
<location filename="mainwindow.ui" line="363"/>
<source>Язык/Language</source>
<translation>Язык/Language</translation>
</message>
<message>
<location filename="mainwindow.ui" line="505"/>
<source>Вход в систему</source>
<translation>Вход в систему</translation>
</message>
<message>
<location filename="mainwindow.ui" line="530"/>
<source>Логин</source>
<translation>Логин</translation>
</message>
<message>
<location filename="mainwindow.ui" line="549"/>
<source>Пароль</source>
<translation>Пароль</translation>
</message>
<message>
<source>Настройки</source>
<translation type="vanished">Настройки</translation>
</message>
<message>
<location filename="mainwindow.ui" line="562"/>
<source>Войти</source>
<translation>Войти</translation>
</message>
<message>
<location filename="mainwindow.ui" line="631"/>
<source>Связь с сервером не установлена! Проверьте настройки или запустите в автономном режиме</source>
<translation>Связь с сервером не установлена! Проверьте настройки или запустите в автономном режиме</translation>
</message>
<message>
<location filename="mainwindow.ui" line="680"/>
<source>Настройки сервера</source>
<translation>Настройки сервера</translation>
</message>
<message>
<location filename="mainwindow.ui" line="698"/>
<source>Сервер</source>
<translation>Сервер</translation>
</message>
<message>
<location filename="mainwindow.ui" line="715"/>
<source>Порт</source>
<translation>Порт</translation>
</message>
<message>
<location filename="mainwindow.ui" line="736"/>
<source>Сохранить</source>
<translation>Сохранить</translation>
</message>
<message>
<location filename="mainwindow.ui" line="904"/>
<source>Есть изменения в локальных файлах</source>
<translation>Есть изменения в локальных файлах</translation>
</message>
<message>
<location filename="mainwindow.ui" line="942"/>
<source>Выгрузить изменения</source>
<translation>Выгрузить изменения</translation>
</message>
<message>
<location filename="mainwindow.ui" line="955"/>
<source>Отменить изменения</source>
<translation>Отменить изменения</translation>
</message>
<message>
<location filename="mainwindow.ui" line="968"/>
<source>Запустить без отправки</source>
<translation>Запустить без отправки</translation>
</message>
<message>
<location filename="mainwindow.ui" line="1098"/>
<source>Запуск в автономном режиме</source>
<translation>Запустить в автономном режиме</translation>
</message>
<message>
<source>Соединиться</source>
<translation type="vanished">Соединиться</translation>
</message>
<message>
<location filename="mainwindow.ui" line="164"/>
<source>Запуск</source>
<translation>Запуск</translation>
</message>
<message>
<location filename="mainwindow.ui" line="133"/>
<source>Обновить</source>
<translation>Обновить</translation>
</message>
<message>
<location filename="mainwindow.ui" line="839"/>
<source>Автозапуск</source>
<translation>Автозапуск</translation>
</message>
<message>
<location filename="mainwindow.ui" line="787"/>
<source>Какая-то ошибка</source>
<translation>Какая-то ошибка</translation>
</message>
<message>
<location filename="mainwindow.ui" line="251"/>
<source>Выберите активные мониторы:</source>
<translation>Выберите активные мониторы:</translation>
</message>
<message>
<source>Язык</source>
<translation type="vanished">Язык</translation>
</message>
<message>
<location filename="mainwindow.ui" line="396"/>
<source>RUS</source>
<translation>RUS</translation>
</message>
<message>
<location filename="mainwindow.ui" line="401"/>
<source>ENG</source>
<translation>ENG</translation>
</message>
<message>
<source>Обновление завершено...</source>
<translation type="vanished">Обновление завершено...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="165"/>
<source>Доступно обновление: </source>
<translation>Доступно обновление: </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="166"/>
<source>Количество файлов: </source>
<translation>Количество файлов: </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="174"/>
<source>Установлена последняя версия</source>
<translation>Установлена последняя версия</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="198"/>
<source>Сервер заблокирован</source>
<translation>Сервер заблокирован</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="434"/>
<source>Отправка файлов...</source>
<translation>Отправка файлов...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="496"/>
<source>Проверка обновлений...</source>
<translation>Проверка обновлений...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="503"/>
<source>Есть изменения в локальных файлах &lt;A HREF=&quot;LINK&quot; style=color:rgb(45,84,130)&gt;(список)&lt;/A&gt; </source>
<translation>Есть изменения в локальных файлах &lt;A HREF=&quot;LINK&quot; style=color:rgb(45,84,130)&gt;(список)&lt;/A&gt; </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="504"/>
<source>Возможные действия:
1. Выгрузить изменения на сервер
2. Отменить изменения с загрузкой версии с сервера
3. Запустить без отправки файлов, но с текущими изменениями</source>
<translation>Возможные действия:
1. Выгрузить изменения на сервер
2. Отменить изменения с загрузкой версии с сервера
3. Запустить без отправки файлов, но с текущими изменениями</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<source>Загрузка завершена</source>
<translation>Загрузка завершена</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="223"/>
<source>Неверный логин/пароль</source>
<translation>Неверный логин/пароль</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="142"/>
<source>Обновление завершено</source>
<translation>Обновление завершено</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="160"/>
<source>Восстановление версии...</source>
<translation>Восстановление версии...</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="287"/>
<source>Соединение установлено</source>
<translation>Соединение установлено</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="296"/>
<location filename="mainwindow.cpp" line="353"/>
<source>Соединение отсутсвует</source>
<translation>Соединение отсутсвует</translation>
</message>
</context>
<context>
<name>UpdateNotifyWidget</name>
<message>
<location filename="updatenotifywidget.ui" line="14"/>
<source>Form</source>
<translation>Обновление</translation>
</message>
<message>
<location filename="updatenotifywidget.ui" line="44"/>
<source>Закрыть</source>
<translation>Закрыть</translation>
</message>
<message>
<source>Загрузить на сервер</source>
<translation type="vanished">Загрузить на сервер</translation>
</message>
<message>
<source>Отмена</source>
<translation type="vanished">Отмена</translation>
</message>
<message>
<location filename="updatenotifywidget.ui" line="20"/>
<source>Обнаружены новые файлы:</source>
<translation>Обнаружены новые файлы:</translation>
</message>
<message>
<source>Отправка новых файлов</source>
<translation type="vanished">Отправка новых файлов</translation>
</message>
<message>
<source>Информация</source>
<translation type="vanished">Информация</translation>
</message>
<message>
<source>Загрузка завершена</source>
<translation type="vanished">Загрузка завершена</translation>
</message>
<message>
<source>Ошибка</source>
<translation type="vanished">Ошибка</translation>
</message>
<message>
<source>Произошла ошибка при загрузке</source>
<translation type="vanished">Произошла ошибка при загрузке</translation>
</message>
</context>
</TS>

View File

@@ -0,0 +1,63 @@
QT += core gui
QT +=network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
Core/sendsystem.cpp \
Core\updatecontroller.cpp \
Core\externalexecuter.cpp\
Core\dataparser.cpp\
Core\recognizesystem.cpp\
Core\screenchecker.cpp\
Core\tcpclient.cpp\
Core\tools.cpp\
Core\hashcomparer.cpp \
main.cpp \
mainwindow.cpp \
mywinheader.cpp \
updatenotifywidget.cpp
HEADERS += \
Core\sendsystem.h \
Core\updatecontroller.h \
Core\externalexecuter.h\
Core\dataparser.h\
Core\FileData.h\
Core\recognizesystem.h\
Core\screenchecker.h\
Core\tcpclient.h\
Core\tools.h\
Core\hashcomparer.h \
Datas.h \
mainwindow.h \
mywinheader.h \
updatenotifywidget.h
FORMS += \
mainwindow.ui \
updatenotifywidget.ui
TRANSLATIONS = QtLanguage_ru.ts\
QtLanguage_eng.ts
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
resources.qrc

View File

@@ -0,0 +1,319 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-12-03T10:40:20. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{00ce76f6-77cf-4587-a216-9a8e243377cb}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/LMS/RRJClient/Debug64</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/LMS/RRJClient/Release64</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:/LMS/RRJClient/build-RRJClient-Desktop_Qt_5_14_2_MinGW_64_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Профилирование</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/LMS/RRJClient/RRJClient/RRJClient.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/LMS/RRJClient/RRJClient/RRJClient.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/LMS/RRJClient/Release64</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@@ -0,0 +1,562 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-12-02T10:01:45. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{02bbda2a-ba75-44de-8881-59c42e3619cd}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
<value type="QString">-fno-delayed-template-parsing</value>
</valuelist>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 64-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win64_mingw73_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Projects/QT/BUILDS/RRJClientBuild</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Projects/QT/BUILDS/RRJClientBuild</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Projects/QT/GUIProj/RRJClient/build-RRJClient-Desktop_Qt_5_14_2_MinGW_64_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Профилирование</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/Projects/QT/GUIProj/RRJClient/RRJClient/RRJClient.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/Projects/QT/GUIProj/RRJClient/RRJClient/RRJClient.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/Projects/QT/BUILDS/RRJClientBuild</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.1</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win32_mingw73_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Projects/QT/BUILDS/RRJClientBuild</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Отладка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Projects/QT/GUIProj/RRJClient/RRJClient</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Выпуск</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/Projects/QT/GUIProj/RRJClient/build-RRJClient-Desktop_Qt_5_14_2_MinGW_32_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Профилирование</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/Projects/QT/GUIProj/RRJClient/RRJClient/RRJClient.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/Projects/QT/GUIProj/RRJClient/RRJClient/RRJClient.pro</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">2</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<AuthData Login="O3" Password="3333" InstructorName="" ClientName="Петров П.П. (2)" AccessType="trainee"/>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<FileDataList>
<FileData Path="/Application" Hash="FOLDER"/>
</FileDataList>

View File

@@ -0,0 +1,2 @@
<DisplayInfo DisplayCount="1"/>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<FileDataList>
<FileData Path="/Application" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RRJ-95NEW-100" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/RUS" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds" Hash="FOLDER"/>
<FileData Path="/Application/RRJLoader/RRJ_Data/StreamingAssets/Sounds/UI" Hash="FOLDER"/>
</FileDataList>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ServerSettingsContainer>
<ServerSettings Address="192.168.100.87" Port="6000" Language="RUS" AutoStart="0"/>
</ServerSettingsContainer>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<FileDataList/>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<ClientAutorization Login="O3" Password="3333"/>

View File

@@ -0,0 +1,21 @@
#include "mainwindow.h"
#include "updatenotifywidget.h"
#include <QApplication>
#include <QFontDatabase>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFile file(":/style.css");
file.open(QFile::ReadOnly);
a.setStyleSheet(file.readAll());
a.setWindowIcon(QIcon(":/resource/Icons/plane.png"));
MainWindow w;
UpdateNotifyWidget *notifyWidget = new UpdateNotifyWidget;
w.bindNotifyWidget(notifyWidget);
w.show();
return a.exec();
}

View File

@@ -0,0 +1,617 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "updatenotifywidget.h"
#include "updatenotifywidget.h"
#include <QFontDatabase>
#include <QMessageBox>
#include <QMovie>
#include <QPaintEvent>
#include <QPainter>
#include <QTimer>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
isRecovery = false;
setWindowFlag(Qt::FramelessWindowHint);
painting();
initialize();
}
void MainWindow::initialize()
{
ui->loadingProgressBar->setValue(0);
ui->settingsWidget->hide();
ui->notificationLabel->hide();
ui->loadingProgressBar->hide();
ui->updateButton->hide();
ui->offlineWidget->hide();
ui->offlineStartButton->show();
ui->offlineStartButton->setEnabled(false);
ui->offlineStartButton->setGeometry(540,552,250,35);
ui->startButton->hide();
ui->startButton->setEnabled(false);
ui->displayGroupWidget->show();
ui->autostartCheckBox->hide();
ui->startButton->setEnabled(false);
ui->loginWidget->hide();
ui->updateWidget->hide();
ui->updateButtonGroup_2->hide();
createObjects();
bindConnection();
emit sigCalculateHash();
emit sigInitializeClient(recognizeSystem,externalExecuter,sendSystem,connectionThread);
recognizeSystem->initialize(updateController,dataParser,this);
screenChecker->check();
loadStaticData();
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
checkAppAvailable();
//test
}
void MainWindow::createObjects()
{
connectionThread = new QThread;
animationThread = new QThread;
client = new TCPClient;
client->moveToThread(connectionThread);
dataParser = new DataParser;
sendSystem = new SendSystem;
sendSystem->moveToThread(connectionThread);
updateController = new UpdateController(dataParser,sendSystem);
updateController->moveToThread(connectionThread);
recognizeSystem = new RecognizeSystem;
recognizeSystem->moveToThread(connectionThread);
screenChecker = new ScreenChecker(this,dataParser,ui->displayLayout);
externalExecuter = new ExternalExecuter;
hashComparer = new HashComparer(dataParser);
connectionThread->start();
connectionThread->setPriority(QThread::HighestPriority);
timer = new QTimer;
}
void MainWindow::bindConnection()
{
connect(timer,&QTimer::timeout,this,&MainWindow::slotDisableNotify);
connect(recognizeSystem,&RecognizeSystem::sigStartCompare,hashComparer,&HashComparer::CompareDeltas);
connect(recognizeSystem,&RecognizeSystem::sigUpdateBytesAvailable,this,&MainWindow::updateProgress,Qt::QueuedConnection);
connect(recognizeSystem,&RecognizeSystem::sigLoadComplete,this,&MainWindow::loadComplete);
connect(recognizeSystem,&RecognizeSystem::sigNeedUpdate,this,&MainWindow::setNeedUpdate);
connect(recognizeSystem,&RecognizeSystem::sigSocketDisabled,this,&MainWindow::lostConnection);
connect(recognizeSystem,&RecognizeSystem::sigSaveLoginData,this,&MainWindow::checkLoginResult);
connect(recognizeSystem,&RecognizeSystem::sigSocketWaitForReadyRead,client,&TCPClient::waitRead,Qt::DirectConnection);
connect(recognizeSystem,&RecognizeSystem::sigServerBlocked,this,&MainWindow::serverBlocked);
connect(updateController,&UpdateController::sigUpdateComplete,this,&MainWindow::showCompleteDialogBox);
connect(hashComparer,&HashComparer::sigCallCheck,this,&MainWindow::checkUpdate);
connect(hashComparer,&HashComparer::sigHaveDelta,this,&MainWindow::showUpdateInfo);
connect(sendSystem,&SendSystem::sigSend,this,&MainWindow::updateProgress);
connect(sendSystem,&SendSystem::sigGetXmlAnswer,dataParser,&DataParser::slotGetXmlAnswer);
connect(this,&MainWindow::sigUpdateFilesOnServer,updateController,&UpdateController::updateFilesOnServer);
connect(this,&MainWindow::sigInitializeClient,client,&TCPClient::initialize,Qt::AutoConnection);
connect(this,&MainWindow::sigSetConnect,client,&TCPClient::setConnect,Qt::AutoConnection);
connect(this,&MainWindow::sigSendCommand,client,&TCPClient::slotSendCommand,Qt::AutoConnection);
connect(client,&TCPClient::sigConnectionState,this,&MainWindow::slotConnectionState,Qt::AutoConnection);
connect(client,&TCPClient::sigServerDisconnect,this,&MainWindow::slotServerDisconnect);
connect(this,&MainWindow::sigGetConnected,client,&TCPClient::getIsConnected);
connect(this,&MainWindow::sigCalculateHash,updateController,&UpdateController::calculateCommonHash);
connect(this,&MainWindow::sigSendAutorization,sendSystem,&SendSystem::sendClientAutorization);
}
void MainWindow::updateProgress()
{
filesLoaded++;
float value = 100 / ((float)fileCountForUpdate / filesLoaded);
ui->loadingProgressBar->setValue(value);
}
void MainWindow::loadComplete()
{
externalExecuter->findApp();
ui->updateButton->setEnabled(false);
ui->startButton->setEnabled(true);
autoStart();
ui->inlineTextDebug->setText(tr("Обновление завершено"));
ui->loadingProgressBar->setValue(100);
ui->startButton->show();
ui->offlineStartButton->setEnabled(true);
ui->autostartCheckBox->hide();
ui->loadingProgressBar->hide();
ui->offlineStartButton->show();
}
void MainWindow::setNeedUpdate(bool flag,quint64 size, quint64 fileCount)
{
fileCountForUpdate = 0;
filesLoaded = 0;
fileCountForUpdate = fileCount;
QString availableSizeText;
if (flag && isRecovery)
{
ui->inlineTextDebug->setText(tr("Восстановление версии..."));
}
else if(flag)
{
QString result = tr("Доступно обновление: ") + Tools::convertFileSize(size);
result += tr("Количество файлов: ") + QString::number(fileCount);
ui->inlineTextDebug->setText(result);
ui->startButton->show();
ui->updateButton->setEnabled(flag);
ui->startButton->setEnabled(true);
ui->updateButton->show();
ui->autostartCheckBox->show();
stopLoadingMovie();
}
else
{
ui->inlineTextDebug->setText(tr("Установлена последняя версия"));
autoStart();
ui->loadingProgressBar->hide();
ui->startButton->show();
ui->offlineStartButton->setEnabled(true);
stopLoadingMovie();
}
}
void MainWindow::lostConnection()
{
ui->loadingProgressBar->setValue(0);
slotConnectionState(false);
}
void MainWindow::serverBlocked()
{
ui->notificationLabel->show();
QPalette palette = ui->notificationLabel->palette();
QColor orangeColor(255,165,0);
palette.setColor(ui->notificationLabel->foregroundRole(),orangeColor);
ui->notificationLabel->setText(tr("Сервер заблокирован"));
ui->notificationLabel->setPalette(palette);
timer->start(3000);
}
void MainWindow::checkLoginResult(ServerAuthorization *serverAuth)
{
if (serverAuth->Result)
{
if (serverAuth->AccessType != "instructor") //временно для отладки загрузки на сервер
{
checkUpdate();
}
dataParser->createAuthData(serverAuth);
ui->loginWidget->hide();
ui->LanguageWidget->hide();
ui->settingsButton->hide();
ui->offlineStartButton->show();
startLoadingAnim();
}
else
{
ui->notificationLabel->setText(tr("Неверный логин/пароль"));
timer->setInterval(3000);
timer->start();
QPalette palette = ui->notificationLabel->palette();
palette.setColor(ui->notificationLabel->foregroundRole(), Qt::red);
ui->notificationLabel->setPalette(palette);
ui->notificationLabel->show();
}
}
void MainWindow::checkAppAvailable()
{
bool isAvailable = externalExecuter->findApp();
ui->startButton->setEnabled(isAvailable);
ui->offlineStartButton->setEnabled(isAvailable);
}
void MainWindow::checkLanguage(QString language)
{
if (language == "RUS")
{
translator.load("QtLanguage_ru_RU",".");
}
else if(language == "ENG")
{
translator.load("QtLanguage_eng_EN",".");
}
qApp->installTranslator(&translator);
ui->retranslateUi(this);
}
void MainWindow::autoStart()
{
if(ui->autostartCheckBox->isChecked()){
on_startButton_clicked();
}
}
void MainWindow::loadStaticData()
{
ServerSettings *currentSettings = dataParser->getServerSettings();
ui->serverInputField->setText(currentSettings->Address);
ui->portInputField->setText(currentSettings->Port);
ui->languageComboBox->setCurrentText(currentSettings->Language);
ui->autostartCheckBox->setChecked(currentSettings->isAutoStart);
checkLanguage(currentSettings->Language);
}
void MainWindow::showConnectionEmpty()
{
QPalette palette = ui->notificationLabel->palette();
palette.setColor(ui->notificationLabel->foregroundRole(),Qt::red);
ui->notificationLabel->setText(tr("Соединение отсутсвует"));
ui->offlineWidget->show();
ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(280,340,250,35);
ui->settingsButton->show();
ui->loginWidget->hide();
ui->updateWidget->hide();
ui->updateButtonGroup_2->hide();
}
void MainWindow::slotConnectionState(bool flag)
{
ui->notificationLabel->show();
QPalette palette = ui->notificationLabel->palette();
stopLoadingMovie();
if(flag)
{
palette.setColor(ui->notificationLabel->foregroundRole(),Qt::green);
ui->notificationLabel->setText(tr("Соединение установлено"));
ui->loginWidget->show();
ui->offlineStartButton->show();
ui->offlineStartButton->setGeometry(540,552,250,35);
}
else
{
showConnectionEmpty();
}
ui->notificationLabel->setPalette(palette);
timer->start(3000);
}
void MainWindow::slotServerDisconnect()
{
ui->startButton->hide();
ui->loadingProgressBar->hide();
ui->updateButton->hide();
ui->autostartCheckBox->hide();
ui->inlineTextDebug->setText("");
ui->updateButton->setEnabled(false);
slotConnectionState(false);
}
void MainWindow::slotDisableNotify()
{
ui->notificationLabel->hide();
QPalette palette = ui->notificationLabel->palette();
palette.setColor(ui->notificationLabel->foregroundRole(), Qt::black);
ui->notificationLabel->setPalette(palette);
timer->stop();
}
void MainWindow::callUpdateList()
{
hashComparer->setWidget(updateWidget);
QByteArray answer = dataParser->xmlAnswer_notify("GETSERVERDATALIST");
sendSystem->sendXMLAnswer(answer);
updateWidget->initialize(this);
}
void MainWindow::bindNotifyWidget(UpdateNotifyWidget *widget)
{
updateWidget = widget;
}
void MainWindow::on_loginButton_clicked()
{
if (!client->getIsConnected())
{
showConnectionEmpty();
return;
}
QString username = ui->loginInputField->text();
QString password = ui->passwordInputField->text();
ClientAutorization *autorization = new ClientAutorization;
autorization->Login = username;
autorization->Password = password;
dataParser->createAuthMessage(autorization);
emit sigSendAutorization();
}
void MainWindow::on_updateButton_clicked()
{
emit sigSendCommand("update");
ui->updateButton->hide();
ui->startButton->hide();
ui->loadingProgressBar->setValue(0);
ui->loadingProgressBar->show();
}
void MainWindow::on_startButton_clicked()
{
externalExecuter->callApp();
sendSystem->sendDisable();
}
void MainWindow::on_saveServerButton_clicked()
{
startLoadingAnim();
ui->settingsWidget->hide();
if(client->getIsConnected())
{
ui->loginWidget->show();
ui->offlineStartButton->show();
stopLoadingMovie();
return;
}
QString server = ui->serverInputField->text();
QString port = ui->portInputField->text();
dataParser->createServerSettings(server,port);
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
}
void MainWindow::on_settingsButton_clicked()
{
ui->settingsWidget->show();
ui->loginWidget->hide();
ui->offlineWidget->hide();
ui->offlineStartButton->hide();
}
void MainWindow::on_connectButton_clicked()
{
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
}
void MainWindow::on_languageComboBox_activated(const QString &arg1)
{
qDebug() << arg1;
dataParser->saveClientSettrings(arg1,ui->autostartCheckBox->isChecked());
checkLanguage(arg1);
ui->retranslateUi(this);
}
void MainWindow::on_loadToServerButton_clicked()
{
ui->inlineTextDebug->setText(tr("Отправка файлов..."));
ui->loadingProgressBar->show();
ui->updateButtonGroup_2->hide();
ui->offlineStartButton->setEnabled(false);
ui->updateWidget->hide();
emit sigUpdateFilesOnServer(hashComparer->getFilesForUpdate());
}
void MainWindow::on_undoChangesButton_clicked()
{
isRecovery = true;
emit sigSendCommand("check");
ui->loadingProgressBar->show();
ui->offlineStartButton->setEnabled(false);
ui->updateButtonGroup_2->hide();
ui->updateWidget->hide();
startLoadingAnim();
//delay
QTime dieTime= QTime::currentTime().addSecs(10);
while (QTime::currentTime() < dieTime)
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
startLoadingAnim();
ui->updateButton->hide();
on_updateButton_clicked();
isRecovery = false;
stopLoadingMovie();
}
void MainWindow::on_startWithCurrentChangesButton_clicked()
{
on_startButton_clicked();
}
void MainWindow::on_updateListGuideLabel_linkActivated(const QString &)
{
updateWidget->show();
}
void MainWindow::on_offlineStartButton_clicked()
{
QString username = "offlineUser";
QString password = "000000";
dataParser->createAuthDataOffline(username,password);
on_startButton_clicked();
}
void MainWindow::on_exitButton_clicked()
{
exit(0);
}
void MainWindow::checkUpdate()
{
emit sigSendCommand("check");
ui->inlineTextDebug->setText(tr("Проверка обновлений..."));
}
void MainWindow::showUpdateInfo()
{
stopLoadingMovie();
QString text = tr("Есть изменения в локальных файлах <A HREF=\"LINK\" style=color:rgb(45,84,130)>(список)</A> ");
QString list = tr("Возможные действия:\n"
" 1. Выгрузить изменения на сервер\n"
" 2. Отменить изменения с загрузкой версии с сервера \n"
" 3. Запустить без отправки файлов, но с текущими изменениями");
ui->updateListGuideLabel->setText(text);
ui->updateActionListLabel->setText(list);
ui->updateWidget->show();
ui->updateButtonGroup_2->show();
ui->offlineStartButton->setGeometry(540,552,250,35);
fileCountForUpdate = hashComparer->getFilesForUpdate()->length();
filesLoaded = 0;
}
void MainWindow::showCompleteDialogBox()
{
ui->inlineTextDebug->setText(tr("Загрузка завершена"));
startLoadingAnim();
QTime dieTime= QTime::currentTime().addSecs(10);
while (QTime::currentTime() < dieTime)
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
stopLoadingMovie();
checkUpdate();
}
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return)
{
if (ui->loginInputField->text().length() <= 0 || ui->passwordInputField->text() <= 0) return;
on_loginButton_clicked();
}
}
void MainWindow::painting()
{
QFontDatabase::addApplicationFont(":/resource/Fonts/Kanit Cyrillic.ttf");
QFontDatabase::addApplicationFont(":/resource/Fonts/HelveticaNeue-Medium.ttf");
//settings
QPixmap settingIcon(":resource/Icons/settingWhite.png");
QPainter painter;
QColor color(45,84,130);
painter.begin(&settingIcon);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(settingIcon.rect(),color);
painter.end();
QIcon icon;
icon.addPixmap(settingIcon,QIcon::Normal,QIcon::Off);
ui->settingsButton->setIcon(icon);
//exit
QPixmap crossPixmap(":resource/Icons/crossInCircle.png");
QPainter painterCross;
QSize iconSize(30,30);
painter.begin(&crossPixmap);
painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
painter.fillRect(crossPixmap.rect(),color);
painter.end();
QIcon crossIcon;
crossIcon.addPixmap(crossPixmap,QIcon::Normal,QIcon::Off);
ui->exitButton->setIcon(crossIcon);
ui->exitButton->setIconSize(iconSize);
//loading
movie = new QMovie(":/resource/Icons/762.gif");
movieLabel = new QLabel("No movie");
movieLabel->setParent(this);
movieLabel->setGeometry(367,300,70,70);
movieLabel->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
movieLabel->setMovie(movie);
startLoadingAnim();
}
void MainWindow::startLoadingAnim()
{
movie->start();
movieLabel->show();
}
void MainWindow::stopLoadingMovie()
{
movie->stop();
movieLabel->hide();
}
MainWindow::~MainWindow()
{
connectionThread->quit();
connectionThread->wait();
sendSystem->sendDisable();
delete connectionThread;
delete ui;
}

View File

@@ -0,0 +1,123 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDebug>
#include <QThread>
#include <QTranslator>
#include <Core/dataparser.h>
#include <Core/tcpclient.h>
#include <Core/screenchecker.h>
#include <Core/UpdateController.h>
#include <Core/sendsystem.h>
#include <Core/hashcomparer.h>
#include "Datas.h"
#include "mywinheader.h"
#include "updatenotifywidget.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class TCPClient;
class UpdateController;
class RecognizeSystem;
class ExternalExecuter;
class UpdateNotifyWidget;
class HashComparer;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
void callUpdateList();
void bindNotifyWidget(UpdateNotifyWidget *widget);
void checkUpdate();
~MainWindow();
void bindConnection();
signals:
void sigInitializeClient(RecognizeSystem *recognizeSystem,
ExternalExecuter *externalExecuter,
SendSystem *sendSystem,
QThread *thread);
void sigUpdateFilesOnServer(QList<FileData> *fileSendList);
void sigSetConnect(ServerSettings* serverSettings,QThread *thread);
void sigCalculateHash();
void sigSendCommand(QString message);
void sigSendAutorization();
bool sigGetConnected();
private slots:
void on_loginButton_clicked();
void on_updateButton_clicked();
void on_startButton_clicked();
void on_saveServerButton_clicked();
void on_settingsButton_clicked();
void on_connectButton_clicked();
void on_languageComboBox_activated(const QString &arg1);
void slotDisableNotify();
void slotConnectionState(bool flag);
void slotServerDisconnect();
void on_updateListGuideLabel_linkActivated(const QString &link);
void on_loadToServerButton_clicked();
void on_undoChangesButton_clicked();
void on_startWithCurrentChangesButton_clicked();
void on_exitButton_clicked();
void on_offlineStartButton_clicked();
private:
Ui::MainWindow *ui;
MyWinHeader *header;
UpdateNotifyWidget *updateWidget;
QTranslator translator;
TCPClient *client;
DataParser *dataParser;
UpdateController *updateController;
RecognizeSystem *recognizeSystem;
ScreenChecker *screenChecker;
ExternalExecuter *externalExecuter;
SendSystem *sendSystem;
HashComparer *hashComparer;
QThread *connectionThread;
QThread *animationThread;
QTimer *timer;
QMovie *movie;
QLabel *movieLabel;
QList<FileData> *updateList;
int fileCountForUpdate;
int filesLoaded;
bool isRecovery;
void painting();
void initialize();
void updateProgress();
void loadComplete();
void setNeedUpdate(bool flag,quint64 size,quint64 fileCount);
void lostConnection();
void serverBlocked();
void checkLoginResult(ServerAuthorization * serverAuth);
void checkAppAvailable();
void checkLanguage(QString language);
void autoStart();
void loadStaticData();
void bindClient();
void createObjects();
void showUpdateInfo();
void startLoadingAnim();
void stopLoadingMovie();
void showCompleteDialogBox();
void showConnectionEmpty();
protected:
virtual void keyPressEvent(QKeyEvent *event);
};
#endif // MAINWINDOW_H

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
#include "mywinheader.h"
MyWinHeader::MyWinHeader(QWidget*)
{
}
void MyWinHeader::mousePressEvent(QMouseEvent *event) {
winX = this->parentWidget()->window()->x(); winY = this->parentWidget()->window()->y();
mouseX = event->globalX(); mouseY = event->globalY();
isMousePressed = true;;
}
void MyWinHeader::mouseReleaseEvent(QMouseEvent*) {
isMousePressed = false;
}
void MyWinHeader::mouseMoveEvent(QMouseEvent *event) {
if(!isMousePressed) return;
this->parentWidget()->window()->move(winX + event->globalX()-mouseX, winY + event->globalY()-mouseY);
}

View File

@@ -0,0 +1,24 @@
#ifndef MYWINHEADER_H
#define MYWINHEADER_H
#include <QLabel>
#include <QObject>
#include <QEvent>
#include <QMouseEvent>
#include <QDebug>
class MyWinHeader : public QLabel
{
Q_OBJECT
public:
MyWinHeader(QWidget *parent = nullptr);
private:
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
int mouseX, mouseY, winX, winY;
bool isMousePressed = false;
};
#endif // MYWINHEADER_H

View File

@@ -0,0 +1,25 @@
debug/sendsystem.o
debug/updatecontroller.o
debug/externalexecuter.o
debug/dataparser.o
debug/recognizesystem.o
debug/screenchecker.o
debug/tcpclient.o
debug/tools.o
debug/hashcomparer.o
debug/main.o
debug/mainwindow.o
debug/mywinheader.o
debug/updatenotifywidget.o
debug/qrc_resources.o
debug/moc_sendsystem.o
debug/moc_updatecontroller.o
debug/moc_externalexecuter.o
debug/moc_dataparser.o
debug/moc_recognizesystem.o
debug/moc_screenchecker.o
debug/moc_tcpclient.o
debug/moc_hashcomparer.o
debug/moc_mainwindow.o
debug/moc_mywinheader.o
debug/moc_updatenotifywidget.o

View File

@@ -0,0 +1,25 @@
release/sendsystem.o
release/updatecontroller.o
release/externalexecuter.o
release/dataparser.o
release/recognizesystem.o
release/screenchecker.o
release/tcpclient.o
release/tools.o
release/hashcomparer.o
release/main.o
release/mainwindow.o
release/mywinheader.o
release/updatenotifywidget.o
release/qrc_resources.o
release/moc_sendsystem.o
release/moc_updatecontroller.o
release/moc_externalexecuter.o
release/moc_dataparser.o
release/moc_recognizesystem.o
release/moc_screenchecker.o
release/moc_tcpclient.o
release/moc_hashcomparer.o
release/moc_mainwindow.o
release/moc_mywinheader.o
release/moc_updatenotifywidget.o

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 KiB

View File

@@ -0,0 +1,19 @@
<RCC>
<qresource prefix="/new/resoures"/>
<qresource prefix="/">
<file>style.css</file>
<file>resource/Fonts/Kanit Cyrillic.ttf</file>
<file>resource/Fonts/LiberationSans-Regular.ttf</file>
<file>resource/Fonts/HelveticaNeue-Medium.ttf</file>
<file>resource/Icons/monitor-display.png</file>
<file>resource/Icons/plane.png</file>
<file>resource/Icons/setting.png</file>
<file>resource/Icons/settingWhite.png</file>
<file>resource/Icons/crossInCircle.png</file>
<file>resource/Icons/whiteCross.png</file>
<file>resource/SSJ-100.png</file>
<file>resource/Icons/762.gif</file>
<file>resource/SSJ-100Dark.png</file>
<file>resource/Icons/checked.png</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,183 @@
QMainWindow
{
background-image: url(:/resource/SSJ-100Dark.png);
background-position: center;
}
QComboBox
{
background-color: rgb(203,228,255);
border-style: outset;
border-radius: 3px;
font-family: "Calibri";
font: 16px;
color: rgb(45,84,130);
}
QPushButton
{
background-color: rgb(203,228,255);
border-style: outset;
border-radius: 3px;
font-family: "Calibri";
font: 16px;
color: rgb(45,84,130);
}
QPushButton:disabled
{
background-color: lightGray;
color: gray
}
QMessageBox
{
background-color: white;
}
QMessageBox QLabel
{
font-family: "Calibri";
font: 20px;
color: black;
}
QMessageBox QPushButton
{
border-radius: 2px;
padding: 0.2em 0.2em 0.3em 0.2em;
min-width: 70px;
}
QLineEdit
{
border-style: outset;
border-radius: 3px;
}
QProgressBar
{
border: 2px solid rgb(45,84,130);
border-radius: 5px;
color: black;
font-family: "Calibri";
font: 15px bold;
text-align: center;
}
QProgressBar::chunk
{
border-radius: 5px;
background-color: rgb(203,228,255);
}
QCheckBox
{
font-family:"Calibri";
font: 18px;
color: white;
}
QWidget#iconWidget
{
border-image: url(:/resource/Icons/plane.png) 0 0 0 0 stretch stretch;
position: center;
}
QLabel
{
font-family: "Calibri";
font: 20px;
color: white;
}
QLabel#inlineTextDebug
{
font-family: "Calibri";
font: 18px;
}
QWidget#headerWidget
{
background-color:rgb(203,228,255);
}
QWidget#updateWidget
{
background-color: rgba(203,228,255,255);
border-style: outset;
border-radius: 10px;
}
QWidget #updateWidget
{
background-color: rgba(203,228,255,200);
border-style: outset;
border-radius: 10px;
}
QWidget #updateWidget QLabel
{
font-family: "Calibri";
font: 20px;
color: rgb(45,84,130);
}
MyWinHeader#headerLabel
{
font-family: "Calibri";
font: 18px;
color: rgb(45,84,130);
}
QLabel#languageTitle
{
font-family: "Calibri";
color: white;
}
QLabel#NotificationLabel
{
font-family: "Calibri";
color: black;
}
QLabel#notificationLabel
{
font: 20px;
}
QToolButton#displayView
{
border: 4px solid rgb(45,84,130);
border-radius: 5px;
color:rgb(45,84,130);
background-color: white;
}
QToolButton#displayView:checked
{
background-color: rgb(151,176,201);
}
QToolButton#displayView:disabled
{
background-color: rgb(151,176,201);
color:rgb(45,84,130);
}
QPushButton#checkedLabelButton
{
background-color: rgba(0,0,0,0);
}
QPushButton#linkButton
{
background-color: rgba(0,0,0,0);
font-family: "Calibri";
color:blue;
}

View File

@@ -0,0 +1,6 @@
#include "tools.h"
Tools::Tools()
{
}

View File

@@ -0,0 +1,14 @@
#ifndef TOOLS_H
#define TOOLS_H
#include <QString>
static QString settingsName = "settings.xml";
class Tools
{
public:
Tools();
};
#endif // TOOLS_H

View File

@@ -0,0 +1,57 @@
/********************************************************************************
** Form generated from reading UI file 'UpdateListForm.ui'
**
** Created by: Qt User Interface Compiler version 5.14.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_UPDATELISTFORM_H
#define UI_UPDATELISTFORM_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QListView>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_UpdateListForm
{
public:
QPushButton *pushButton;
QListView *listView;
void setupUi(QWidget *UpdateListForm)
{
if (UpdateListForm->objectName().isEmpty())
UpdateListForm->setObjectName(QString::fromUtf8("UpdateListForm"));
UpdateListForm->resize(400, 300);
pushButton = new QPushButton(UpdateListForm);
pushButton->setObjectName(QString::fromUtf8("pushButton"));
pushButton->setGeometry(QRect(160, 260, 80, 25));
listView = new QListView(UpdateListForm);
listView->setObjectName(QString::fromUtf8("listView"));
listView->setGeometry(QRect(20, 10, 371, 231));
retranslateUi(UpdateListForm);
QMetaObject::connectSlotsByName(UpdateListForm);
} // setupUi
void retranslateUi(QWidget *UpdateListForm)
{
UpdateListForm->setWindowTitle(QCoreApplication::translate("UpdateListForm", "Form", nullptr));
pushButton->setText(QCoreApplication::translate("UpdateListForm", "PushButton", nullptr));
} // retranslateUi
};
namespace Ui {
class UpdateListForm: public Ui_UpdateListForm {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_UPDATELISTFORM_H

View File

@@ -0,0 +1,585 @@
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.14.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QFrame>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QProgressBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
#include "mywinheader.h"
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralwidget;
QWidget *downLayout;
QHBoxLayout *downlayout;
QProgressBar *loadingProgressBar;
QPushButton *updateButton;
QPushButton *startButton;
QFrame *mainFrame;
QWidget *displayGroupWidget;
QVBoxLayout *verticalLayout_4;
QLabel *displayChoiceTitle;
QWidget *screenWidget;
QHBoxLayout *horizontalLayout_3;
QHBoxLayout *displayLayout;
QPushButton *settingsButton;
QWidget *LanguageWidget;
QHBoxLayout *horizontalLayout_2;
QLabel *languageTitle;
QComboBox *languageComboBox;
QWidget *horizontalWidget;
QHBoxLayout *horizontalLayout;
QWidget *loginWidget;
QVBoxLayout *verticalLayout;
QWidget *loginLayoutWidget;
QVBoxLayout *loginLayout;
QLabel *loginTitle;
QLineEdit *loginInputField;
QLineEdit *passwordInputField;
QPushButton *loginButton;
QWidget *offlineWidget;
QVBoxLayout *verticalLayout_3;
QLabel *offlineNotifyLabel;
QWidget *settingsWidget;
QVBoxLayout *verticalLayout_2;
QLabel *serverSettingsTitle;
QHBoxLayout *serverInputLayout;
QLineEdit *serverInputField;
QHBoxLayout *portInputLayout;
QLineEdit *portInputField;
QPushButton *saveServerButton;
QLabel *notificationLabel;
QWidget *debugWidget;
QVBoxLayout *verticalLayout_5;
QCheckBox *autostartCheckBox;
QLabel *inlineTextDebug;
QWidget *updateWidget;
QVBoxLayout *verticalLayout_10;
QLabel *updateListGuideLabel;
QLabel *updateActionListLabel;
QWidget *updateButtonGroup_2;
QHBoxLayout *updateButtonGroup;
QPushButton *loadToServerButton;
QPushButton *undoChangesButton;
QPushButton *startWithCurrentChangesButton;
QWidget *headerWidget;
QHBoxLayout *headerLayout;
QWidget *iconWidget;
MyWinHeader *headerLabel;
QPushButton *exitButton;
QPushButton *offlineStartButton;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(800, 600);
QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(MainWindow->sizePolicy().hasHeightForWidth());
MainWindow->setSizePolicy(sizePolicy);
MainWindow->setMinimumSize(QSize(800, 600));
MainWindow->setMaximumSize(QSize(800, 600));
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
centralwidget->setMinimumSize(QSize(800, 600));
centralwidget->setMaximumSize(QSize(800, 600));
downLayout = new QWidget(centralwidget);
downLayout->setObjectName(QString::fromUtf8("downLayout"));
downLayout->setGeometry(QRect(0, 541, 540, 50));
sizePolicy.setHeightForWidth(downLayout->sizePolicy().hasHeightForWidth());
downLayout->setSizePolicy(sizePolicy);
downLayout->setMinimumSize(QSize(0, 40));
downLayout->setMaximumSize(QSize(16777215, 60));
downlayout = new QHBoxLayout(downLayout);
downlayout->setSpacing(10);
downlayout->setObjectName(QString::fromUtf8("downlayout"));
loadingProgressBar = new QProgressBar(downLayout);
loadingProgressBar->setObjectName(QString::fromUtf8("loadingProgressBar"));
QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Minimum);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(loadingProgressBar->sizePolicy().hasHeightForWidth());
loadingProgressBar->setSizePolicy(sizePolicy1);
loadingProgressBar->setMinimumSize(QSize(0, 35));
loadingProgressBar->setMaximumSize(QSize(16777215, 35));
loadingProgressBar->setValue(10);
downlayout->addWidget(loadingProgressBar);
updateButton = new QPushButton(downLayout);
updateButton->setObjectName(QString::fromUtf8("updateButton"));
updateButton->setEnabled(true);
sizePolicy1.setHeightForWidth(updateButton->sizePolicy().hasHeightForWidth());
updateButton->setSizePolicy(sizePolicy1);
updateButton->setMinimumSize(QSize(100, 35));
updateButton->setMaximumSize(QSize(2000, 40));
QFont font;
font.setFamily(QString::fromUtf8("Calibri"));
font.setPointSize(8);
updateButton->setFont(font);
updateButton->setFlat(false);
downlayout->addWidget(updateButton);
startButton = new QPushButton(downLayout);
startButton->setObjectName(QString::fromUtf8("startButton"));
startButton->setEnabled(true);
sizePolicy1.setHeightForWidth(startButton->sizePolicy().hasHeightForWidth());
startButton->setSizePolicy(sizePolicy1);
startButton->setMinimumSize(QSize(100, 35));
startButton->setMaximumSize(QSize(2000, 40));
downlayout->addWidget(startButton);
mainFrame = new QFrame(centralwidget);
mainFrame->setObjectName(QString::fromUtf8("mainFrame"));
mainFrame->setEnabled(true);
mainFrame->setGeometry(QRect(10, 44, 781, 211));
mainFrame->setFrameShape(QFrame::StyledPanel);
mainFrame->setFrameShadow(QFrame::Raised);
displayGroupWidget = new QWidget(mainFrame);
displayGroupWidget->setObjectName(QString::fromUtf8("displayGroupWidget"));
displayGroupWidget->setGeometry(QRect(0, 10, 781, 200));
QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy2.setHorizontalStretch(0);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(displayGroupWidget->sizePolicy().hasHeightForWidth());
displayGroupWidget->setSizePolicy(sizePolicy2);
displayGroupWidget->setMinimumSize(QSize(300, 200));
displayGroupWidget->setMaximumSize(QSize(5000, 200));
verticalLayout_4 = new QVBoxLayout(displayGroupWidget);
verticalLayout_4->setSpacing(0);
verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
verticalLayout_4->setContentsMargins(0, 0, 0, 0);
displayChoiceTitle = new QLabel(displayGroupWidget);
displayChoiceTitle->setObjectName(QString::fromUtf8("displayChoiceTitle"));
QSizePolicy sizePolicy3(QSizePolicy::Minimum, QSizePolicy::Minimum);
sizePolicy3.setHorizontalStretch(0);
sizePolicy3.setVerticalStretch(0);
sizePolicy3.setHeightForWidth(displayChoiceTitle->sizePolicy().hasHeightForWidth());
displayChoiceTitle->setSizePolicy(sizePolicy3);
displayChoiceTitle->setMaximumSize(QSize(16777215, 20));
QFont font1;
font1.setPointSize(10);
displayChoiceTitle->setFont(font1);
displayChoiceTitle->setAlignment(Qt::AlignBottom|Qt::AlignHCenter);
verticalLayout_4->addWidget(displayChoiceTitle);
screenWidget = new QWidget(displayGroupWidget);
screenWidget->setObjectName(QString::fromUtf8("screenWidget"));
sizePolicy2.setHeightForWidth(screenWidget->sizePolicy().hasHeightForWidth());
screenWidget->setSizePolicy(sizePolicy2);
screenWidget->setMinimumSize(QSize(0, 0));
screenWidget->setMaximumSize(QSize(1500, 16777215));
horizontalLayout_3 = new QHBoxLayout(screenWidget);
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
displayLayout = new QHBoxLayout();
displayLayout->setSpacing(6);
displayLayout->setObjectName(QString::fromUtf8("displayLayout"));
displayLayout->setSizeConstraint(QLayout::SetDefaultConstraint);
horizontalLayout_3->addLayout(displayLayout);
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->setObjectName(QString::fromUtf8("LanguageWidget"));
LanguageWidget->setGeometry(QRect(0, 555, 231, 30));
horizontalLayout_2 = new QHBoxLayout(LanguageWidget);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalLayout_2->setContentsMargins(-1, 0, -1, 0);
languageTitle = new QLabel(LanguageWidget);
languageTitle->setObjectName(QString::fromUtf8("languageTitle"));
sizePolicy3.setHeightForWidth(languageTitle->sizePolicy().hasHeightForWidth());
languageTitle->setSizePolicy(sizePolicy3);
languageTitle->setMinimumSize(QSize(120, 0));
QFont font2;
font2.setFamily(QString::fromUtf8("Calibri"));
font2.setPointSize(10);
font2.setBold(false);
font2.setWeight(50);
font2.setStyleStrategy(QFont::PreferAntialias);
languageTitle->setFont(font2);
horizontalLayout_2->addWidget(languageTitle);
languageComboBox = new QComboBox(LanguageWidget);
languageComboBox->addItem(QString());
languageComboBox->addItem(QString());
languageComboBox->setObjectName(QString::fromUtf8("languageComboBox"));
sizePolicy3.setHeightForWidth(languageComboBox->sizePolicy().hasHeightForWidth());
languageComboBox->setSizePolicy(sizePolicy3);
languageComboBox->setMinimumSize(QSize(70, 0));
languageComboBox->setMaximumSize(QSize(70, 50));
QFont font3;
font3.setFamily(QString::fromUtf8("Helvetica Cyr Upright-Bold"));
font3.setBold(true);
font3.setWeight(75);
languageComboBox->setFont(font3);
horizontalLayout_2->addWidget(languageComboBox);
horizontalWidget = new QWidget(centralwidget);
horizontalWidget->setObjectName(QString::fromUtf8("horizontalWidget"));
horizontalWidget->setGeometry(QRect(0, 220, 801, 211));
horizontalLayout = new QHBoxLayout(horizontalWidget);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalLayout->setSizeConstraint(QLayout::SetDefaultConstraint);
horizontalLayout->setContentsMargins(1, -1, -1, -1);
loginWidget = new QWidget(horizontalWidget);
loginWidget->setObjectName(QString::fromUtf8("loginWidget"));
loginWidget->setEnabled(true);
QSizePolicy sizePolicy4(QSizePolicy::Minimum, QSizePolicy::Preferred);
sizePolicy4.setHorizontalStretch(0);
sizePolicy4.setVerticalStretch(0);
sizePolicy4.setHeightForWidth(loginWidget->sizePolicy().hasHeightForWidth());
loginWidget->setSizePolicy(sizePolicy4);
loginWidget->setMinimumSize(QSize(0, 0));
loginWidget->setMaximumSize(QSize(250, 300));
loginWidget->setAutoFillBackground(false);
verticalLayout = new QVBoxLayout(loginWidget);
verticalLayout->setSpacing(5);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(0, 0, 0, 0);
loginLayoutWidget = new QWidget(loginWidget);
loginLayoutWidget->setObjectName(QString::fromUtf8("loginLayoutWidget"));
sizePolicy4.setHeightForWidth(loginLayoutWidget->sizePolicy().hasHeightForWidth());
loginLayoutWidget->setSizePolicy(sizePolicy4);
loginLayoutWidget->setMinimumSize(QSize(250, 190));
loginLayoutWidget->setMaximumSize(QSize(240, 250));
loginLayout = new QVBoxLayout(loginLayoutWidget);
loginLayout->setSpacing(4);
loginLayout->setObjectName(QString::fromUtf8("loginLayout"));
loginTitle = new QLabel(loginLayoutWidget);
loginTitle->setObjectName(QString::fromUtf8("loginTitle"));
sizePolicy3.setHeightForWidth(loginTitle->sizePolicy().hasHeightForWidth());
loginTitle->setSizePolicy(sizePolicy3);
loginTitle->setMaximumSize(QSize(250, 30));
loginTitle->setAlignment(Qt::AlignCenter);
loginLayout->addWidget(loginTitle);
loginInputField = new QLineEdit(loginLayoutWidget);
loginInputField->setObjectName(QString::fromUtf8("loginInputField"));
QSizePolicy sizePolicy5(QSizePolicy::Minimum, QSizePolicy::Fixed);
sizePolicy5.setHorizontalStretch(0);
sizePolicy5.setVerticalStretch(0);
sizePolicy5.setHeightForWidth(loginInputField->sizePolicy().hasHeightForWidth());
loginInputField->setSizePolicy(sizePolicy5);
loginInputField->setMinimumSize(QSize(230, 35));
loginLayout->addWidget(loginInputField);
passwordInputField = new QLineEdit(loginLayoutWidget);
passwordInputField->setObjectName(QString::fromUtf8("passwordInputField"));
sizePolicy5.setHeightForWidth(passwordInputField->sizePolicy().hasHeightForWidth());
passwordInputField->setSizePolicy(sizePolicy5);
passwordInputField->setMinimumSize(QSize(230, 35));
loginLayout->addWidget(passwordInputField);
loginButton = new QPushButton(loginLayoutWidget);
loginButton->setObjectName(QString::fromUtf8("loginButton"));
loginButton->setMinimumSize(QSize(230, 35));
loginButton->setProperty("isGreen", QVariant(true));
loginLayout->addWidget(loginButton);
verticalLayout->addWidget(loginLayoutWidget);
horizontalLayout->addWidget(loginWidget);
offlineWidget = new QWidget(horizontalWidget);
offlineWidget->setObjectName(QString::fromUtf8("offlineWidget"));
offlineWidget->setMinimumSize(QSize(0, 0));
offlineWidget->setMaximumSize(QSize(500, 16777215));
verticalLayout_3 = new QVBoxLayout(offlineWidget);
verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
verticalLayout_3->setContentsMargins(0, 0, 0, -1);
offlineNotifyLabel = new QLabel(offlineWidget);
offlineNotifyLabel->setObjectName(QString::fromUtf8("offlineNotifyLabel"));
offlineNotifyLabel->setEnabled(true);
sizePolicy2.setHeightForWidth(offlineNotifyLabel->sizePolicy().hasHeightForWidth());
offlineNotifyLabel->setSizePolicy(sizePolicy2);
offlineNotifyLabel->setMinimumSize(QSize(0, 50));
offlineNotifyLabel->setMaximumSize(QSize(600, 100));
QFont font4;
font4.setPointSize(8);
offlineNotifyLabel->setFont(font4);
offlineNotifyLabel->setAutoFillBackground(false);
offlineNotifyLabel->setScaledContents(true);
offlineNotifyLabel->setAlignment(Qt::AlignHCenter|Qt::AlignTop);
offlineNotifyLabel->setWordWrap(true);
offlineNotifyLabel->setMargin(0);
verticalLayout_3->addWidget(offlineNotifyLabel);
horizontalLayout->addWidget(offlineWidget);
settingsWidget = new QWidget(horizontalWidget);
settingsWidget->setObjectName(QString::fromUtf8("settingsWidget"));
settingsWidget->setEnabled(true);
sizePolicy.setHeightForWidth(settingsWidget->sizePolicy().hasHeightForWidth());
settingsWidget->setSizePolicy(sizePolicy);
settingsWidget->setMinimumSize(QSize(0, 0));
settingsWidget->setMaximumSize(QSize(200, 16777215));
settingsWidget->setAutoFillBackground(false);
verticalLayout_2 = new QVBoxLayout(settingsWidget);
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
serverSettingsTitle = new QLabel(settingsWidget);
serverSettingsTitle->setObjectName(QString::fromUtf8("serverSettingsTitle"));
serverSettingsTitle->setAlignment(Qt::AlignCenter);
verticalLayout_2->addWidget(serverSettingsTitle);
serverInputLayout = new QHBoxLayout();
serverInputLayout->setObjectName(QString::fromUtf8("serverInputLayout"));
serverInputField = new QLineEdit(settingsWidget);
serverInputField->setObjectName(QString::fromUtf8("serverInputField"));
serverInputField->setMinimumSize(QSize(0, 35));
serverInputLayout->addWidget(serverInputField);
verticalLayout_2->addLayout(serverInputLayout);
portInputLayout = new QHBoxLayout();
portInputLayout->setObjectName(QString::fromUtf8("portInputLayout"));
portInputField = new QLineEdit(settingsWidget);
portInputField->setObjectName(QString::fromUtf8("portInputField"));
portInputField->setMinimumSize(QSize(0, 35));
portInputLayout->addWidget(portInputField);
verticalLayout_2->addLayout(portInputLayout);
saveServerButton = new QPushButton(settingsWidget);
saveServerButton->setObjectName(QString::fromUtf8("saveServerButton"));
saveServerButton->setMinimumSize(QSize(0, 40));
saveServerButton->setMaximumSize(QSize(16777215, 50));
saveServerButton->setProperty("blueButton", QVariant(true));
verticalLayout_2->addWidget(saveServerButton);
horizontalLayout->addWidget(settingsWidget);
notificationLabel = new QLabel(centralwidget);
notificationLabel->setObjectName(QString::fromUtf8("notificationLabel"));
notificationLabel->setGeometry(QRect(250, 460, 300, 40));
sizePolicy.setHeightForWidth(notificationLabel->sizePolicy().hasHeightForWidth());
notificationLabel->setSizePolicy(sizePolicy);
notificationLabel->setMinimumSize(QSize(300, 0));
notificationLabel->setMaximumSize(QSize(300, 16777215));
notificationLabel->setFont(font1);
notificationLabel->setFrameShape(QFrame::StyledPanel);
notificationLabel->setFrameShadow(QFrame::Plain);
notificationLabel->setTextFormat(Qt::RichText);
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);
sizePolicy3.setHeightForWidth(autostartCheckBox->sizePolicy().hasHeightForWidth());
autostartCheckBox->setSizePolicy(sizePolicy3);
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);
updateWidget = new QWidget(centralwidget);
updateWidget->setObjectName(QString::fromUtf8("updateWidget"));
updateWidget->setGeometry(QRect(10, 330, 781, 171));
verticalLayout_10 = new QVBoxLayout(updateWidget);
verticalLayout_10->setSpacing(6);
verticalLayout_10->setObjectName(QString::fromUtf8("verticalLayout_10"));
verticalLayout_10->setContentsMargins(5, 5, 0, 0);
updateListGuideLabel = new QLabel(updateWidget);
updateListGuideLabel->setObjectName(QString::fromUtf8("updateListGuideLabel"));
updateListGuideLabel->setMinimumSize(QSize(500, 25));
updateListGuideLabel->setMaximumSize(QSize(16777215, 20));
QFont font5;
font5.setFamily(QString::fromUtf8("Calibri"));
font5.setPointSize(10);
updateListGuideLabel->setFont(font5);
updateListGuideLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
verticalLayout_10->addWidget(updateListGuideLabel);
updateActionListLabel = new QLabel(updateWidget);
updateActionListLabel->setObjectName(QString::fromUtf8("updateActionListLabel"));
updateActionListLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
verticalLayout_10->addWidget(updateActionListLabel);
updateButtonGroup_2 = new QWidget(centralwidget);
updateButtonGroup_2->setObjectName(QString::fromUtf8("updateButtonGroup_2"));
updateButtonGroup_2->setGeometry(QRect(0, 541, 540, 50));
updateButtonGroup = new QHBoxLayout(updateButtonGroup_2);
updateButtonGroup->setObjectName(QString::fromUtf8("updateButtonGroup"));
loadToServerButton = new QPushButton(updateButtonGroup_2);
loadToServerButton->setObjectName(QString::fromUtf8("loadToServerButton"));
loadToServerButton->setMinimumSize(QSize(0, 35));
updateButtonGroup->addWidget(loadToServerButton);
undoChangesButton = new QPushButton(updateButtonGroup_2);
undoChangesButton->setObjectName(QString::fromUtf8("undoChangesButton"));
undoChangesButton->setMinimumSize(QSize(0, 35));
updateButtonGroup->addWidget(undoChangesButton);
startWithCurrentChangesButton = new QPushButton(updateButtonGroup_2);
startWithCurrentChangesButton->setObjectName(QString::fromUtf8("startWithCurrentChangesButton"));
startWithCurrentChangesButton->setMinimumSize(QSize(0, 35));
updateButtonGroup->addWidget(startWithCurrentChangesButton);
headerWidget = new QWidget(centralwidget);
headerWidget->setObjectName(QString::fromUtf8("headerWidget"));
headerWidget->setGeometry(QRect(0, 0, 801, 40));
headerWidget->setMinimumSize(QSize(0, 40));
headerWidget->setMaximumSize(QSize(16777215, 16777215));
headerLayout = new QHBoxLayout(headerWidget);
headerLayout->setSpacing(0);
headerLayout->setObjectName(QString::fromUtf8("headerLayout"));
headerLayout->setContentsMargins(0, 0, 0, 0);
iconWidget = new QWidget(headerWidget);
iconWidget->setObjectName(QString::fromUtf8("iconWidget"));
sizePolicy3.setHeightForWidth(iconWidget->sizePolicy().hasHeightForWidth());
iconWidget->setSizePolicy(sizePolicy3);
iconWidget->setMinimumSize(QSize(30, 30));
iconWidget->setMaximumSize(QSize(30, 30));
headerLayout->addWidget(iconWidget);
headerLabel = new MyWinHeader(headerWidget);
headerLabel->setObjectName(QString::fromUtf8("headerLabel"));
headerLayout->addWidget(headerLabel);
exitButton = new QPushButton(headerWidget);
exitButton->setObjectName(QString::fromUtf8("exitButton"));
sizePolicy3.setHeightForWidth(exitButton->sizePolicy().hasHeightForWidth());
exitButton->setSizePolicy(sizePolicy3);
exitButton->setMinimumSize(QSize(30, 30));
exitButton->setMaximumSize(QSize(50, 50));
headerLayout->addWidget(exitButton);
offlineStartButton = new QPushButton(centralwidget);
offlineStartButton->setObjectName(QString::fromUtf8("offlineStartButton"));
offlineStartButton->setEnabled(true);
offlineStartButton->setGeometry(QRect(570, 552, 300, 35));
sizePolicy1.setHeightForWidth(offlineStartButton->sizePolicy().hasHeightForWidth());
offlineStartButton->setSizePolicy(sizePolicy1);
offlineStartButton->setMinimumSize(QSize(250, 35));
offlineStartButton->setMaximumSize(QSize(1500, 35));
offlineStartButton->setCheckable(false);
offlineStartButton->setChecked(false);
MainWindow->setCentralWidget(centralwidget);
downLayout->raise();
mainFrame->raise();
horizontalWidget->raise();
notificationLabel->raise();
debugWidget->raise();
updateButtonGroup_2->raise();
updateWidget->raise();
headerWidget->raise();
LanguageWidget->raise();
offlineStartButton->raise();
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
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));
updateButton->setText(QCoreApplication::translate("MainWindow", "\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214", nullptr));
startButton->setText(QCoreApplication::translate("MainWindow", "\320\227\320\260\320\277\321\203\321\201\320\272", 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));
languageComboBox->setItemText(0, QCoreApplication::translate("MainWindow", "RUS", nullptr));
languageComboBox->setItemText(1, QCoreApplication::translate("MainWindow", "ENG", nullptr));
loginTitle->setText(QCoreApplication::translate("MainWindow", "\320\222\321\205\320\276\320\264 \320\262 \321\201\320\270\321\201\321\202\320\265\320\274\321\203", nullptr));
loginInputField->setText(QString());
loginInputField->setPlaceholderText(QCoreApplication::translate("MainWindow", "\320\233\320\276\320\263\320\270\320\275", nullptr));
passwordInputField->setPlaceholderText(QCoreApplication::translate("MainWindow", "\320\237\320\260\321\200\320\276\320\273\321\214", nullptr));
loginButton->setText(QCoreApplication::translate("MainWindow", "\320\222\320\276\320\271\321\202\320\270", nullptr));
offlineNotifyLabel->setText(QCoreApplication::translate("MainWindow", "\320\241\320\262\321\217\320\267\321\214 \321\201 \321\201\320\265\321\200\320\262\320\265\321\200\320\276\320\274 \320\275\320\265 \321\203\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275\320\260! \320\237\321\200\320\276\320\262\320\265\321\200\321\214\321\202\320\265 \320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270 \320\270\320\273\320\270 \320\267\320\260\320\277\321\203\321\201\321\202\320\270\321\202\320\265 \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));
serverSettingsTitle->setText(QCoreApplication::translate("MainWindow", "\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270 \321\201\320\265\321\200\320\262\320\265\321\200\320\260", nullptr));
serverInputField->setPlaceholderText(QCoreApplication::translate("MainWindow", "\320\241\320\265\321\200\320\262\320\265\321\200", nullptr));
portInputField->setPlaceholderText(QCoreApplication::translate("MainWindow", "\320\237\320\276\321\200\321\202", nullptr));
saveServerButton->setText(QCoreApplication::translate("MainWindow", "\320\241\320\276\321\205\321\200\320\260\320\275\320\270\321\202\321\214", 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));
inlineTextDebug->setText(QString());
updateListGuideLabel->setText(QCoreApplication::translate("MainWindow", "\320\225\321\201\321\202\321\214 \320\270\320\267\320\274\320\265\320\275\320\265\320\275\320\270\321\217 \320\262 \320\273\320\276\320\272\320\260\320\273\321\214\320\275\321\213\321\205 \321\204\320\260\320\271\320\273\320\260\321\205", nullptr));
updateActionListLabel->setText(QString());
loadToServerButton->setText(QCoreApplication::translate("MainWindow", "\320\222\321\213\320\263\321\200\321\203\320\267\320\270\321\202\321\214 \320\270\320\267\320\274\320\265\320\275\320\265\320\275\320\270\321\217", nullptr));
undoChangesButton->setText(QCoreApplication::translate("MainWindow", "\320\236\321\202\320\274\320\265\320\275\320\270\321\202\321\214 \320\270\320\267\320\274\320\265\320\275\320\265\320\275\320\270\321\217", nullptr));
startWithCurrentChangesButton->setText(QCoreApplication::translate("MainWindow", "\320\227\320\260\320\277\321\203\321\201\321\202\320\270\321\202\321\214 \320\261\320\265\320\267 \320\276\321\202\320\277\321\200\320\260\320\262\320\272\320\270", nullptr));
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());
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));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H

View File

@@ -0,0 +1,82 @@
/********************************************************************************
** Form generated from reading UI file 'updatenotifywidget.ui'
**
** Created by: Qt User Interface Compiler version 5.14.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_UPDATENOTIFYWIDGET_H
#define UI_UPDATENOTIFYWIDGET_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QListWidget>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_UpdateNotifyWidget
{
public:
QVBoxLayout *verticalLayout;
QLabel *NotificationLabel;
QListWidget *updateListWidget;
QHBoxLayout *horizontalLayout;
QPushButton *closeButton;
void setupUi(QWidget *UpdateNotifyWidget)
{
if (UpdateNotifyWidget->objectName().isEmpty())
UpdateNotifyWidget->setObjectName(QString::fromUtf8("UpdateNotifyWidget"));
UpdateNotifyWidget->resize(726, 429);
verticalLayout = new QVBoxLayout(UpdateNotifyWidget);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
NotificationLabel = new QLabel(UpdateNotifyWidget);
NotificationLabel->setObjectName(QString::fromUtf8("NotificationLabel"));
verticalLayout->addWidget(NotificationLabel);
updateListWidget = new QListWidget(UpdateNotifyWidget);
updateListWidget->setObjectName(QString::fromUtf8("updateListWidget"));
verticalLayout->addWidget(updateListWidget);
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
closeButton = new QPushButton(UpdateNotifyWidget);
closeButton->setObjectName(QString::fromUtf8("closeButton"));
closeButton->setMinimumSize(QSize(0, 35));
closeButton->setMaximumSize(QSize(200, 16777215));
horizontalLayout->addWidget(closeButton);
verticalLayout->addLayout(horizontalLayout);
retranslateUi(UpdateNotifyWidget);
QMetaObject::connectSlotsByName(UpdateNotifyWidget);
} // setupUi
void retranslateUi(QWidget *UpdateNotifyWidget)
{
UpdateNotifyWidget->setWindowTitle(QCoreApplication::translate("UpdateNotifyWidget", "Form", nullptr));
NotificationLabel->setText(QCoreApplication::translate("UpdateNotifyWidget", "\320\236\320\261\320\275\320\260\321\200\321\203\320\266\320\265\320\275\321\213 \320\275\320\276\320\262\321\213\320\265 \321\204\320\260\320\271\320\273\321\213:", nullptr));
closeButton->setText(QCoreApplication::translate("UpdateNotifyWidget", "\320\227\320\260\320\272\321\200\321\213\321\202\321\214", nullptr));
} // retranslateUi
};
namespace Ui {
class UpdateNotifyWidget: public Ui_UpdateNotifyWidget {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_UPDATENOTIFYWIDGET_H

View File

@@ -0,0 +1,37 @@
#include "updatenotifywidget.h"
#include "ui_updatenotifywidget.h"
#include "mainwindow.h"
#include <QMessageBox>
UpdateNotifyWidget::UpdateNotifyWidget(QWidget *) :
ui(new Ui::UpdateNotifyWidget)
{
ui->setupUi(this);
setWindowFlag(Qt::SubWindow);
setAttribute(Qt::WA_ShowModal,true);
}
void UpdateNotifyWidget::initialize(MainWindow *mainWindow)
{
this->mainWindow = mainWindow;
currentLoadingCount = 0;
}
void UpdateNotifyWidget::addToList(FileData fileData)
{
QString itemName = fileData.path;
itemName = itemName.remove(streamingAssetsPath);
ui->updateListWidget->addItem(itemName);
}
UpdateNotifyWidget::~UpdateNotifyWidget()
{
delete ui;
}
void UpdateNotifyWidget::on_closeButton_clicked()
{
close();
}

View File

@@ -0,0 +1,40 @@
#ifndef UPDATENOTIFYWIDGET_H
#define UPDATENOTIFYWIDGET_H
#include "mainwindow.h"
#include <QDialog>
#include <QWidget>
#include <Core/FileData.h>
namespace Ui {
class UpdateNotifyWidget;
}
class MainWindow;
class UpdateController;
class UpdateNotifyWidget : public QWidget
{
Q_OBJECT
public:
explicit UpdateNotifyWidget(QWidget *parent = nullptr);
void initialize(MainWindow *mainWindow);
void addToList(FileData fileData);
~UpdateNotifyWidget();
signals:
private slots:
void on_closeButton_clicked();
private:
Ui::UpdateNotifyWidget *ui;
MainWindow *mainWindow;
int currentLoadingCount;
};
#endif // UPDATENOTIFYWIDGET_H

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>UpdateNotifyWidget</class>
<widget class="QWidget" name="UpdateNotifyWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>726</width>
<height>429</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="NotificationLabel">
<property name="text">
<string>Обнаружены новые файлы:</string>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="updateListWidget"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="closeButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>35</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Закрыть</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -0,0 +1,21 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 7
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_GCC_MAJOR_VERSION \
QMAKE_GCC_MINOR_VERSION \
QMAKE_GCC_PATCH_VERSION
QMAKE_CXX.INCDIRS = \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++ \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/x86_64-w64-mingw32 \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/backward \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed \
C:/Qt/Qt5.14.2/Tools/mingw730_64/x86_64-w64-mingw32/include
QMAKE_CXX.LIBDIRS = \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0 \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib/gcc \
C:/Qt/Qt5.14.2/Tools/mingw730_64/x86_64-w64-mingw32/lib \
C:/Qt/Qt5.14.2/Tools/mingw730_64/lib

View File

@@ -0,0 +1,524 @@
#############################################################################
# Makefile for building: RRJClient
# Generated by qmake (3.1) (Qt 5.14.2)
# Project: ..\RRJClient\RRJClient.pro
# Template: app
# Command: C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe -o Makefile ..\RRJClient\RRJClient.pro -spec win32-g++ "CONFIG+=qtquickcompiler"
#############################################################################
MAKEFILE = Makefile
EQ = =
first: release
install: release-install
uninstall: release-uninstall
QMAKE = C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = copy /y
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
QINSTALL = C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe -install qinstall
QINSTALL_PROGRAM = C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\qmake.exe -install qinstall -exe
DEL_FILE = del
SYMLINK = $(QMAKE) -install ln -f -s
DEL_DIR = rmdir
MOVE = move
IDC = idc
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
SED = $(QMAKE) -install sed
MOVE = move
SUBTARGETS = \
release \
debug
release: FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_first: FORCE
$(MAKE) -f $(MAKEFILE).Release
release-all: FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-all: FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall
Makefile: ../RRJClient/RRJClient.pro C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/win32-g++/qmake.conf C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/spec_pre.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/qdevice.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/device_config.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/sanitize.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/gcc-base.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/g++-base.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/angle.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/windows_vulkan_sdk.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/windows-vulkan.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/g++-win32.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/windows-desktop.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/qconfig.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_accessibility_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bodymovin_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bootstrap_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designercomponents_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_edid_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_egl_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fb_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_packetprotocol_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldebug_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldevtools_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickparticles_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickshapes_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_theme_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uiplugin.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_vulkan_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_zlib_private.pri \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt_functions.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt_config.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/win32-g++/qmake.conf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/spec_post.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exclusive_builds.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/toolchain.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/default_pre.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/default_pre.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resolve_config.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exclusive_builds_post.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/default_post.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resources_functions.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qtquickcompiler.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/precompile_header.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/warn_on.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resources.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/moc.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/opengl.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/uic.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qmake_use.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/file_copies.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/windows.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/testcase_targets.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exceptions.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/yacc.prf \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/lex.prf \
../RRJClient/RRJClient.pro \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Widgets.prl \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Gui.prl \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Network.prl \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Core.prl \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/qtmain.prl \
.qmake.stash \
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/build_pass.prf \
../RRJClient/resources.qrc
$(QMAKE) -o Makefile ..\RRJClient\RRJClient.pro -spec win32-g++ "CONFIG+=qtquickcompiler"
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/spec_pre.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/qdevice.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/device_config.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/sanitize.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/gcc-base.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/g++-base.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/angle.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/windows_vulkan_sdk.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/windows-vulkan.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/g++-win32.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/common/windows-desktop.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/qconfig.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3danimation_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dcore_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dextras_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dinput_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dlogic_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquick_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickextras_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickinput_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickrender_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_3drender_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_accessibility_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axbase_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axcontainer_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_axserver_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bluetooth_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bodymovin_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_bootstrap_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_charts_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_concurrent_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_core_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_datavisualization_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_dbus_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designer_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_designercomponents_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_edid_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_egl_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fb_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gamepad_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_gui_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_help_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_location_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimedia_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_network_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_networkauth_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_nfc_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_opengl_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_openglextensions_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_packetprotocol_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioning_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_positioningquick_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_printsupport_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_purchasing_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qml_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldebug_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmldevtools_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlmodels_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmltest_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qmlworkerscript_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3d_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dassetimport_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3drender_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3druntimerender_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick3dutils_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quick_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickparticles_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickshapes_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_quickwidgets_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_remoteobjects_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_repparser_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_script_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scripttools_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_scxml_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sensors_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialbus_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_serialport_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_sql_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_svg_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_testlib_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_texttospeech_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_theme_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uiplugin.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_uitools_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_virtualkeyboard_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_vulkan_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_webchannel_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_websockets_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_widgets_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_winextras_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xml_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/modules/qt_lib_zlib_private.pri:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt_functions.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt_config.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/win32-g++/qmake.conf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/spec_post.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exclusive_builds.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/toolchain.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/default_pre.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/default_pre.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resolve_config.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exclusive_builds_post.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/default_post.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resources_functions.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qtquickcompiler.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/precompile_header.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/warn_on.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qt.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/resources.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/moc.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/opengl.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/uic.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/qmake_use.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/file_copies.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/win32/windows.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/testcase_targets.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/exceptions.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/yacc.prf:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/lex.prf:
../RRJClient/RRJClient.pro:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Widgets.prl:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Gui.prl:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Network.prl:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/Qt5Core.prl:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/qtmain.prl:
.qmake.stash:
C:/Qt/Qt5.14.2/5.14.2/mingw73_64/mkspecs/features/build_pass.prf:
../RRJClient/resources.qrc:
qmake: FORCE
@$(QMAKE) -o Makefile ..\RRJClient\RRJClient.pro -spec win32-g++ "CONFIG+=qtquickcompiler"
qmake_all: FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile
-$(DEL_FILE) .qmake.stash
release-mocclean:
$(MAKE) -f $(MAKEFILE).Release mocclean
debug-mocclean:
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean
release-mocables:
$(MAKE) -f $(MAKEFILE).Release mocables
debug-mocables:
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
check: first
benchmark: first
FORCE:
$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,25 @@
debug/sendsystem.o
debug/updatecontroller.o
debug/externalexecuter.o
debug/dataparser.o
debug/recognizesystem.o
debug/screenchecker.o
debug/tcpclient.o
debug/tools.o
debug/hashcomparer.o
debug/main.o
debug/mainwindow.o
debug/mywinheader.o
debug/updatenotifywidget.o
debug/qrc_resources.o
debug/moc_sendsystem.o
debug/moc_updatecontroller.o
debug/moc_externalexecuter.o
debug/moc_dataparser.o
debug/moc_recognizesystem.o
debug/moc_screenchecker.o
debug/moc_tcpclient.o
debug/moc_hashcomparer.o
debug/moc_mainwindow.o
debug/moc_mywinheader.o
debug/moc_updatenotifywidget.o

View File

@@ -0,0 +1,25 @@
release/sendsystem.o
release/updatecontroller.o
release/externalexecuter.o
release/dataparser.o
release/recognizesystem.o
release/screenchecker.o
release/tcpclient.o
release/tools.o
release/hashcomparer.o
release/main.o
release/mainwindow.o
release/mywinheader.o
release/updatenotifywidget.o
release/qrc_resources.o
release/moc_sendsystem.o
release/moc_updatecontroller.o
release/moc_externalexecuter.o
release/moc_dataparser.o
release/moc_recognizesystem.o
release/moc_screenchecker.o
release/moc_tcpclient.o
release/moc_hashcomparer.o
release/moc_mainwindow.o
release/moc_mywinheader.o
release/moc_updatenotifywidget.o

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,119 @@
/****************************************************************************
** Meta object code from reading C++ file 'dataparser.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 "../../RRJClient/Core/dataparser.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'dataparser.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_DataParser_t {
QByteArrayData data[3];
char stringdata0[29];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_DataParser_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_DataParser_t qt_meta_stringdata_DataParser = {
{
QT_MOC_LITERAL(0, 0, 10), // "DataParser"
QT_MOC_LITERAL(1, 11, 16), // "slotGetXmlAnswer"
QT_MOC_LITERAL(2, 28, 0) // ""
},
"DataParser\0slotGetXmlAnswer\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_DataParser[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 19, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::QByteArray, QMetaType::QString, 2,
0 // eod
};
void DataParser::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<DataParser *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: { QByteArray _r = _t->slotGetXmlAnswer((*reinterpret_cast< QString(*)>(_a[1])));
if (_a[0]) *reinterpret_cast< QByteArray*>(_a[0]) = std::move(_r); } break;
default: ;
}
}
}
QT_INIT_METAOBJECT const QMetaObject DataParser::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_DataParser.data,
qt_meta_data_DataParser,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *DataParser::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *DataParser::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_DataParser.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int DataParser::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'externalexecuter.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 "../../RRJClient/Core/externalexecuter.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'externalexecuter.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_ExternalExecuter_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_ExternalExecuter_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_ExternalExecuter_t qt_meta_stringdata_ExternalExecuter = {
{
QT_MOC_LITERAL(0, 0, 16) // "ExternalExecuter"
},
"ExternalExecuter"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_ExternalExecuter[] = {
// 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 ExternalExecuter::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 ExternalExecuter::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_ExternalExecuter.data,
qt_meta_data_ExternalExecuter,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *ExternalExecuter::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *ExternalExecuter::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_ExternalExecuter.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int ExternalExecuter::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.

View File

@@ -0,0 +1,151 @@
/****************************************************************************
** Meta object code from reading C++ file 'hashcomparer.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 "../../RRJClient/Core/hashcomparer.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'hashcomparer.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_HashComparer_t {
QByteArrayData data[4];
char stringdata0[40];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_HashComparer_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_HashComparer_t qt_meta_stringdata_HashComparer = {
{
QT_MOC_LITERAL(0, 0, 12), // "HashComparer"
QT_MOC_LITERAL(1, 13, 12), // "sigCallCheck"
QT_MOC_LITERAL(2, 26, 0), // ""
QT_MOC_LITERAL(3, 27, 12) // "sigHaveDelta"
},
"HashComparer\0sigCallCheck\0\0sigHaveDelta"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_HashComparer[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
2, // signalCount
// signals: name, argc, parameters, tag, flags
1, 0, 24, 2, 0x06 /* Public */,
3, 0, 25, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void HashComparer::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<HashComparer *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sigCallCheck(); break;
case 1: _t->sigHaveDelta(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (HashComparer::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&HashComparer::sigCallCheck)) {
*result = 0;
return;
}
}
{
using _t = void (HashComparer::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&HashComparer::sigHaveDelta)) {
*result = 1;
return;
}
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject HashComparer::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_HashComparer.data,
qt_meta_data_HashComparer,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *HashComparer::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *HashComparer::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_HashComparer.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int HashComparer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
// SIGNAL 0
void HashComparer::sigCallCheck()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
// SIGNAL 1
void HashComparer::sigHaveDelta()
{
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@@ -0,0 +1,373 @@
/****************************************************************************
** Meta object code from reading C++ file 'mainwindow.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 "../../RRJClient/mainwindow.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#include <QtCore/QList>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'mainwindow.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_MainWindow_t {
QByteArrayData data[41];
char stringdata0[756];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
{
QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
QT_MOC_LITERAL(1, 11, 19), // "sigInitializeClient"
QT_MOC_LITERAL(2, 31, 0), // ""
QT_MOC_LITERAL(3, 32, 16), // "RecognizeSystem*"
QT_MOC_LITERAL(4, 49, 15), // "recognizeSystem"
QT_MOC_LITERAL(5, 65, 17), // "ExternalExecuter*"
QT_MOC_LITERAL(6, 83, 16), // "externalExecuter"
QT_MOC_LITERAL(7, 100, 11), // "SendSystem*"
QT_MOC_LITERAL(8, 112, 10), // "sendSystem"
QT_MOC_LITERAL(9, 123, 8), // "QThread*"
QT_MOC_LITERAL(10, 132, 6), // "thread"
QT_MOC_LITERAL(11, 139, 22), // "sigUpdateFilesOnServer"
QT_MOC_LITERAL(12, 162, 16), // "QList<FileData>*"
QT_MOC_LITERAL(13, 179, 12), // "fileSendList"
QT_MOC_LITERAL(14, 192, 13), // "sigSetConnect"
QT_MOC_LITERAL(15, 206, 15), // "ServerSettings*"
QT_MOC_LITERAL(16, 222, 14), // "serverSettings"
QT_MOC_LITERAL(17, 237, 16), // "sigCalculateHash"
QT_MOC_LITERAL(18, 254, 14), // "sigSendCommand"
QT_MOC_LITERAL(19, 269, 7), // "message"
QT_MOC_LITERAL(20, 277, 19), // "sigSendAutorization"
QT_MOC_LITERAL(21, 297, 15), // "sigGetConnected"
QT_MOC_LITERAL(22, 313, 22), // "on_loginButton_clicked"
QT_MOC_LITERAL(23, 336, 23), // "on_updateButton_clicked"
QT_MOC_LITERAL(24, 360, 22), // "on_startButton_clicked"
QT_MOC_LITERAL(25, 383, 27), // "on_saveServerButton_clicked"
QT_MOC_LITERAL(26, 411, 25), // "on_settingsButton_clicked"
QT_MOC_LITERAL(27, 437, 24), // "on_connectButton_clicked"
QT_MOC_LITERAL(28, 462, 29), // "on_languageComboBox_activated"
QT_MOC_LITERAL(29, 492, 4), // "arg1"
QT_MOC_LITERAL(30, 497, 17), // "slotDisableNotify"
QT_MOC_LITERAL(31, 515, 19), // "slotConnectionState"
QT_MOC_LITERAL(32, 535, 4), // "flag"
QT_MOC_LITERAL(33, 540, 20), // "slotServerDisconnect"
QT_MOC_LITERAL(34, 561, 37), // "on_updateListGuideLabel_linkA..."
QT_MOC_LITERAL(35, 599, 4), // "link"
QT_MOC_LITERAL(36, 604, 29), // "on_loadToServerButton_clicked"
QT_MOC_LITERAL(37, 634, 28), // "on_undoChangesButton_clicked"
QT_MOC_LITERAL(38, 663, 40), // "on_startWithCurrentChangesBut..."
QT_MOC_LITERAL(39, 704, 21), // "on_exitButton_clicked"
QT_MOC_LITERAL(40, 726, 29) // "on_offlineStartButton_clicked"
},
"MainWindow\0sigInitializeClient\0\0"
"RecognizeSystem*\0recognizeSystem\0"
"ExternalExecuter*\0externalExecuter\0"
"SendSystem*\0sendSystem\0QThread*\0thread\0"
"sigUpdateFilesOnServer\0QList<FileData>*\0"
"fileSendList\0sigSetConnect\0ServerSettings*\0"
"serverSettings\0sigCalculateHash\0"
"sigSendCommand\0message\0sigSendAutorization\0"
"sigGetConnected\0on_loginButton_clicked\0"
"on_updateButton_clicked\0on_startButton_clicked\0"
"on_saveServerButton_clicked\0"
"on_settingsButton_clicked\0"
"on_connectButton_clicked\0"
"on_languageComboBox_activated\0arg1\0"
"slotDisableNotify\0slotConnectionState\0"
"flag\0slotServerDisconnect\0"
"on_updateListGuideLabel_linkActivated\0"
"link\0on_loadToServerButton_clicked\0"
"on_undoChangesButton_clicked\0"
"on_startWithCurrentChangesButton_clicked\0"
"on_exitButton_clicked\0"
"on_offlineStartButton_clicked"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_MainWindow[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
23, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
7, // signalCount
// signals: name, argc, parameters, tag, flags
1, 4, 129, 2, 0x06 /* Public */,
11, 1, 138, 2, 0x06 /* Public */,
14, 2, 141, 2, 0x06 /* Public */,
17, 0, 146, 2, 0x06 /* Public */,
18, 1, 147, 2, 0x06 /* Public */,
20, 0, 150, 2, 0x06 /* Public */,
21, 0, 151, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
22, 0, 152, 2, 0x08 /* Private */,
23, 0, 153, 2, 0x08 /* Private */,
24, 0, 154, 2, 0x08 /* Private */,
25, 0, 155, 2, 0x08 /* Private */,
26, 0, 156, 2, 0x08 /* Private */,
27, 0, 157, 2, 0x08 /* Private */,
28, 1, 158, 2, 0x08 /* Private */,
30, 0, 161, 2, 0x08 /* Private */,
31, 1, 162, 2, 0x08 /* Private */,
33, 0, 165, 2, 0x08 /* Private */,
34, 1, 166, 2, 0x08 /* Private */,
36, 0, 169, 2, 0x08 /* Private */,
37, 0, 170, 2, 0x08 /* Private */,
38, 0, 171, 2, 0x08 /* Private */,
39, 0, 172, 2, 0x08 /* Private */,
40, 0, 173, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, 0x80000000 | 5, 0x80000000 | 7, 0x80000000 | 9, 4, 6, 8, 10,
QMetaType::Void, 0x80000000 | 12, 13,
QMetaType::Void, 0x80000000 | 15, 0x80000000 | 9, 16, 10,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 19,
QMetaType::Void,
QMetaType::Bool,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 29,
QMetaType::Void,
QMetaType::Void, QMetaType::Bool, 32,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 35,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<MainWindow *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sigInitializeClient((*reinterpret_cast< RecognizeSystem*(*)>(_a[1])),(*reinterpret_cast< ExternalExecuter*(*)>(_a[2])),(*reinterpret_cast< SendSystem*(*)>(_a[3])),(*reinterpret_cast< QThread*(*)>(_a[4]))); break;
case 1: _t->sigUpdateFilesOnServer((*reinterpret_cast< QList<FileData>*(*)>(_a[1]))); break;
case 2: _t->sigSetConnect((*reinterpret_cast< ServerSettings*(*)>(_a[1])),(*reinterpret_cast< QThread*(*)>(_a[2]))); break;
case 3: _t->sigCalculateHash(); break;
case 4: _t->sigSendCommand((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 5: _t->sigSendAutorization(); break;
case 6: { bool _r = _t->sigGetConnected();
if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = std::move(_r); } break;
case 7: _t->on_loginButton_clicked(); break;
case 8: _t->on_updateButton_clicked(); break;
case 9: _t->on_startButton_clicked(); break;
case 10: _t->on_saveServerButton_clicked(); break;
case 11: _t->on_settingsButton_clicked(); break;
case 12: _t->on_connectButton_clicked(); break;
case 13: _t->on_languageComboBox_activated((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 14: _t->slotDisableNotify(); break;
case 15: _t->slotConnectionState((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 16: _t->slotServerDisconnect(); break;
case 17: _t->on_updateListGuideLabel_linkActivated((*reinterpret_cast< const QString(*)>(_a[1]))); break;
case 18: _t->on_loadToServerButton_clicked(); break;
case 19: _t->on_undoChangesButton_clicked(); break;
case 20: _t->on_startWithCurrentChangesButton_clicked(); break;
case 21: _t->on_exitButton_clicked(); break;
case 22: _t->on_offlineStartButton_clicked(); break;
default: ;
}
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
switch (_id) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 0:
switch (*reinterpret_cast<int*>(_a[1])) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 1:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< ExternalExecuter* >(); break;
case 3:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QThread* >(); break;
case 0:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< RecognizeSystem* >(); break;
case 2:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< SendSystem* >(); break;
}
break;
case 2:
switch (*reinterpret_cast<int*>(_a[1])) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 1:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QThread* >(); break;
}
break;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (MainWindow::*)(RecognizeSystem * , ExternalExecuter * , SendSystem * , QThread * );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MainWindow::sigInitializeClient)) {
*result = 0;
return;
}
}
{
using _t = void (MainWindow::*)(QList<FileData> * );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MainWindow::sigUpdateFilesOnServer)) {
*result = 1;
return;
}
}
{
using _t = void (MainWindow::*)(ServerSettings * , QThread * );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MainWindow::sigSetConnect)) {
*result = 2;
return;
}
}
{
using _t = void (MainWindow::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MainWindow::sigCalculateHash)) {
*result = 3;
return;
}
}
{
using _t = void (MainWindow::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MainWindow::sigSendCommand)) {
*result = 4;
return;
}
}
{
using _t = void (MainWindow::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MainWindow::sigSendAutorization)) {
*result = 5;
return;
}
}
{
using _t = bool (MainWindow::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&MainWindow::sigGetConnected)) {
*result = 6;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
qt_meta_stringdata_MainWindow.data,
qt_meta_data_MainWindow,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *MainWindow::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *MainWindow::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
return static_cast<void*>(this);
return QMainWindow::qt_metacast(_clname);
}
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 23)
qt_static_metacall(this, _c, _id, _a);
_id -= 23;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 23)
qt_static_metacall(this, _c, _id, _a);
_id -= 23;
}
return _id;
}
// SIGNAL 0
void MainWindow::sigInitializeClient(RecognizeSystem * _t1, ExternalExecuter * _t2, SendSystem * _t3, QThread * _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))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t4))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void MainWindow::sigUpdateFilesOnServer(QList<FileData> * _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
// SIGNAL 2
void MainWindow::sigSetConnect(ServerSettings * _t1, QThread * _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 2, _a);
}
// SIGNAL 3
void MainWindow::sigCalculateHash()
{
QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
}
// SIGNAL 4
void MainWindow::sigSendCommand(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 4, _a);
}
// SIGNAL 5
void MainWindow::sigSendAutorization()
{
QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}
// SIGNAL 6
bool MainWindow::sigGetConnected()
{
bool _t0{};
void *_a[] = { const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t0))) };
QMetaObject::activate(this, &staticMetaObject, 6, _a);
return _t0;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'mywinheader.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 "../../RRJClient/mywinheader.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'mywinheader.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_MyWinHeader_t {
QByteArrayData data[1];
char stringdata0[12];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_MyWinHeader_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_MyWinHeader_t qt_meta_stringdata_MyWinHeader = {
{
QT_MOC_LITERAL(0, 0, 11) // "MyWinHeader"
},
"MyWinHeader"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_MyWinHeader[] = {
// 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 MyWinHeader::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 MyWinHeader::staticMetaObject = { {
QMetaObject::SuperData::link<QLabel::staticMetaObject>(),
qt_meta_stringdata_MyWinHeader.data,
qt_meta_data_MyWinHeader,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *MyWinHeader::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *MyWinHeader::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_MyWinHeader.stringdata0))
return static_cast<void*>(this);
return QLabel::qt_metacast(_clname);
}
int MyWinHeader::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QLabel::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@@ -0,0 +1,393 @@
#define __DBL_MIN_EXP__ (-1021)
#define __FLT32X_MAX_EXP__ 1024
#define __cpp_attributes 200809
#define __UINT_LEAST16_MAX__ 0xffff
#define __ATOMIC_ACQUIRE 2
#define __FLT128_MAX_10_EXP__ 4932
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
#define __GCC_IEC_559_COMPLEX 2
#define __UINT_LEAST8_TYPE__ unsigned char
#define __SIZEOF_FLOAT80__ 16
#define _WIN32 1
#define __INTMAX_C(c) c ## LL
#define __CHAR_BIT__ 8
#define __UINT8_MAX__ 0xff
#define _WIN64 1
#define __WINT_MAX__ 0xffff
#define __FLT32_MIN_EXP__ (-125)
#define __cpp_static_assert 200410
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __SIZE_MAX__ 0xffffffffffffffffULL
#define __WCHAR_MAX__ 0xffff
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
#define __GCC_IEC_559 2
#define __FLT32X_DECIMAL_DIG__ 17
#define __FLT_EVAL_METHOD__ 0
#define __cpp_binary_literals 201304
#define __FLT64_DECIMAL_DIG__ 17
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
#define __x86_64 1
#define __cpp_variadic_templates 200704
#define __UINT_FAST64_MAX__ 0xffffffffffffffffULL
#define __SIG_ATOMIC_TYPE__ int
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __GNUC_PATCHLEVEL__ 0
#define __FLT32_HAS_DENORM__ 1
#define __UINT_FAST8_MAX__ 0xff
#define __has_include(STR) __has_include__(STR)
#define _stdcall __attribute__((__stdcall__))
#define __DEC64_MAX_EXP__ 385
#define __INT8_C(c) c
#define __INT_LEAST8_WIDTH__ 8
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL
#define __SHRT_MAX__ 0x7fff
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
#define __FLT64X_MAX_10_EXP__ 4932
#define __UINT_LEAST8_MAX__ 0xff
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
#define __UINTMAX_TYPE__ long long unsigned int
#define __DEC32_EPSILON__ 1E-6DF
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
#define __OPTIMIZE__ 1
#define __UINT32_MAX__ 0xffffffffU
#define __GXX_EXPERIMENTAL_CXX0X__ 1
#define __LDBL_MAX_EXP__ 16384
#define __FLT128_MIN_EXP__ (-16381)
#define __WINT_MIN__ 0
#define __FLT128_MIN_10_EXP__ (-4931)
#define __INT_LEAST16_WIDTH__ 16
#define __SCHAR_MAX__ 0x7f
#define __FLT128_MANT_DIG__ 113
#define __WCHAR_MIN__ 0
#define __INT64_C(c) c ## LL
#define __DBL_DIG__ 15
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
#define __FLT64X_MANT_DIG__ 64
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
#define __USER_LABEL_PREFIX__
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
#define __STDC_HOSTED__ 1
#define __WIN32 1
#define __LDBL_HAS_INFINITY__ 1
#define __WIN64 1
#define __FLT32_DIG__ 6
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
#define __GXX_WEAK__ 1
#define __SHRT_WIDTH__ 16
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
#define __DEC32_MAX__ 9.999999E96DF
#define __cpp_threadsafe_static_init 200806
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
#define __MINGW32__ 1
#define __FLT32X_HAS_INFINITY__ 1
#define __INT32_MAX__ 0x7fffffff
#define __INT_WIDTH__ 32
#define __SIZEOF_LONG__ 4
#define __UINT16_C(c) c
#define __PTRDIFF_WIDTH__ 64
#define __DECIMAL_DIG__ 21
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
#define __INTMAX_WIDTH__ 64
#define __FLT64_MIN_EXP__ (-1021)
#define __has_include_next(STR) __has_include_next__(STR)
#define __FLT64X_MIN_10_EXP__ (-4931)
#define __LDBL_HAS_QUIET_NAN__ 1
#define __FLT64_MANT_DIG__ 53
#define _REENTRANT 1
#define __GNUC__ 7
#define _cdecl __attribute__((__cdecl__))
#define __GXX_RTTI 1
#define __MMX__ 1
#define __cpp_delegating_constructors 200604
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 16
#define __BIGGEST_ALIGNMENT__ 16
#define __STDC_UTF_16__ 1
#define __FLT64_MAX_10_EXP__ 308
#define __FLT32_HAS_INFINITY__ 1
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
#define _thiscall __attribute__((__thiscall__))
#define __cpp_raw_strings 200710
#define __INT_FAST32_MAX__ 0x7fffffff
#define __WINNT 1
#define __DBL_HAS_INFINITY__ 1
#define __INT64_MAX__ 0x7fffffffffffffffLL
#define __WINNT__ 1
#define __DEC32_MIN_EXP__ (-94)
#define __INTPTR_WIDTH__ 64
#define __FLT32X_HAS_DENORM__ 1
#define __INT_FAST16_TYPE__ short int
#define _fastcall __attribute__((__fastcall__))
#define __LDBL_HAS_DENORM__ 1
#define __cplusplus 201103L
#define __cpp_ref_qualifiers 200710
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __INT_LEAST32_MAX__ 0x7fffffff
#define __DEC32_MIN__ 1E-95DF
#define __DEPRECATED 1
#define __cpp_rvalue_references 200610
#define __DBL_MAX_EXP__ 1024
#define __WCHAR_WIDTH__ 16
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
#define __DEC128_EPSILON__ 1E-33DL
#define __SSE2_MATH__ 1
#define __ATOMIC_HLE_RELEASE 131072
#define __WIN32__ 1
#define __PTRDIFF_MAX__ 0x7fffffffffffffffLL
#define __amd64 1
#define __tune_core2__ 1
#define __ATOMIC_HLE_ACQUIRE 65536
#define __FLT32_HAS_QUIET_NAN__ 1
#define __GNUG__ 7
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
#define __SIZEOF_SIZE_T__ 8
#define __cpp_rvalue_reference 200610
#define __cpp_nsdmi 200809
#define __FLT64X_MIN_EXP__ (-16381)
#define __SIZEOF_WINT_T__ 2
#define __LONG_LONG_WIDTH__ 64
#define __cpp_initializer_lists 200806
#define __FLT32_MAX_EXP__ 128
#define __cpp_hex_float 201603
#define __GXX_ABI_VERSION 1011
#define __FLT128_HAS_INFINITY__ 1
#define __FLT_MIN_EXP__ (-125)
#define __cpp_lambdas 200907
#define __FLT64X_HAS_QUIET_NAN__ 1
#define __INT_FAST64_TYPE__ long long int
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
#define __DECIMAL_BID_FORMAT__ 1
#define __GXX_TYPEINFO_EQUALITY_INLINE 0
#define __FLT64_MIN_10_EXP__ (-307)
#define __FLT64X_DECIMAL_DIG__ 21
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __UINT16_MAX__ 0xffff
#define __DBL_HAS_DENORM__ 1
#define __cdecl __attribute__((__cdecl__))
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
#define __UINT8_TYPE__ unsigned char
#define __FLT_MANT_DIG__ 24
#define __LDBL_DECIMAL_DIG__ 21
#define __VERSION__ "7.3.0"
#define __UINT64_C(c) c ## ULL
#define __cpp_unicode_characters 200704
#define __GCC_ATOMIC_INT_LOCK_FREE 2
#define __FLT128_MAX_EXP__ 16384
#define __FLT32_MANT_DIG__ 24
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __FLT128_HAS_DENORM__ 1
#define __FLT128_DIG__ 33
#define __SCHAR_WIDTH__ 8
#define __INT32_C(c) c
#define __DEC64_EPSILON__ 1E-15DD
#define __ORDER_PDP_ENDIAN__ 3412
#define __DEC128_MIN_EXP__ (-6142)
#define __FLT32_MAX_10_EXP__ 38
#define __INT_FAST32_TYPE__ int
#define __UINT_LEAST16_TYPE__ short unsigned int
#define __FLT64X_HAS_INFINITY__ 1
#define __INT16_MAX__ 0x7fff
#define __cpp_rtti 199711
#define __SIZE_TYPE__ long long unsigned int
#define __UINT64_MAX__ 0xffffffffffffffffULL
#define __FLT64X_DIG__ 18
#define __INT8_TYPE__ signed char
#define __GCC_ASM_FLAG_OUTPUTS__ 1
#define __FLT_RADIX__ 2
#define __INT_LEAST16_TYPE__ short int
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
#define __UINTMAX_C(c) c ## ULL
#define __GLIBCXX_BITSIZE_INT_N_0 128
#define __SEH__ 1
#define __SIG_ATOMIC_MAX__ 0x7fffffff
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define __SIZEOF_PTRDIFF_T__ 8
#define __FLT32X_MANT_DIG__ 53
#define __x86_64__ 1
#define __FLT32X_MIN_EXP__ (-1021)
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
#define __MSVCRT__ 1
#define __INT_FAST16_MAX__ 0x7fff
#define __FLT64_DIG__ 15
#define __UINT_FAST32_MAX__ 0xffffffffU
#define __UINT_LEAST64_TYPE__ long long unsigned int
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 0x7fffffffL
#define __FLT64X_HAS_DENORM__ 1
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __FLT_HAS_INFINITY__ 1
#define __cpp_unicode_literals 200710
#define __UINT_FAST16_TYPE__ short unsigned int
#define __DEC64_MAX__ 9.999999999999999E384DD
#define __INT_FAST32_WIDTH__ 32
#define __CHAR16_TYPE__ short unsigned int
#define __PRAGMA_REDEFINE_EXTNAME 1
#define __SIZE_WIDTH__ 64
#define __SEG_FS 1
#define __INT_LEAST16_MAX__ 0x7fff
#define __DEC64_MANT_DIG__ 16
#define __UINT_LEAST32_MAX__ 0xffffffffU
#define __SEG_GS 1
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
#define __SIG_ATOMIC_WIDTH__ 32
#define __INT_LEAST64_TYPE__ long long int
#define __INT16_TYPE__ short int
#define __INT_LEAST8_TYPE__ signed char
#define __DEC32_MAX_EXP__ 97
#define __INT_FAST8_MAX__ 0x7f
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
#define __INTPTR_MAX__ 0x7fffffffffffffffLL
#define __GXX_MERGED_TYPEINFO_NAMES 0
#define __cpp_range_based_for 200907
#define __FLT64_HAS_QUIET_NAN__ 1
#define __stdcall __attribute__((__stdcall__))
#define __FLT32_MIN_10_EXP__ (-37)
#define __SSE2__ 1
#define __EXCEPTIONS 1
#define __LDBL_MANT_DIG__ 64
#define __DBL_HAS_QUIET_NAN__ 1
#define __FLT64_HAS_INFINITY__ 1
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
#define __INTPTR_TYPE__ long long int
#define __UINT16_TYPE__ short unsigned int
#define __WCHAR_TYPE__ short unsigned int
#define __SIZEOF_FLOAT__ 4
#define __pic__ 1
#define __UINTPTR_MAX__ 0xffffffffffffffffULL
#define __INT_FAST64_WIDTH__ 64
#define __DEC64_MIN_EXP__ (-382)
#define __cpp_decltype 200707
#define __FLT32_DECIMAL_DIG__ 9
#define __INT_FAST64_MAX__ 0x7fffffffffffffffLL
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define __FLT_DIG__ 6
#define __FLT64X_MAX_EXP__ 16384
#define __UINT_FAST64_TYPE__ long long unsigned int
#define __INT_MAX__ 0x7fffffff
#define __amd64__ 1
#define WIN32 1
#define __nocona 1
#define __code_model_medium__ 1
#define __INT64_TYPE__ long long int
#define __FLT_MAX_EXP__ 128
#define WIN64 1
#define __ORDER_BIG_ENDIAN__ 4321
#define __DBL_MANT_DIG__ 53
#define __cpp_inheriting_constructors 201511
#define __SIZEOF_FLOAT128__ 16
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ short unsigned int
#define __UINT_LEAST32_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __SSE__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
#define __WINT_WIDTH__ 16
#define __INT_LEAST8_MAX__ 0x7f
#define __FLT32X_MAX_10_EXP__ 308
#define __SIZEOF_INT128__ 16
#define __WCHAR_UNSIGNED__ 1
#define __LDBL_MAX_10_EXP__ 4932
#define __ATOMIC_RELAXED 0
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
#define __thiscall __attribute__((__thiscall__))
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
#define __UINT8_C(c) c
#define __FLT64_MAX_EXP__ 1024
#define __INT_LEAST32_TYPE__ int
#define __SIZEOF_WCHAR_T__ 2
#define __FLT128_HAS_QUIET_NAN__ 1
#define __INT_FAST8_TYPE__ signed char
#define __fastcall __attribute__((__fastcall__))
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
#define __GNUC_STDC_INLINE__ 1
#define __FLT64_HAS_DENORM__ 1
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
#define __DBL_DECIMAL_DIG__ 17
#define __STDC_UTF_32__ 1
#define __INT_FAST8_WIDTH__ 8
#define __FXSR__ 1
#define __DEC_EVAL_METHOD__ 2
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
#define __MINGW64__ 1
#define __cpp_runtime_arrays 198712
#define __UINT64_TYPE__ long long unsigned int
#define __UINT32_C(c) c ## U
#define __INTMAX_MAX__ 0x7fffffffffffffffLL
#define __cpp_alias_templates 200704
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define WINNT 1
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
#define __INT8_MAX__ 0x7f
#define __LONG_WIDTH__ 32
#define __PIC__ 1
#define __UINT_FAST32_TYPE__ unsigned int
#define __CHAR32_TYPE__ unsigned int
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
#define __cpp_constexpr 200704
#define __INT32_TYPE__ int
#define __SIZEOF_DOUBLE__ 8
#define __cpp_exceptions 199711
#define __FLT_MIN_10_EXP__ (-37)
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
#define __INT_LEAST32_WIDTH__ 32
#define __INTMAX_TYPE__ long long int
#define _INTEGRAL_MAX_BITS 64
#define __DEC128_MAX_EXP__ 6145
#define __FLT32X_HAS_QUIET_NAN__ 1
#define __ATOMIC_CONSUME 1
#define __nocona__ 1
#define __GNUC_MINOR__ 3
#define __GLIBCXX_TYPE_INT_N_0 __int128
#define __INT_FAST16_WIDTH__ 16
#define __UINTMAX_MAX__ 0xffffffffffffffffULL
#define __DEC32_MANT_DIG__ 7
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
#define __INT16_C(c) c
#define __STDC__ 1
#define __FLT32X_DIG__ 15
#define __PTRDIFF_TYPE__ long long int
#define __ATOMIC_SEQ_CST 5
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
#define __UINT32_TYPE__ unsigned int
#define __FLT32X_MIN_10_EXP__ (-307)
#define __UINTPTR_TYPE__ long long unsigned int
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-4931)
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
#define __SSE_MATH__ 1
#define __SIZEOF_LONG_LONG__ 8
#define __cpp_user_defined_literals 200809
#define __FLT128_DECIMAL_DIG__ 36
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
#define __LDBL_DIG__ 18
#define __FLT_DECIMAL_DIG__ 9
#define __UINT_FAST16_MAX__ 0xffff
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
#define __INT_LEAST64_WIDTH__ 64
#define __SSE3__ 1
#define __UINT_FAST8_TYPE__ unsigned char
#define __WIN64__ 1
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3
#define __declspec(x) __attribute__((x))

View File

@@ -0,0 +1,286 @@
/****************************************************************************
** Meta object code from reading C++ file 'recognizesystem.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 "../../RRJClient/Core/recognizesystem.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'recognizesystem.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_RecognizeSystem_t {
QByteArrayData data[18];
char stringdata0[250];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_RecognizeSystem_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_RecognizeSystem_t qt_meta_stringdata_RecognizeSystem = {
{
QT_MOC_LITERAL(0, 0, 15), // "RecognizeSystem"
QT_MOC_LITERAL(1, 16, 23), // "sigUpdateBytesAvailable"
QT_MOC_LITERAL(2, 40, 0), // ""
QT_MOC_LITERAL(3, 41, 15), // "sigLoadComplete"
QT_MOC_LITERAL(4, 57, 13), // "sigNeedUpdate"
QT_MOC_LITERAL(5, 71, 4), // "flag"
QT_MOC_LITERAL(6, 76, 4), // "size"
QT_MOC_LITERAL(7, 81, 9), // "fileCount"
QT_MOC_LITERAL(8, 91, 15), // "sigSendDebugLog"
QT_MOC_LITERAL(9, 107, 7), // "message"
QT_MOC_LITERAL(10, 115, 17), // "sigSocketDisabled"
QT_MOC_LITERAL(11, 133, 16), // "sigServerBlocked"
QT_MOC_LITERAL(12, 150, 16), // "sigSaveLoginData"
QT_MOC_LITERAL(13, 167, 20), // "ServerAuthorization*"
QT_MOC_LITERAL(14, 188, 10), // "serverAuth"
QT_MOC_LITERAL(15, 199, 25), // "sigSocketWaitForReadyRead"
QT_MOC_LITERAL(16, 225, 8), // "waitTime"
QT_MOC_LITERAL(17, 234, 15) // "sigStartCompare"
},
"RecognizeSystem\0sigUpdateBytesAvailable\0"
"\0sigLoadComplete\0sigNeedUpdate\0flag\0"
"size\0fileCount\0sigSendDebugLog\0message\0"
"sigSocketDisabled\0sigServerBlocked\0"
"sigSaveLoginData\0ServerAuthorization*\0"
"serverAuth\0sigSocketWaitForReadyRead\0"
"waitTime\0sigStartCompare"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_RecognizeSystem[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
9, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
9, // signalCount
// signals: name, argc, parameters, tag, flags
1, 0, 59, 2, 0x06 /* Public */,
3, 0, 60, 2, 0x06 /* Public */,
4, 3, 61, 2, 0x06 /* Public */,
8, 1, 68, 2, 0x06 /* Public */,
10, 0, 71, 2, 0x06 /* Public */,
11, 0, 72, 2, 0x06 /* Public */,
12, 1, 73, 2, 0x06 /* Public */,
15, 1, 76, 2, 0x06 /* Public */,
17, 0, 79, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::Bool, QMetaType::LongLong, QMetaType::ULongLong, 5, 6, 7,
QMetaType::Void, QMetaType::QString, 9,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, 0x80000000 | 13, 14,
QMetaType::Void, QMetaType::Int, 16,
QMetaType::Void,
0 // eod
};
void RecognizeSystem::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<RecognizeSystem *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sigUpdateBytesAvailable(); 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 3: _t->sigSendDebugLog((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 4: _t->sigSocketDisabled(); break;
case 5: _t->sigServerBlocked(); break;
case 6: _t->sigSaveLoginData((*reinterpret_cast< ServerAuthorization*(*)>(_a[1]))); break;
case 7: _t->sigSocketWaitForReadyRead((*reinterpret_cast< int(*)>(_a[1]))); break;
case 8: _t->sigStartCompare(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (RecognizeSystem::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigUpdateBytesAvailable)) {
*result = 0;
return;
}
}
{
using _t = void (RecognizeSystem::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigLoadComplete)) {
*result = 1;
return;
}
}
{
using _t = void (RecognizeSystem::*)(bool , qint64 , quint64 );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigNeedUpdate)) {
*result = 2;
return;
}
}
{
using _t = void (RecognizeSystem::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigSendDebugLog)) {
*result = 3;
return;
}
}
{
using _t = void (RecognizeSystem::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigSocketDisabled)) {
*result = 4;
return;
}
}
{
using _t = void (RecognizeSystem::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigServerBlocked)) {
*result = 5;
return;
}
}
{
using _t = void (RecognizeSystem::*)(ServerAuthorization * );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigSaveLoginData)) {
*result = 6;
return;
}
}
{
using _t = void (RecognizeSystem::*)(int );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigSocketWaitForReadyRead)) {
*result = 7;
return;
}
}
{
using _t = void (RecognizeSystem::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&RecognizeSystem::sigStartCompare)) {
*result = 8;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject RecognizeSystem::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_RecognizeSystem.data,
qt_meta_data_RecognizeSystem,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *RecognizeSystem::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *RecognizeSystem::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_RecognizeSystem.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int RecognizeSystem::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 9)
qt_static_metacall(this, _c, _id, _a);
_id -= 9;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 9)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 9;
}
return _id;
}
// SIGNAL 0
void RecognizeSystem::sigUpdateBytesAvailable()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
// SIGNAL 1
void RecognizeSystem::sigLoadComplete()
{
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}
// SIGNAL 2
void RecognizeSystem::sigNeedUpdate(bool _t1, qint64 _t2, quint64 _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))) };
QMetaObject::activate(this, &staticMetaObject, 2, _a);
}
// SIGNAL 3
void RecognizeSystem::sigSendDebugLog(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 3, _a);
}
// SIGNAL 4
void RecognizeSystem::sigSocketDisabled()
{
QMetaObject::activate(this, &staticMetaObject, 4, nullptr);
}
// SIGNAL 5
void RecognizeSystem::sigServerBlocked()
{
QMetaObject::activate(this, &staticMetaObject, 5, nullptr);
}
// SIGNAL 6
void RecognizeSystem::sigSaveLoginData(ServerAuthorization * _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 6, _a);
}
// SIGNAL 7
void RecognizeSystem::sigSocketWaitForReadyRead(int _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 7, _a);
}
// SIGNAL 8
void RecognizeSystem::sigStartCompare()
{
QMetaObject::activate(this, &staticMetaObject, 8, nullptr);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

Binary file not shown.

View File

@@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'screenchecker.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 "../../RRJClient/Core/screenchecker.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'screenchecker.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_ScreenChecker_t {
QByteArrayData data[1];
char stringdata0[14];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_ScreenChecker_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_ScreenChecker_t qt_meta_stringdata_ScreenChecker = {
{
QT_MOC_LITERAL(0, 0, 13) // "ScreenChecker"
},
"ScreenChecker"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_ScreenChecker[] = {
// 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 ScreenChecker::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 ScreenChecker::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_ScreenChecker.data,
qt_meta_data_ScreenChecker,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *ScreenChecker::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *ScreenChecker::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_ScreenChecker.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int ScreenChecker::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

Some files were not shown because too many files have changed in this diff Show More