fead: load without animation

This commit is contained in:
semenov
2024-09-19 11:11:20 +03:00
parent 23982ecd6b
commit 69eeddea5b
65 changed files with 5618 additions and 865 deletions

131
Core/sendsystem.cpp Normal file
View File

@@ -0,0 +1,131 @@
#include "sendsystem.h"
#include "tools.h"
#include <QFile>
#include <QFileInfo>
#include <QThread>
SendSystem::SendSystem(QObject* parent)
{
}
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->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();
//qDebug() << "Transaction after send file: " << socket->isTransactionStarted();
countSend = 0;
socket->waitForBytesWritten();
}
void SendSystem::sendFolderBlock(QString path)
{
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
stream << PacketType::TYPE_FOLDER;
stream << path;
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();
}
void SendSystem::sendFinish()
{
socket->waitForReadyRead();
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
stream << PacketType::TYPE_FINISH;
socket->waitForReadyRead(100);
}
SendSystem::~SendSystem()
{
}