mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
feat:draft version change
This commit is contained in:
@@ -13,13 +13,12 @@ kanban-plugin: board
|
|||||||
## bugs
|
## bugs
|
||||||
|
|
||||||
- [ ] При старт стопе не сканится шэред дата
|
- [ ] При старт стопе не сканится шэред дата
|
||||||
- [ ] GUI server: при неподключенном сервере, отключать попытку изменить версию
|
|
||||||
|
|
||||||
|
|
||||||
## feature client Unity
|
## feature client Unity
|
||||||
|
|
||||||
- [ ] отправлять сигнал на пересчет хэша с саб частью
|
|
||||||
- [ ] Добавить обновление инструктора, если он перелогинился
|
- [ ] Добавить обновление инструктора, если он перелогинился
|
||||||
|
- [ ] убрать функционал смены версии с клиента
|
||||||
|
|
||||||
|
|
||||||
## feature client QT
|
## feature client QT
|
||||||
@@ -27,7 +26,6 @@ kanban-plugin: board
|
|||||||
- [ ] Иерархия проекта - папка application, папка updater и линк на основной экзешник
|
- [ ] Иерархия проекта - папка application, папка updater и линк на основной экзешник
|
||||||
- [ ] на старте все мониторы должны быть активны
|
- [ ] на старте все мониторы должны быть активны
|
||||||
- [ ] Нужен ли дополнительный выбор для загрузки с мат моделью или нет?
|
- [ ] Нужен ли дополнительный выбор для загрузки с мат моделью или нет?
|
||||||
- [ ] передавать полную версию в StreaminVerData
|
|
||||||
|
|
||||||
|
|
||||||
## feature server
|
## feature server
|
||||||
@@ -40,10 +38,13 @@ kanban-plugin: board
|
|||||||
|
|
||||||
## NOW
|
## NOW
|
||||||
|
|
||||||
|
- [ ] добавить информацию Авторе и изменяемая версия или нет
|
||||||
|
|
||||||
|
|
||||||
## Complete
|
## Complete
|
||||||
|
|
||||||
|
- [ ] отправлять сигнал на пересчет хэша с саб частью
|
||||||
|
- [ ] GUI server: при неподключенном сервере, отключать попытку изменить версию
|
||||||
- [ ] добавить автоматическое выключение после создания копии
|
- [ ] добавить автоматическое выключение после создания копии
|
||||||
- [ ] sendSystem::sendXmlAnswer новый вариант отпарвки XML пакетов
|
- [ ] sendSystem::sendXmlAnswer новый вариант отпарвки XML пакетов
|
||||||
- [ ] выписать все варианты взаимодействия между всеми клиентами и сервером
|
- [ ] выписать все варианты взаимодействия между всеми клиентами и сервером
|
||||||
|
|||||||
@@ -467,9 +467,10 @@ void RecognizeSystem::xmlParser(QByteArray array)
|
|||||||
else if(name == "Created")
|
else if(name == "Created")
|
||||||
data->setCreateData(QDateTime::fromString(value));
|
data->setCreateData(QDateTime::fromString(value));
|
||||||
else if(name == "isChangeable")
|
else if(name == "isChangeable")
|
||||||
{
|
|
||||||
data->setIsChangeable(value.toInt());
|
data->setIsChangeable(value.toInt());
|
||||||
}
|
else if(name == "author")
|
||||||
|
data->setAuthor(value);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
serverStreamingVersionDataList->append(data);
|
serverStreamingVersionDataList->append(data);
|
||||||
|
|||||||
@@ -97,6 +97,11 @@ bool ConnectorToServer::sendQueryTasksXML(QString type)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ConnectorToServer::setLoginName(QString name)
|
||||||
|
{
|
||||||
|
versionSelectWidget->setAuthor(name);
|
||||||
|
}
|
||||||
|
|
||||||
void ConnectorToServer::SetConnectToServer()
|
void ConnectorToServer::SetConnectToServer()
|
||||||
{
|
{
|
||||||
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
emit sigSetConnect(dataParser->getServerSettings(),connectionThread);
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ public:
|
|||||||
void showVersionSelect();
|
void showVersionSelect();
|
||||||
|
|
||||||
void activateLoadAnimation(bool flag);
|
void activateLoadAnimation(bool flag);
|
||||||
|
void setLoginName(QString name);
|
||||||
public slots:
|
public slots:
|
||||||
/*void slot_AnswerQueryToDB(QList<Instructor>* listInstructors,
|
/*void slot_AnswerQueryToDB(QList<Instructor>* listInstructors,
|
||||||
QList<Trainee>* listTrainees,
|
QList<Trainee>* listTrainees,
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ public:
|
|||||||
this->viewName = viewName;
|
this->viewName = viewName;
|
||||||
this->createData = data;
|
this->createData = data;
|
||||||
this->size = size;
|
this->size = size;
|
||||||
|
this->author = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
void setName(QString viewName)
|
void setName(QString viewName)
|
||||||
@@ -54,15 +55,26 @@ public:
|
|||||||
{
|
{
|
||||||
return isChangeable;
|
return isChangeable;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setIsChangeable(bool value)
|
void setIsChangeable(bool value)
|
||||||
{
|
{
|
||||||
isChangeable = value;
|
isChangeable = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString getAuthor() const
|
||||||
|
{
|
||||||
|
return author;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setAuthor(const QString &value)
|
||||||
|
{
|
||||||
|
author = value;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString absolutePath;
|
QString absolutePath;
|
||||||
QString viewName;
|
QString viewName;
|
||||||
|
QString author;
|
||||||
QDateTime createData;
|
QDateTime createData;
|
||||||
bool isChangeable;
|
bool isChangeable;
|
||||||
qint32 size;
|
qint32 size;
|
||||||
@@ -72,3 +84,5 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ void InstructorsAndTraineesWidget::checkLoginResult(ServerAuthorization *serverA
|
|||||||
ui->btnAuthorizationInstructor->setText(tr("Deauthorization Instructor"));
|
ui->btnAuthorizationInstructor->setText(tr("Deauthorization Instructor"));
|
||||||
|
|
||||||
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
|
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
|
||||||
|
connectorToServer->setLoginName(loginInstructorLoggedInLocal);
|
||||||
QMessageBox::information(this, tr("Instructor authorization"), tr("Successfully!"));
|
QMessageBox::information(this, tr("Instructor authorization"), tr("Successfully!"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -45,13 +45,21 @@ void VersionSelectWidget::on_verListView_itemDoubleClicked(QListWidgetItem *item
|
|||||||
if(data->getViewName() == item->text())
|
if(data->getViewName() == item->text())
|
||||||
{
|
{
|
||||||
QString info = "Имя версии: " + data->getViewName() + "\n";
|
QString info = "Имя версии: " + data->getViewName() + "\n";
|
||||||
info.append("Создан: " + data->getCreateData().toString());
|
info.append("Создан: " + data->getCreateData().toString() + "\n");
|
||||||
|
info.append("Изменяемый: " + changableText(data->getIsChangeable()) + "\n");
|
||||||
|
info.append("Автор: " + data->getAuthor());
|
||||||
ui->infoValue->setText(info);
|
ui->infoValue->setText(info);
|
||||||
selectedVersion = data;
|
selectedVersion = data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString VersionSelectWidget::changableText(bool flag)
|
||||||
|
{
|
||||||
|
if(flag) return tr("Да");
|
||||||
|
else return tr("Нет");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void VersionSelectWidget::on_createDuplicateButton_clicked()
|
void VersionSelectWidget::on_createDuplicateButton_clicked()
|
||||||
{
|
{
|
||||||
@@ -62,7 +70,7 @@ void VersionSelectWidget::on_createDuplicateButton_clicked()
|
|||||||
|
|
||||||
void VersionSelectWidget::sendCopyEmit(QString newName)
|
void VersionSelectWidget::sendCopyEmit(QString newName)
|
||||||
{
|
{
|
||||||
QString result = selectedVersion->getViewName() + ";" + newName;
|
QString result = selectedVersion->getViewName() + ";" + newName + ";" + authorName;
|
||||||
|
|
||||||
if (selectedVersion == nullptr)
|
if (selectedVersion == nullptr)
|
||||||
{
|
{
|
||||||
@@ -98,7 +106,10 @@ void VersionSelectWidget::on_switchServerVersionButton_clicked()
|
|||||||
emit sigSendSwitchVersion(selectedVersion);
|
emit sigSendSwitchVersion(selectedVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VersionSelectWidget::setAuthor(QString name)
|
||||||
|
{
|
||||||
|
authorName = name;
|
||||||
|
}
|
||||||
|
|
||||||
VersionSelectWidget::~VersionSelectWidget()
|
VersionSelectWidget::~VersionSelectWidget()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ public:
|
|||||||
void initialize(SendSystem *sendSystem,VersionContainer *versionContainer,NotifyController *notifyController);
|
void initialize(SendSystem *sendSystem,VersionContainer *versionContainer,NotifyController *notifyController);
|
||||||
void fillView(QList<StreamingVersionData*> *serverData);
|
void fillView(QList<StreamingVersionData*> *serverData);
|
||||||
void sendCopyEmit(QString newName);
|
void sendCopyEmit(QString newName);
|
||||||
|
void setAuthor(QString name);
|
||||||
|
|
||||||
~VersionSelectWidget();
|
~VersionSelectWidget();
|
||||||
private slots:
|
private slots:
|
||||||
@@ -45,6 +46,9 @@ private:
|
|||||||
VersionContainer *versionContainer;
|
VersionContainer *versionContainer;
|
||||||
NotifyController *notifyController;
|
NotifyController *notifyController;
|
||||||
StreamingVersionData *selectedVersion;
|
StreamingVersionData *selectedVersion;
|
||||||
|
|
||||||
|
QString authorName;
|
||||||
|
QString changableText(bool flag);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VERSIONSELECTWIDGET_H
|
#endif // VERSIONSELECTWIDGET_H
|
||||||
|
|||||||
@@ -14,7 +14,10 @@ public:
|
|||||||
this->createData = data;
|
this->createData = data;
|
||||||
this->size = size;
|
this->size = size;
|
||||||
this->isChangeable = true;
|
this->isChangeable = true;
|
||||||
|
this->author = "";
|
||||||
}
|
}
|
||||||
|
StreamingVersionData(){};
|
||||||
|
|
||||||
~StreamingVersionData();
|
~StreamingVersionData();
|
||||||
|
|
||||||
QString getAbsolutPath() const
|
QString getAbsolutPath() const
|
||||||
@@ -47,12 +50,45 @@ public:
|
|||||||
isChangeable = value;
|
isChangeable = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString getAuthor() const
|
||||||
|
{
|
||||||
|
return author;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setAuthor(const QString &value)
|
||||||
|
{
|
||||||
|
author = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setViewName(const QString &value)
|
||||||
|
{
|
||||||
|
viewName = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setCreateData(const QDateTime &value)
|
||||||
|
{
|
||||||
|
createData = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setAbsolutePath(const QString &value)
|
||||||
|
{
|
||||||
|
absolutePath = value;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString absolutePath;
|
QString absolutePath;
|
||||||
QString viewName;
|
QString viewName;
|
||||||
|
QString author;
|
||||||
QDateTime createData;
|
QDateTime createData;
|
||||||
bool isChangeable;
|
bool isChangeable;
|
||||||
qint32 size;
|
qint32 size;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // STREAMINGVERSIONDATA_H
|
#endif // STREAMINGVERSIONDATA_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,76 @@ AssetsManager::AssetsManager(QObject *parent) : QObject(parent)
|
|||||||
void AssetsManager::initialize(UpdateController* updateContoller,DataParser *dataParser)
|
void AssetsManager::initialize(UpdateController* updateContoller,DataParser *dataParser)
|
||||||
{
|
{
|
||||||
this->updateController = updateContoller;
|
this->updateController = updateContoller;
|
||||||
connect(this,&AssetsManager::sigSaveVersion,updateContoller,&UpdateController::saveVersionToFile);
|
//connect(this,&AssetsManager::sigSaveVersion,updateContoller,&UpdateController::saveVersionToFile);
|
||||||
datas = new QList<StreamingVersionData*>;
|
datas = new QList<StreamingVersionData*>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AssetsManager::fillDatas()
|
||||||
|
{
|
||||||
|
QByteArray array;
|
||||||
|
QFile file(versionListFile);
|
||||||
|
|
||||||
|
if(!file.exists())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
datas->clear();
|
||||||
|
|
||||||
|
file.open(QIODevice::ReadOnly);
|
||||||
|
array = file.readAll();
|
||||||
|
file.close();
|
||||||
|
QXmlStreamReader xmlReader(array);
|
||||||
|
|
||||||
|
xmlReader.readNext();
|
||||||
|
QString name = xmlReader.name().toString();
|
||||||
|
|
||||||
|
while(!xmlReader.atEnd())
|
||||||
|
{
|
||||||
|
name = xmlReader.name().toString();
|
||||||
|
|
||||||
|
if(!xmlReader.isStartElement()) {
|
||||||
|
xmlReader.readNext();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(xmlReader.name() == "VersionList")
|
||||||
|
{
|
||||||
|
xmlReader.readNext();
|
||||||
|
|
||||||
|
while (!xmlReader.atEnd())
|
||||||
|
{
|
||||||
|
if(xmlReader.isStartElement())
|
||||||
|
{
|
||||||
|
if(xmlReader.name() == "VersionData")
|
||||||
|
{
|
||||||
|
StreamingVersionData *data = new StreamingVersionData();
|
||||||
|
|
||||||
|
foreach(const QXmlStreamAttribute &attr,xmlReader.attributes())
|
||||||
|
{
|
||||||
|
QString name = attr.name().toString();
|
||||||
|
QString value = attr.value().toString();
|
||||||
|
|
||||||
|
if(name == "Version")
|
||||||
|
data->setViewName(value);
|
||||||
|
else if(name == "Created")
|
||||||
|
data->setCreateData(QDateTime::fromString(value));
|
||||||
|
else if(name == "isChangeable")
|
||||||
|
data->setIsChangeable(value.toInt());
|
||||||
|
else if(name == "author")
|
||||||
|
data->setAuthor(value);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
datas->append(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
xmlReader.readNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
void AssetsManager::setVersionList(QList<StreamingVersionData*> *streamingVersion)
|
void AssetsManager::setVersionList(QList<StreamingVersionData*> *streamingVersion)
|
||||||
{
|
{
|
||||||
datas->clear();
|
datas->clear();
|
||||||
@@ -41,7 +107,7 @@ QString AssetsManager::setVersion(QString versionName)
|
|||||||
if (version->getViewName() == versionName)
|
if (version->getViewName() == versionName)
|
||||||
{
|
{
|
||||||
currentVersionData = version;
|
currentVersionData = version;
|
||||||
emit sigSaveVersion(currentVersionData);
|
saveVersionToFile(currentVersionData);
|
||||||
|
|
||||||
return version->getAbsolutPath();
|
return version->getAbsolutPath();
|
||||||
}
|
}
|
||||||
@@ -101,11 +167,11 @@ void AssetsManager::addVersion(StreamingVersionData *data)
|
|||||||
datas->push_back(data);
|
datas->push_back(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AssetsManager::createCopyVersion(QString versionName,QString newVersionName)
|
void AssetsManager::createCopyVersion(QString versionName,QString newVersionName,QString author)
|
||||||
{
|
{
|
||||||
qDebug() << "assetManager thread ID " << QThread::currentThreadId();
|
qDebug() << "assetManager thread ID " << QThread::currentThreadId();
|
||||||
QListIterator<StreamingVersionData*> iterator(*datas);
|
QListIterator<StreamingVersionData*> iterator(*datas);
|
||||||
StreamingVersionData* data;
|
StreamingVersionData* data = new StreamingVersionData;
|
||||||
|
|
||||||
while (iterator.hasNext())
|
while (iterator.hasNext())
|
||||||
{
|
{
|
||||||
@@ -113,10 +179,15 @@ void AssetsManager::createCopyVersion(QString versionName,QString newVersionName
|
|||||||
|
|
||||||
if (version->getViewName() == versionName)
|
if (version->getViewName() == versionName)
|
||||||
{
|
{
|
||||||
data = version;
|
data->setAbsolutePath(version->getAbsolutPath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data->setAuthor(author);
|
||||||
|
data->setIsChangeable(true);
|
||||||
|
data->setViewName(newVersionName);
|
||||||
|
datas->append(data);
|
||||||
|
|
||||||
qDebug() << "Version for copy " << versionName;
|
qDebug() << "Version for copy " << versionName;
|
||||||
qDebug() << "New version name " << newVersionName;
|
qDebug() << "New version name " << newVersionName;
|
||||||
|
|
||||||
@@ -208,6 +279,113 @@ void AssetsManager::copyAllRecurse(QString source,QString destination)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AssetsManager::writeVersionsToFile(QList<StreamingVersionData*> version,bool isFirst)
|
||||||
|
{
|
||||||
|
QList<SXmlAnswerTag> listTag;
|
||||||
|
|
||||||
|
QFile file(versionListFile);
|
||||||
|
|
||||||
|
foreach(StreamingVersionData* ver,version)
|
||||||
|
{
|
||||||
|
SAttribute attribute1 = {"Version", ver->getViewName()};
|
||||||
|
SAttribute attribute2 = {"Created", ver->getCreateData().toString()};
|
||||||
|
SAttribute attribute3;
|
||||||
|
SAttribute attribute4;
|
||||||
|
|
||||||
|
if(isFirst)
|
||||||
|
{
|
||||||
|
attribute3 = {"isChangeable",QString::number(false)};
|
||||||
|
attribute4 = {"author",tr("Константа-дизайн")};
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
attribute3 ={"isChangeable",QString::number(ver->getIsChangeable())};
|
||||||
|
attribute4 = {"author",ver->getAuthor()};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QList<SAttribute> listAttr = {attribute1, attribute2,attribute3,attribute4};
|
||||||
|
SXmlAnswerTag tag = {"VersionData", listAttr};
|
||||||
|
|
||||||
|
listTag.append(tag);
|
||||||
|
datas->append(ver);
|
||||||
|
}
|
||||||
|
|
||||||
|
file.open(QIODevice::WriteOnly);
|
||||||
|
|
||||||
|
QXmlStreamWriter xmlWriter(&file);
|
||||||
|
xmlWriter.setAutoFormatting(true);
|
||||||
|
xmlWriter.writeStartDocument();
|
||||||
|
xmlWriter.writeStartElement("VersionList");
|
||||||
|
|
||||||
|
foreach(SXmlAnswerTag tag,listTag)
|
||||||
|
{
|
||||||
|
xmlWriter.writeStartElement(tag.elementName);
|
||||||
|
|
||||||
|
foreach(SAttribute attribute,tag.attr)
|
||||||
|
{
|
||||||
|
xmlWriter.writeAttribute(attribute.name,attribute.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
xmlWriter.writeEndElement();
|
||||||
|
}
|
||||||
|
|
||||||
|
xmlWriter.writeEndElement();
|
||||||
|
xmlWriter.writeEndDocument();
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AssetsManager::createFirstVersionListXML(QList<StreamingVersionData*> version) //TODO: переименовать и перебросить в AssetManager
|
||||||
|
{
|
||||||
|
QFile file(versionListFile);
|
||||||
|
|
||||||
|
if(!file.exists())
|
||||||
|
{
|
||||||
|
writeVersionsToFile(version,true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
if(datas->count() == 0) fillDatas();
|
||||||
|
|
||||||
|
foreach(StreamingVersionData* ver,version)
|
||||||
|
{
|
||||||
|
foreach(StreamingVersionData* data,*datas)
|
||||||
|
{
|
||||||
|
if(ver->getViewName() == data->getViewName())
|
||||||
|
{
|
||||||
|
data->setAbsolutePath(ver->getAbsolutPath());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
writeVersionsToFile(*datas,false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AssetsManager::saveVersionToFile(StreamingVersionData *streamingVersion) //TODO: переименовать и перебросить в AssetManager
|
||||||
|
{
|
||||||
|
QFile file(version);
|
||||||
|
file.open(QFile::WriteOnly);
|
||||||
|
|
||||||
|
QXmlStreamWriter xmlWriter(&file);
|
||||||
|
xmlWriter.setAutoFormatting(true);
|
||||||
|
xmlWriter.writeStartDocument();
|
||||||
|
|
||||||
|
xmlWriter.writeStartElement("VersionData");
|
||||||
|
xmlWriter.writeAttribute("Version",streamingVersion->getViewName());
|
||||||
|
xmlWriter.writeAttribute("Created",streamingVersion->getCreateData().toString());
|
||||||
|
xmlWriter.writeAttribute("isChangeable",QString::number(streamingVersion->getIsChangeable()));
|
||||||
|
xmlWriter.writeAttribute("author",streamingVersion->getAuthor());
|
||||||
|
|
||||||
|
xmlWriter.writeEndElement();
|
||||||
|
xmlWriter.writeEndDocument();
|
||||||
|
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
AssetsManager::~AssetsManager()
|
AssetsManager::~AssetsManager()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,11 @@ public:
|
|||||||
explicit AssetsManager(QObject *parent = nullptr);
|
explicit AssetsManager(QObject *parent = nullptr);
|
||||||
void initialize(UpdateController* updateContoller,DataParser *dataParser);
|
void initialize(UpdateController* updateContoller,DataParser *dataParser);
|
||||||
void addVersion(StreamingVersionData *data);
|
void addVersion(StreamingVersionData *data);
|
||||||
void createCopyVersion(QString versionName,QString newName);
|
void createCopyVersion(QString versionName,QString newName,QString author);
|
||||||
void deleteVersion(QString version);
|
void deleteVersion(QString version);
|
||||||
void setVersionList(QList<StreamingVersionData *> *streamingVersion);
|
void setVersionList(QList<StreamingVersionData *> *streamingVersion);
|
||||||
bool findDuplicate(QString name);
|
bool findDuplicate(QString name);
|
||||||
|
void createFirstVersionListXML(QList<StreamingVersionData*> assets);
|
||||||
QString setVersion(QString versionName);
|
QString setVersion(QString versionName);
|
||||||
|
|
||||||
QList<FileData> *prepareLocalPathList(QList<FileData>*fileData);
|
QList<FileData> *prepareLocalPathList(QList<FileData>*fileData);
|
||||||
@@ -27,6 +28,9 @@ public:
|
|||||||
|
|
||||||
StreamingVersionData *getCurrentVersionData() const;
|
StreamingVersionData *getCurrentVersionData() const;
|
||||||
|
|
||||||
|
void saveVersionToFile(StreamingVersionData *streamingVersion);
|
||||||
|
void writeVersionsToFile(QList<StreamingVersionData*> version,bool isFirst);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void sigSaveVersion(StreamingVersionData *versionData);
|
void sigSaveVersion(StreamingVersionData *versionData);
|
||||||
|
|
||||||
@@ -36,6 +40,7 @@ private:
|
|||||||
StreamingVersionData* currentVersionData;
|
StreamingVersionData* currentVersionData;
|
||||||
|
|
||||||
void copyAllRecurse(QString source, QString destination);
|
void copyAllRecurse(QString source, QString destination);
|
||||||
|
void fillDatas();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ASSETSMANAGER_H
|
#endif // ASSETSMANAGER_H
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ void RecognizeSystem::recognize()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
emit sigCopyVersion(result[0],result[1]);
|
emit sigCopyVersion(result[0],result[1],result[2]);
|
||||||
sendSystem->sendPacketType(PacketType::BUSY);
|
sendSystem->sendPacketType(PacketType::BUSY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ signals:
|
|||||||
void sigXmlParser(ClientHandler *clientHandler,QByteArray data);
|
void sigXmlParser(ClientHandler *clientHandler,QByteArray data);
|
||||||
void sigChangeVersion(QString versionName);
|
void sigChangeVersion(QString versionName);
|
||||||
void sigDeleteVersion(QString versionName);
|
void sigDeleteVersion(QString versionName);
|
||||||
void sigCopyVersion(QString versionName,QString newVersionName);
|
void sigCopyVersion(QString versionName,QString newVersionName,QString author);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UpdateController *updateController;
|
UpdateController *updateController;
|
||||||
|
|||||||
@@ -41,10 +41,10 @@ void UpdateController::changeAssetVersion(QString versionName)
|
|||||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::FREE);
|
commonClientHandler->slot_sendPacketToAllClients(PacketType::FREE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateController::createCopyVersion(QString versionName,QString newVersionName)
|
void UpdateController::createCopyVersion(QString versionName,QString newVersionName,QString author)
|
||||||
{
|
{
|
||||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::BUSY);
|
commonClientHandler->slot_sendPacketToAllClients(PacketType::BUSY);
|
||||||
assetManager->createCopyVersion(versionName,newVersionName);
|
assetManager->createCopyVersion(versionName,newVersionName,author);
|
||||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::FREE);
|
commonClientHandler->slot_sendPacketToAllClients(PacketType::FREE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -444,83 +444,22 @@ void UpdateController::calculateSharedHash()
|
|||||||
fileInfo.absoluteFilePath(),fileInfo.fileName(),
|
fileInfo.absoluteFilePath(),fileInfo.fileName(),
|
||||||
fileInfo.birthTime(),fileInfo.size());
|
fileInfo.birthTime(),fileInfo.size());
|
||||||
|
|
||||||
if(fileInfo.fileName() == baseNameVersion)
|
// if(fileInfo.fileName() == baseNameVersion)
|
||||||
{
|
// {
|
||||||
version->setIsChangeable(false);
|
// version->setIsChangeable(false);
|
||||||
}
|
// version->setAuthor(tr("Константа-дизайн"));
|
||||||
else
|
// }
|
||||||
{
|
// else
|
||||||
version->setIsChangeable(true);
|
// {
|
||||||
}
|
// version->setIsChangeable(true);
|
||||||
|
// }
|
||||||
|
|
||||||
versionList->append(version);
|
versionList->append(version);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
createVersionListXmlAnswer(*versionList);
|
assetManager->createFirstVersionListXML(*versionList);
|
||||||
assetManager->setVersionList(versionList);
|
//assetManager->setVersionList(versionList);
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateController::createVersionListXmlAnswer(QList<StreamingVersionData *> version) //TODO: переименовать и перебросить в AssetManager
|
|
||||||
{
|
|
||||||
QList<SXmlAnswerTag> listTag;
|
|
||||||
|
|
||||||
foreach(StreamingVersionData* ver,version)
|
|
||||||
{
|
|
||||||
SAttribute attribute1 = {"Version", ver->getViewName()};
|
|
||||||
SAttribute attribute2 = {"Created", ver->getCreateData().toString()};
|
|
||||||
SAttribute attribute3 = {"isChangeable",QString::number(ver->getIsChangeable())};
|
|
||||||
|
|
||||||
QList<SAttribute> listAttr = {attribute1, attribute2,attribute3};
|
|
||||||
SXmlAnswerTag tag = {"VersionData", listAttr};
|
|
||||||
|
|
||||||
listTag.append(tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QFile file(versionListFile);
|
|
||||||
file.open(QIODevice::WriteOnly);
|
|
||||||
|
|
||||||
QXmlStreamWriter xmlWriter(&file);
|
|
||||||
xmlWriter.setAutoFormatting(true);
|
|
||||||
xmlWriter.writeStartDocument();
|
|
||||||
xmlWriter.writeStartElement("VersionList");
|
|
||||||
|
|
||||||
foreach(SXmlAnswerTag tag,listTag)
|
|
||||||
{
|
|
||||||
xmlWriter.writeStartElement(tag.elementName);
|
|
||||||
|
|
||||||
foreach(SAttribute attribute,tag.attr)
|
|
||||||
{
|
|
||||||
xmlWriter.writeAttribute(attribute.name,attribute.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
xmlWriter.writeEndElement();
|
|
||||||
}
|
|
||||||
|
|
||||||
xmlWriter.writeEndElement();
|
|
||||||
xmlWriter.writeEndDocument();
|
|
||||||
file.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateController::saveVersionToFile(StreamingVersionData *streamingVersion) //TODO: переименовать и перебросить в AssetManager
|
|
||||||
{
|
|
||||||
QFile file(version);
|
|
||||||
file.open(QFile::WriteOnly);
|
|
||||||
|
|
||||||
QXmlStreamWriter xmlWriter(&file);
|
|
||||||
xmlWriter.setAutoFormatting(true);
|
|
||||||
xmlWriter.writeStartDocument();
|
|
||||||
|
|
||||||
xmlWriter.writeStartElement("VersionData");
|
|
||||||
xmlWriter.writeAttribute("Version",streamingVersion->getViewName());
|
|
||||||
xmlWriter.writeAttribute("Created",streamingVersion->getCreateData().toString());
|
|
||||||
xmlWriter.writeAttribute("isChangeable",QString::number(streamingVersion->getIsChangeable()));
|
|
||||||
|
|
||||||
xmlWriter.writeEndElement();
|
|
||||||
xmlWriter.writeEndDocument();
|
|
||||||
|
|
||||||
file.close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateController::sendNewVersionList()
|
void UpdateController::sendNewVersionList()
|
||||||
|
|||||||
@@ -51,8 +51,6 @@ public:
|
|||||||
|
|
||||||
DataInfo *getCurrentDataInfo();
|
DataInfo *getCurrentDataInfo();
|
||||||
void clearCurrentDataInfo();
|
void clearCurrentDataInfo();
|
||||||
void createVersionListXmlAnswer(QList<StreamingVersionData *> version);
|
|
||||||
void saveVersionToFile(StreamingVersionData *streamingVersion);
|
|
||||||
void xmlFileDataParse(QByteArray array);
|
void xmlFileDataParse(QByteArray array);
|
||||||
|
|
||||||
QByteArray getAdditionalFile(QString name);
|
QByteArray getAdditionalFile(QString name);
|
||||||
@@ -60,7 +58,7 @@ public:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void changeAssetVersion(QString versionName);
|
void changeAssetVersion(QString versionName);
|
||||||
void createCopyVersion(QString versionName,QString newVersionName);
|
void createCopyVersion(QString versionName,QString newVersionName,QString author);
|
||||||
void deleteAssetVersion(QString versionName);
|
void deleteAssetVersion(QString versionName);
|
||||||
void setUpCurrentServerHash();
|
void setUpCurrentServerHash();
|
||||||
|
|
||||||
|
|||||||
@@ -246,7 +246,6 @@ void ServerLMSWidget::on_btnStartServer_clicked()
|
|||||||
if(startServer())
|
if(startServer())
|
||||||
{
|
{
|
||||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||||
emit sigCalculateFullHash();
|
|
||||||
QApplication::restoreOverrideCursor();
|
QApplication::restoreOverrideCursor();
|
||||||
|
|
||||||
ui->btnStartServer->setEnabled(false);
|
ui->btnStartServer->setEnabled(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user