feat: fix entryWidget button behaviour

This commit is contained in:
semenov
2025-08-15 14:19:33 +03:00
parent 0c805708ef
commit 87db4d0ef4
26 changed files with 5292 additions and 5219 deletions

View File

@@ -45,6 +45,8 @@ QList<FileData> UpdateController::calculateHash(const QString& path,const QStrin
}
QList<FileData> *hashes = new QList<FileData>;
QString fullSize = Tools::convertFileSize(getDirectorySize(path),false);
quint64 currentSize = 0;
QStringList filter;
filter << "*";
@@ -78,6 +80,9 @@ QList<FileData> UpdateController::calculateHash(const QString& path,const QStrin
FileData currentFile;
QFile file(fileInfo.absoluteFilePath());
currentSize += fileInfo.size();
emit sigSendHashInfo(fullSize,Tools::convertFileSize(currentSize,false));
quint64 fileSize = file.size(); //буффер для хэширования крупных файлов
const quint64 bufferSize = 10240;
@@ -110,6 +115,24 @@ QList<FileData> UpdateController::calculateHash(const QString& path,const QStrin
return *hashes;
}
quint64 UpdateController::getDirectorySize(const QString& path)
{
quint64 totalSize = 0;
QDirIterator iterator(path, QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
while (iterator.hasNext())
{
iterator.next();
QFileInfo fileInfo = iterator.fileInfo();
if (fileInfo.isFile())
{
totalSize += fileInfo.size();
}
}
return totalSize;
}
void UpdateController::updateFilesOnServer(QList<FileData> *fileSendList){
QListIterator<FileData> serverIterator(*fileSendList);
@@ -132,7 +155,6 @@ void UpdateController::updateFilesOnServer(QList<FileData> *fileSendList){
}
calculateCommonHash();
sendSystem->sendFinish();
emit sigUpdateComplete(true);

View File

@@ -38,6 +38,7 @@ public:
signals:
void sigUpdateComplete(bool flag);
void sigSendHashInfo(QString fullSize,QString current);
private:
SendSystem *sendSystem;
DataParserOutput * dataParserOut;
@@ -47,6 +48,7 @@ private:
QList<FileData> streamingDataList;
QList<FileData> calculateHash(const QString& path,const QString& ignoreName);
quint64 getDirectorySize(const QString &path);
};

View File

@@ -132,27 +132,12 @@ void DataParser::xmlParser(const QByteArray& array)
postProcessSystem->startCompare();
}
// if (value == "BASEDELETETRY")
// {
// emit sigNotify(tr("Нельзя удалять базовую версию"));
// }
// if (value == "TRYACTIVEDELETE")
// {
// emit sigNotify(tr("Нельзя удалять активную версию"));
// }
// if (value == "DUPLICATEVERNAME")
// {
// emit sigNotify(tr("Такое имя уже существет"));
// }
// if (value == "UNCHANGEABLE")
// {
// emit sigNotify(tr("Нельзя выгружать в базовую версию"));
// postProcessSystem->showUpdateList();
// //emit recognizeSystem->sigShowUpdateList();
// }
if (value == "UNCHANGEABLE")
{
//emit sigNotify(tr("Нельзя выгружать в базовую версию"));
//postProcessSystem->showUpdateList();
//emit recognizeSystem->sigShowUpdateList();
}
if (value == "CHANGEABLE")
{

View File

@@ -153,14 +153,14 @@ void DataParserOutput::createServerSettings(ServerSettings* serverSettings)
if(serverSettings->LocalVersionName == "")
{
xmlWriter.writeStartElement("VersionData");
xmlWriter.writeAttribute("Version","NONE");
xmlWriter.writeAttribute("Version","-----");
xmlWriter.writeAttribute("isChangable","0");
xmlWriter.writeEndElement();
}
else
{
xmlWriter.writeStartElement("VersionData");
xmlWriter.writeAttribute("Version",serverSettings->versionData.getViewName());
xmlWriter.writeAttribute("Version",serverSettings->LocalVersionName);
xmlWriter.writeAttribute("isChangable",QString::number(serverSettings->versionData.getIsChangeable()));
}

View File

@@ -85,6 +85,6 @@ void PostProcessorSystem::calculateCommonHash()
void UpdateController::checkCanUpdate()
{
QByteArray checkUpdate = dataParserOut->xmlAnswer_notify("CANCHANGE");
QByteArray checkUpdate = dataParserOut->xmlAnswer_notify("CANCHANGE"); //TODO: ПЕРЕВЕСТИ НА PACKAGETYPE
sendSystem->sendXMLAnswer(checkUpdate);
}

View File

@@ -258,8 +258,7 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
if(packetType == PacketType::HASH_CALCULATE_START)
{
emit sigSetInineDebug(tr("Пересчет хэша на сервере..."));
//mainWindow->setInlineDebug();
emit sigdRecalculateHashOnServerState();
}
if(packetType == PacketType::BUSY)

View File

@@ -35,7 +35,7 @@ signals:
void sigSocketWaitForReadyRead(int waitTime);
void sigAnimationActivated(bool flag);
void sigCheckUpdate();
void sigSetInineDebug(QString message);
void sigdRecalculateHashOnServerState();
private:
QList<QString> *folderList;

View File

@@ -70,7 +70,7 @@ QString Tools::createSendFullPath(QString path)
return fullPath;
}
QString Tools::convertFileSize(quint64 fileSize)
QString Tools::convertFileSize(quint64 fileSize, bool withName)
{
quint64 megaByte = fileSize / (1024 * 1024);
QString resultSize;
@@ -78,11 +78,13 @@ QString Tools::convertFileSize(quint64 fileSize)
if (megaByte == 0)
{
auto kiloByte = fileSize / 1024;
resultSize = QString::number(kiloByte) + "кб. ";
resultSize = QString::number(kiloByte);
if(withName)resultSize.append("кб. ");
}
else
{
resultSize = QString::number(megaByte) + "мб. ";
resultSize = QString::number(megaByte);
if(withName)resultSize.append("мб. ");
}

View File

@@ -65,7 +65,7 @@ public:
static QString createLocalPath(QString path);
static QString createSendFullPath(QString path);
static QString createReceiveFullPath(QString path,StreamingVersionData *version);
static QString convertFileSize(quint64 fileSize);
static QString convertFileSize(quint64 fileSize, bool withName);
};
#endif // GLOBAL_H