closeChildDlg

This commit is contained in:
2025-11-28 12:32:53 +03:00
parent 612fcc8aa7
commit 8ad6d06f18
7 changed files with 100 additions and 22 deletions

View File

@@ -22,6 +22,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
waitAnimationWidget(nullptr), waitAnimationWidget(nullptr),
dlgCheckerTask(nullptr), dlgCheckerTask(nullptr),
dlgListSubProc(nullptr), dlgListSubProc(nullptr),
specialMessageBox(nullptr),
flOnlyActive(false), flOnlyActive(false),
lastCurrentID(0) lastCurrentID(0)
{ {
@@ -145,16 +146,19 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event)
waitAnimationWidget->resize(size); waitAnimationWidget->resize(size);
} }
void AMMtasksWidget::closeDlgCheckTask() void AMMtasksWidget::closeEvent(QCloseEvent *event)
{
closeChildDlg();
}
void AMMtasksWidget::closeChildDlg()
{ {
if(dlgCheckerTask) if(dlgCheckerTask)
dlgCheckerTask->close(); dlgCheckerTask->close();
}
void AMMtasksWidget::closeDlgListSubProc()
{
if(dlgListSubProc) if(dlgListSubProc)
dlgListSubProc->close(); dlgListSubProc->close();
if(specialMessageBox)
specialMessageBox->close();
} }
void AMMtasksWidget::changeEvent(QEvent *event) void AMMtasksWidget::changeEvent(QEvent *event)
@@ -325,10 +329,16 @@ void AMMtasksWidget::slot_UpdateSubProcForDMCode(QString dmCode)
lastSelectedTask.listSubProc.clear(); lastSelectedTask.listSubProc.clear();
dlgListSubProc->getListCheckedSubProc(&lastSelectedTask.listSubProc); dlgListSubProc->getListCheckedSubProc(&lastSelectedTask.listSubProc);
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted) specialMessageBox = new SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?"));
if(specialMessageBox->exec() == QDialog::Accepted)
{ {
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &lastSelectedTask); connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &lastSelectedTask);
} }
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
break; break;
} }
case QDialog::Rejected: case QDialog::Rejected:
@@ -347,10 +357,16 @@ void AMMtasksWidget::slot_UpdateSubProcForDMCode(QString dmCode)
{ {
lastSelectedTask.listSubProc.clear(); lastSelectedTask.listSubProc.clear();
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted) specialMessageBox = new SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?"));
if(specialMessageBox->exec() == QDialog::Accepted)
{ {
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &lastSelectedTask); connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &lastSelectedTask);
} }
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
} }
} }
} }
@@ -504,11 +520,18 @@ void AMMtasksWidget::on_btnDelete_clicked()
int id = treeItemCurrent->text(ColumnsTreeAMM::clmnAMM_ID).toInt(); int id = treeItemCurrent->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("The deletion will be irrevocable.\nDelete it anyway?")).exec() == QDialog::Accepted) specialMessageBox = new SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("The deletion will be irrevocable.\nDelete it anyway?"));
if(specialMessageBox->exec() == QDialog::Accepted)
{ {
waitAnimationWidget->showWithPlay(); waitAnimationWidget->showWithPlay();
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_DEL_TASK_AMM_TO_TRAINEE, id); connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_DEL_TASK_AMM_TO_TRAINEE, id);
} }
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
} }
} }
} }

View File

@@ -10,6 +10,7 @@
#include "dialogchekertask.h" #include "dialogchekertask.h"
#include "dialoglistsubproc.h" #include "dialoglistsubproc.h"
#include "waitanimationwidget.h" #include "waitanimationwidget.h"
#include "specialmessagebox.h"
namespace Ui { namespace Ui {
class AMMtasksWidget; class AMMtasksWidget;
@@ -31,8 +32,10 @@ public:
public: public:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
void closeDlgCheckTask(); void closeEvent(QCloseEvent *event) override;
void closeDlgListSubProc();
void closeChildDlg();
protected: protected:
void changeEvent(QEvent * event) override; void changeEvent(QEvent * event) override;
@@ -100,6 +103,8 @@ private:
DialogListSubProc* dlgListSubProc; DialogListSubProc* dlgListSubProc;
SpecialMessageBox* specialMessageBox;
bool flOnlyActive; //AMM bool flOnlyActive; //AMM
int lastCurrentID; int lastCurrentID;

View File

@@ -8,6 +8,7 @@ CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, QString type, QWi
ui(new Ui::CheckerTask), ui(new Ui::CheckerTask),
connectorToServer(connectorToServer), connectorToServer(connectorToServer),
fimTasksWidget(nullptr), fimTasksWidget(nullptr),
specialMessageBox(nullptr),
flChanged(false), flChanged(false),
id_task(0), id_task(0),
type("fim") type("fim")
@@ -48,12 +49,19 @@ CheckerTask::~CheckerTask()
delete fimTasksWidget; delete fimTasksWidget;
fimTasksWidget = nullptr; fimTasksWidget = nullptr;
} }
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
delete ui; delete ui;
} }
void CheckerTask::closeEvent(QCloseEvent *event) void CheckerTask::closeEvent(QCloseEvent *event)
{ {
if(specialMessageBox)
specialMessageBox->close();
} }
void CheckerTask::setTask(TaskAmmFim* task) void CheckerTask::setTask(TaskAmmFim* task)
@@ -175,12 +183,18 @@ void CheckerTask::on_btnWrong_clicked()
msgString = tr("Change task status?\nThe status will be set:\n'new'"); msgString = tr("Change task status?\nThe status will be set:\n'new'");
} }
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, msgString).exec() == QDialog::Accepted) specialMessageBox = new SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, msgString);
if(specialMessageBox->exec() == QDialog::Accepted)
{ {
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status); connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
this->parentWidget()->close(); this->parentWidget()->close();
flChanged = true; flChanged = true;
} }
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
} }
void CheckerTask::on_btnRight_clicked() void CheckerTask::on_btnRight_clicked()
@@ -202,10 +216,16 @@ void CheckerTask::on_btnRight_clicked()
msgString = tr("Change task status?\nThe status will be set:\n'completed'"); msgString = tr("Change task status?\nThe status will be set:\n'completed'");
} }
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, msgString).exec() == QDialog::Accepted) specialMessageBox = new SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, msgString);
if(specialMessageBox->exec() == QDialog::Accepted)
{ {
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status); connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
this->parentWidget()->close(); this->parentWidget()->close();
flChanged = true; flChanged = true;
} }
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
} }

View File

@@ -6,6 +6,7 @@
//#include "fimtaskswidget.h" //#include "fimtaskswidget.h"
#include "module.h" #include "module.h"
#include "connectortoserver.h" #include "connectortoserver.h"
#include "specialmessagebox.h"
namespace Ui { namespace Ui {
class CheckerTask; class CheckerTask;
@@ -47,6 +48,8 @@ private:
ConnectorToServer* connectorToServer; ConnectorToServer* connectorToServer;
FIMtasksWidget* fimTasksWidget; FIMtasksWidget* fimTasksWidget;
SpecialMessageBox* specialMessageBox;
bool flChanged; bool flChanged;
int id_task; int id_task;
QString type; QString type;

View File

@@ -22,6 +22,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
taskTreePreparation(nullptr), taskTreePreparation(nullptr),
waitAnimationWidget(nullptr), waitAnimationWidget(nullptr),
dlgCheckerTask(nullptr), dlgCheckerTask(nullptr),
specialMessageBox(nullptr),
userName(""), userName(""),
lastCurrentID(0) lastCurrentID(0)
{ {
@@ -101,9 +102,9 @@ FIMtasksWidget::~FIMtasksWidget()
delete treeWidget; delete treeWidget;
if(dlgCheckerTask) if(dlgCheckerTask)
{
dlgCheckerTask->close(); dlgCheckerTask->close();
} if(specialMessageBox)
specialMessageBox->close();
delete ui; delete ui;
} }
@@ -130,10 +131,17 @@ void FIMtasksWidget::resizeEvent(QResizeEvent *event)
waitAnimationWidget->resize(size); waitAnimationWidget->resize(size);
} }
void FIMtasksWidget::closeDlgCheckTask() void FIMtasksWidget::closeEvent(QCloseEvent *event)
{
closeChildDlg();
}
void FIMtasksWidget::closeChildDlg()
{ {
if(dlgCheckerTask) if(dlgCheckerTask)
dlgCheckerTask->close(); dlgCheckerTask->close();
if(specialMessageBox)
specialMessageBox->close();
} }
void FIMtasksWidget::changeEvent(QEvent *event) void FIMtasksWidget::changeEvent(QEvent *event)
@@ -393,11 +401,17 @@ void FIMtasksWidget::on_btnDelete_clicked()
int id = treeItemCurrent->text(ColumnsTreeFIM::clmnFIM_ID).toInt(); int id = treeItemCurrent->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("The deletion will be irrevocable.\nDelete it anyway?")).exec() == QDialog::Accepted) specialMessageBox = new SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("The deletion will be irrevocable.\nDelete it anyway?"));
if(specialMessageBox->exec() == QDialog::Accepted)
{ {
waitAnimationWidget->showWithPlay(); waitAnimationWidget->showWithPlay();
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_DEL_TASK_FIM_TO_TRAINEE, id); connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_DEL_TASK_FIM_TO_TRAINEE, id);
} }
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
} }
} }
} }
@@ -437,8 +451,14 @@ void FIMtasksWidget::on_btnCheck_clicked()
void FIMtasksWidget::on_btnAssignTask_clicked() void FIMtasksWidget::on_btnAssignTask_clicked()
{ {
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted) specialMessageBox = new SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?"));
if(specialMessageBox->exec() == QDialog::Accepted)
assignTaskFIMtoTrainee(); assignTaskFIMtoTrainee();
if(specialMessageBox)
{
delete specialMessageBox;
specialMessageBox = nullptr;
}
} }
void FIMtasksWidget::updateTaskItem(QTreeWidgetItem *itemTask) void FIMtasksWidget::updateTaskItem(QTreeWidgetItem *itemTask)

View File

@@ -8,6 +8,7 @@
#include "tasktreepreparation.h" #include "tasktreepreparation.h"
#include "dialogchekertask.h" #include "dialogchekertask.h"
#include "waitanimationwidget.h" #include "waitanimationwidget.h"
#include "specialmessagebox.h"
namespace Ui { namespace Ui {
class FIMtasksWidget; class FIMtasksWidget;
@@ -31,7 +32,10 @@ public:
public: public:
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
void closeDlgCheckTask(); void closeEvent(QCloseEvent *event) override;
void closeChildDlg();
protected: protected:
void changeEvent(QEvent * event) override; void changeEvent(QEvent * event) override;
@@ -88,6 +92,8 @@ private:
DialogChekerTask* dlgCheckerTask; DialogChekerTask* dlgCheckerTask;
SpecialMessageBox* specialMessageBox;
QString userName; //FIM QString userName; //FIM
int lastCurrentID; int lastCurrentID;

View File

@@ -78,10 +78,11 @@ PersonalCardTrainee::~PersonalCardTrainee()
void PersonalCardTrainee::closeEvent(QCloseEvent *event) void PersonalCardTrainee::closeEvent(QCloseEvent *event)
{ {
fimTasksWidget_personal->closeDlgCheckTask(); fimTasksWidget_personal->closeChildDlg();
ammTasksWidget_personal->closeDlgCheckTask(); fimTasksWidget_common->closeChildDlg();
ammTasksWidget_common->closeDlgListSubProc(); ammTasksWidget_personal->closeChildDlg();
ammTasksWidget_common->closeChildDlg();
} }
void PersonalCardTrainee::loadInfo() void PersonalCardTrainee::loadInfo()