mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Предварительно пофиксил замирание крутилки FIM
This commit is contained in:
@@ -16,7 +16,6 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
loginTraineeSelected(""),
|
||||
idTraineeSelected(0),
|
||||
threadPreparation(nullptr),
|
||||
threadAnimation(nullptr),
|
||||
taskTreePreparation(nullptr),
|
||||
waitAnimationWidget(nullptr),
|
||||
flOnlyActive(false)
|
||||
@@ -37,17 +36,14 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
taskTreePreparation->moveToThread(threadPreparation);
|
||||
threadPreparation->start();
|
||||
threadPreparation->setPriority(QThread::HighestPriority);
|
||||
connect(this, &AMMtasksWidget::signal_prepareListItems, taskTreePreparation, &TaskTreePreparation::slot_prepareListItems);
|
||||
connect(this, &AMMtasksWidget::signal_prepareListItemsForTrainee, taskTreePreparation, &TaskTreePreparation::slot_prepareListItemsForTrainee);
|
||||
connect(taskTreePreparation, &TaskTreePreparation::signal_listItemsReady, this, &AMMtasksWidget::slot_listItemsReady);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItems, taskTreePreparation, &TaskTreePreparation::slot_prepareAMMListItems);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItemsForTrainee, taskTreePreparation, &TaskTreePreparation::slot_prepareAMMListItemsForTrainee);
|
||||
connect(taskTreePreparation, &TaskTreePreparation::signal_listAMMItemsReady, this, &AMMtasksWidget::slot_AMMlistItemsReady);
|
||||
|
||||
//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();
|
||||
|
||||
ui->btnDelete->setObjectName("btnDelete");
|
||||
ui->btnDelete->setEnabled(false);
|
||||
@@ -84,18 +80,15 @@ AMMtasksWidget::~AMMtasksWidget()
|
||||
waitAnimationWidget->hideWithStop();
|
||||
taskTreePreparation->stopParser();
|
||||
|
||||
//threadAnimation->quit();
|
||||
//threadAnimation->wait();
|
||||
|
||||
threadPreparation->quit();
|
||||
threadPreparation->wait();
|
||||
|
||||
//delete threadAnimation;
|
||||
delete threadPreparation;
|
||||
|
||||
delete taskTreePreparation;
|
||||
delete waitAnimationWidget;
|
||||
delete treeWidget;
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
@@ -103,7 +96,6 @@ void AMMtasksWidget::deactivate()
|
||||
{
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
ui->btnOnlyActive->setEnabled(false);
|
||||
//taskTreePreparation->stopParser();
|
||||
treeWidget->clear();
|
||||
loginTraineeSelected = "";
|
||||
idTraineeSelected = 0;
|
||||
@@ -116,9 +108,9 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event)
|
||||
|
||||
int width = treeWidget->width();
|
||||
|
||||
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50);
|
||||
treeWidget->setColumnWidth(ColumnsTree::clmn_code, 250);
|
||||
treeWidget->setColumnWidth(ColumnsTree::clmn_status, 110);
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_ID, 50);
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_code, 250);
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_status, 110);
|
||||
|
||||
int widthPMorDM;
|
||||
if(type == TypeList::listCommon)
|
||||
@@ -126,7 +118,7 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event)
|
||||
else
|
||||
widthPMorDM = width - (410 + 10);
|
||||
|
||||
treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, widthPMorDM);
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_PMorDM, widthPMorDM);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::changeEvent(QEvent *event)
|
||||
@@ -160,7 +152,7 @@ void AMMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
ui->btnDelete->setEnabled(true);
|
||||
}
|
||||
|
||||
int id = current->text(ColumnsTree::clmn_ID).toInt();
|
||||
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
Module* module = searchModuleByID(id);
|
||||
|
||||
@@ -213,13 +205,13 @@ void AMMtasksWidget::slot_traineeSelected(QString login)
|
||||
|
||||
void AMMtasksWidget::slot_UpdateTasksAMMforTrainee(int trainee_id)
|
||||
{
|
||||
qDebug() << "slot_UpdateTasksAMMforTrainee" << QThread::currentThreadId();
|
||||
if(type == TypeList::listForTrainee)
|
||||
{
|
||||
if(idTraineeSelected == trainee_id)
|
||||
{
|
||||
//waitAnimationWidget->showWithPlay();
|
||||
QList<TaskAmmFim> listTask = connectorToServer->getListTasksAMMforTrainee(trainee_id);
|
||||
signal_prepareListItemsForTrainee(listTask, &listAllModules);
|
||||
signal_prepareAMMListItemsForTrainee(listTask, &listAllModules);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -234,10 +226,10 @@ void AMMtasksWidget::loadTasksAMM(bool flRequestFromDB)
|
||||
if(flRequestFromDB)
|
||||
/*QByteArray array*/arrayAMM = connectorToServer->getListTaskAmmArray();
|
||||
|
||||
emit signal_prepareListItems(/*array*/arrayAMM, &listAllModules, flOnlyActive);
|
||||
emit signal_prepareAMMListItems(/*array*/arrayAMM, &listAllModules, flOnlyActive);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::slot_listItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||
void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||
{
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
@@ -270,14 +262,14 @@ Module *AMMtasksWidget::searchModuleByID(int id)
|
||||
|
||||
void AMMtasksWidget::preparationTreeWidget()
|
||||
{
|
||||
treeWidget->setColumnCount(clmn_count);
|
||||
treeWidget->setColumnCount(clmnAMM_count);
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
if(type == TypeList::listCommon)
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTree::clmn_status, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -306,7 +298,7 @@ void AMMtasksWidget::assignTaskAMMtoTrainee()
|
||||
if(current == nullptr)
|
||||
return;
|
||||
|
||||
int id = current->text(ColumnsTree::clmn_ID).toInt();
|
||||
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
Module* module = searchModuleByID(id);
|
||||
|
||||
@@ -341,7 +333,7 @@ void AMMtasksWidget::on_btnDelete_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбрана задача
|
||||
|
||||
int id = treeItemCurrent->text(ColumnsTree::clmn_ID).toInt();
|
||||
int id = treeItemCurrent->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete it anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
|
||||
{
|
||||
@@ -351,22 +343,6 @@ void AMMtasksWidget::on_btnDelete_clicked()
|
||||
}
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnOnlyActive_clicked()
|
||||
{
|
||||
if(ui->btnOnlyActive->isChecked())
|
||||
{
|
||||
flOnlyActive = true;
|
||||
//slot_listItemsReady(listItemsALL, listItemsACTIVE);
|
||||
}
|
||||
else
|
||||
{
|
||||
flOnlyActive = false;
|
||||
//slot_listItemsReady(listItemsALL, listItemsACTIVE);
|
||||
}
|
||||
//connectorToServer->sendQueryTasksXML("amm");
|
||||
loadTasksAMM(false);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnCheck_clicked()
|
||||
{
|
||||
|
||||
@@ -377,3 +353,16 @@ void AMMtasksWidget::on_btnAssignTask_clicked()
|
||||
if(QMessageBox::question(this, tr("New task"), tr("Assign this task?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
|
||||
assignTaskAMMtoTrainee();
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnOnlyActive_clicked()
|
||||
{
|
||||
if(ui->btnOnlyActive->isChecked())
|
||||
{
|
||||
flOnlyActive = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
flOnlyActive = false;
|
||||
}
|
||||
loadTasksAMM(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user