mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJClient.git
synced 2026-03-28 05:25:39 +03:00
feat: fix entryWidget button behaviour
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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")
|
||||
{
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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("мб. ");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user