Анимировал ожидание загрузки назначенных FIM задач

This commit is contained in:
krivoshein
2025-01-29 12:11:26 +03:00
parent e318c86167
commit e45b5b6750
4 changed files with 69 additions and 19 deletions

View File

@@ -3,6 +3,7 @@
#include <QMessageBox>
#include <QTreeWidget>
#include <QThread>
#include <QResizeEvent>
#include "fimtaskswidget.h"
#include "ui_fimtaskswidget.h"
#include "tasksAmmFim.h"
@@ -15,7 +16,9 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
type(type),
userName(""),
loginTraineeSelected(""),
idTraineeSelected(0)
idTraineeSelected(0),
threadAnimation(nullptr),
waitAnimationWidget(nullptr)
{
ui->setupUi(this);
@@ -33,25 +36,53 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
if(type == TypeList::listForTrainee)
{
ui->btnAssignTaskToTrainee->setVisible(false);
ui->label->setVisible(false);
ui->editCode->setVisible(false);
ui->btnAssignTaskToTrainee->setVisible(false);
}
ui->label->setVisible(false);
ui->editCode->setVisible(false);
threadAnimation = new QThread();
waitAnimationWidget = new WaitAnimationWidget;
QMovie *movie = new QMovie(":/resources/icons/762.gif");
waitAnimationWidget->setParent(this);
waitAnimationWidget->initialize(movie,this);
waitAnimationWidget->moveToThread(threadAnimation);
threadAnimation->start();
}
FIMtasksWidget::~FIMtasksWidget()
{
deleteAllTaskAmmFim();
waitAnimationWidget->hideWithStop();
threadAnimation->quit();
threadAnimation->wait();
delete threadAnimation;
delete waitAnimationWidget;
delete treeWidget;
delete ui;
}
void FIMtasksWidget::resizeEvent(QResizeEvent *event)
{
QSize size = event->size();
waitAnimationWidget->resize(size);
int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTree::clmn_Title, width - 60);
int widthTitle;
if(type == TypeList::listCommon)
widthTitle = width - (0 + 10);
else
widthTitle = width - (50 + 10);
treeWidget->setColumnWidth(ColumnsTree::clmn_Title, widthTitle);
}
void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
@@ -222,11 +253,12 @@ void FIMtasksWidget::prepareListTasksForTrainee(QList<TaskAmmFim> listTask)
void FIMtasksWidget::preparationTreeWidget()
{
treeWidget->setColumnCount(2);
treeWidget->setColumnCount(clmn_count);
reSetHeadTreeWidget();
//treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
if(type == TypeList::listCommon)
treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
}
void FIMtasksWidget::reSetHeadTreeWidget()
@@ -255,8 +287,8 @@ void FIMtasksWidget::slot_traineeSelected(QString login)
if(type == TypeList::listForTrainee)
{
int trainee_id = connectorToServer->getIdTraineeByLogin(loginTraineeSelected);
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_FIM_FOR_TRAINEE, trainee_id);
waitAnimationWidget->showWithPlay();
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_FIM_FOR_TRAINEE, idTraineeSelected);
}
}
@@ -269,6 +301,7 @@ void FIMtasksWidget::slot_UpdateTasksFIMforTrainee(int trainee_id)
QList<TaskAmmFim> listTask = connectorToServer->getListTasksFIMforTrainee(trainee_id);
prepareListTasksForTrainee(listTask);
fillTree();
waitAnimationWidget->hideWithStop();
}
}
}
@@ -278,11 +311,15 @@ void FIMtasksWidget::loadTasksFIM()
//Обновление дерева
treeWidget->clear();
waitAnimationWidget->showWithPlay();
QByteArray array = connectorToServer->getListTaskFimArray();
loadFIMtasksFromXML(array);
//собственно обновление дерева
fillTree();
waitAnimationWidget->hideWithStop();
}
TaskAmmFim* FIMtasksWidget::getTaskByID(int id)