From e45b5b67505a431b6c653b3105b22540d9658637 Mon Sep 17 00:00:00 2001 From: krivoshein Date: Wed, 29 Jan 2025 12:11:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=BE=D0=B6=D0=B8=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20FIM=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tasks/ammtaskswidget.cpp | 22 ++++--- .../tasks/fimtaskswidget.cpp | 57 +++++++++++++++---- InstructorsAndTrainees/tasks/fimtaskswidget.h | 6 +- .../tasks/tasktreepreparation.h | 3 +- 4 files changed, 69 insertions(+), 19 deletions(-) diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index 06e9ed5..adef13b 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -36,10 +36,10 @@ AMMtasksWidget::AMMtasksWidget(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); threadPreparation = new QThread(); taskTreePreparation = new TaskTreePreparation(); @@ -88,7 +88,14 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event) treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50); treeWidget->setColumnWidth(ColumnsTree::clmn_code, 250); - treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, width - 310); + + int widthPMorDM; + if(type == TypeList::listCommon) + widthPMorDM = width - (250 + 10); + else + widthPMorDM = width - (300 + 10); + + treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, widthPMorDM); } void AMMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous) @@ -141,8 +148,8 @@ void AMMtasksWidget::slot_traineeSelected(QString login) if(type == TypeList::listForTrainee) { - connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_AMM_FOR_TRAINEE, idTraineeSelected); waitAnimationWidget->showWithPlay(); + connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_AMM_FOR_TRAINEE, idTraineeSelected); } } @@ -198,11 +205,12 @@ Module *AMMtasksWidget::searchModuleByID(int id) void AMMtasksWidget::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 AMMtasksWidget::reSetHeadTreeWidget() diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp index acbb781..d781f76 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #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 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 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) diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.h b/InstructorsAndTrainees/tasks/fimtaskswidget.h index bcc426d..d396b5b 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.h +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.h @@ -24,7 +24,8 @@ public: private: enum ColumnsTree{ clmn_Title = 0, - clmn_ID + clmn_ID, + clmn_count }; public: @@ -82,6 +83,9 @@ private: QList listTaskAmmFim; QString loginTraineeSelected; int idTraineeSelected; + + QThread* threadAnimation; + WaitAnimationWidget *waitAnimationWidget; }; #endif // FIMTASKSWIDGET_H diff --git a/InstructorsAndTrainees/tasks/tasktreepreparation.h b/InstructorsAndTrainees/tasks/tasktreepreparation.h index e61ab98..047da7a 100644 --- a/InstructorsAndTrainees/tasks/tasktreepreparation.h +++ b/InstructorsAndTrainees/tasks/tasktreepreparation.h @@ -10,7 +10,8 @@ enum ColumnsTree{ clmn_PMorDM = 0, clmn_code, - clmn_ID + clmn_ID, + clmn_count }; class TaskTreePreparation : public QObject