From 6aab774795d503e66a29e934c3cdb1dfaae39d47 Mon Sep 17 00:00:00 2001 From: krivoshein Date: Wed, 17 Sep 2025 22:23:38 +0300 Subject: [PATCH] refact2 --- .../instructors/instructorsview.cpp | 14 ++++- .../instructors/viewerinstructors.cpp | 9 ++- .../tasks/ammtaskswidget.cpp | 16 ++++- .../tasks/dialogchecktask.cpp | 3 + .../tasks/fimtaskswidget.cpp | 59 +++++++++++++++---- InstructorsAndTrainees/tasks/fimtaskswidget.h | 3 + .../trainees/personalcardtrainee.cpp | 18 +++++- .../trainees/personalcardtrainee.h | 2 + .../trainees/traineesview.cpp | 12 +++- .../trainees/viewertrainees.cpp | 29 +++++++-- 10 files changed, 140 insertions(+), 25 deletions(-) diff --git a/InstructorsAndTrainees/instructors/instructorsview.cpp b/InstructorsAndTrainees/instructors/instructorsview.cpp index 1527d4d..add4c18 100644 --- a/InstructorsAndTrainees/instructors/instructorsview.cpp +++ b/InstructorsAndTrainees/instructors/instructorsview.cpp @@ -29,7 +29,13 @@ void InstructorsView::resizeEvent(QResizeEvent *event) else {//control if(adminMode) - widthInstructor = width - (610 + 10); + { +#ifdef PROJECT_TYPE_DEBUG + widthInstructor = width - (610 + 10); +#else + widthInstructor = width - (560 + 10); +#endif + } else widthInstructor = width - (480 + 10); } @@ -75,8 +81,12 @@ void InstructorsView::preparationTreeWidget() archiveVisible = true; if(adminMode) - { + { +#ifdef PROJECT_TYPE_DEBUG treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, false); +#else + treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, true); +#endif } else { diff --git a/InstructorsAndTrainees/instructors/viewerinstructors.cpp b/InstructorsAndTrainees/instructors/viewerinstructors.cpp index cb33eb7..507c0c5 100644 --- a/InstructorsAndTrainees/instructors/viewerinstructors.cpp +++ b/InstructorsAndTrainees/instructors/viewerinstructors.cpp @@ -64,12 +64,17 @@ void ViewerInstructors::on_btnEditorInstructors_clicked() connect(connectorToServer, &ConnectorToServer::signal_UpdateDB, editorInstructors, &EditorInstructors::slot_NeedUpdateUI); editorInstructors->activate(); - dlgEditor = new QDialog(this); + dlgEditor = new QDialog(this, + Qt::WindowSystemMenuHint + | Qt::WindowMaximizeButtonHint + | Qt::WindowMinimizeButtonHint + | Qt::WindowCloseButtonHint); QHBoxLayout *layout = new QHBoxLayout(dlgEditor); layout->addWidget(editorInstructors); dlgEditor->setWindowTitle(tr("Editor of instructors")); dlgEditor->setMinimumSize(1400, 700); - dlgEditor->setWindowFlags(dlgEditor->windowFlags() & ~Qt::WindowContextHelpButtonHint); + dlgEditor->setWindowState(Qt::WindowMaximized); + dlgEditor->setModal(true); dlgEditor->exec(); delete dlgEditor; diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index 6a0b996..28969ff 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -124,7 +124,13 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event) if(type == TypeListTreeAMMFIM::listCommon) widthPMorDM = width - (270 + 10); else - widthPMorDM = width - (430 + 10); + { +#ifdef PROJECT_TYPE_DEBUG + widthPMorDM = width - (430 + 10); +#else + widthPMorDM = width - (380 + 10); +#endif + } treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_PMorDM, widthPMorDM); } @@ -247,6 +253,14 @@ void AMMtasksWidget::preparationTreeWidget() treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true); treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true); } + else + { +#ifdef PROJECT_TYPE_DEBUG + treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, false); +#else + treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true); +#endif + } } void AMMtasksWidget::reSetHeadTreeWidget() diff --git a/InstructorsAndTrainees/tasks/dialogchecktask.cpp b/InstructorsAndTrainees/tasks/dialogchecktask.cpp index f767ea6..d85da8f 100644 --- a/InstructorsAndTrainees/tasks/dialogchecktask.cpp +++ b/InstructorsAndTrainees/tasks/dialogchecktask.cpp @@ -41,7 +41,10 @@ DialogCheckTask::DialogCheckTask(ConnectorToServer* connectorToServer, QString t DialogCheckTask::~DialogCheckTask() { if(fimTasksWidget) + { delete fimTasksWidget; + fimTasksWidget = nullptr; + } delete ui; } diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp index e24e209..39cc240 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -20,6 +20,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre threadPreparation(nullptr), taskTreePreparation(nullptr), waitAnimationWidget(nullptr), + dlgCheckTask(nullptr), userName("") { ui->setupUi(this); @@ -96,6 +97,11 @@ FIMtasksWidget::~FIMtasksWidget() delete waitAnimationWidget; delete treeWidget; + if(dlgCheckTask) + { + dlgCheckTask->close(); + } + delete ui; } @@ -127,11 +133,23 @@ void FIMtasksWidget::resizeEvent(QResizeEvent *event) if(type == TypeListTreeAMMFIM::listCommon) widthTitle = width - (20 + 10); else + { +#ifdef PROJECT_TYPE_DEBUG widthTitle = width - (180 + 10); +#else + widthTitle = width - (130 + 10); +#endif + } treeWidget->setColumnWidth(ColumnsTreeFIM::clmnFIM_Title, widthTitle); } +void FIMtasksWidget::closeDlgCheckTask() +{ + if(dlgCheckTask) + dlgCheckTask->close(); +} + void FIMtasksWidget::changeEvent(QEvent *event) { // В случае получения события изменения языка приложения @@ -278,6 +296,14 @@ void FIMtasksWidget::preparationTreeWidget() treeWidget->setColumnHidden(ColumnsTreeFIM::clmnFIM_ID, true); treeWidget->setColumnHidden(ColumnsTreeFIM::clmnFIM_status, true); } + else + { +#ifdef PROJECT_TYPE_DEBUG + treeWidget->setColumnHidden(ColumnsTreeFIM::clmnFIM_ID, false); +#else + treeWidget->setColumnHidden(ColumnsTreeFIM::clmnFIM_ID, true); +#endif + } } void FIMtasksWidget::reSetHeadTreeWidget() @@ -365,21 +391,32 @@ void FIMtasksWidget::on_btnCheck_clicked() if(!task.getID()) return; - DialogCheckTask dlg(connectorToServer, "fim", this); + DialogCheckTask* checkTask = new DialogCheckTask(connectorToServer, "fim", this); - dlg.setTask(&task); + checkTask->setTask(&task); - QDialog* dialog = new QDialog(this); - QHBoxLayout *layout = new QHBoxLayout(dialog); - layout->addWidget(&dlg); - dialog->setWindowTitle(tr("Check Task")); - dialog->setMinimumSize(1600, 800); - dialog->setWindowFlags(dialog->windowFlags() & ~Qt::WindowContextHelpButtonHint); - //dialog->setStyleSheet(this->styleSheet()); - dialog->exec(); + dlgCheckTask = new QDialog(this, + Qt::WindowSystemMenuHint + | Qt::WindowMaximizeButtonHint + | Qt::WindowMinimizeButtonHint + | Qt::WindowCloseButtonHint); + QHBoxLayout *layout = new QHBoxLayout(dlgCheckTask); + layout->addWidget(checkTask); + dlgCheckTask->setWindowTitle(tr("Check Task")); + dlgCheckTask->setMinimumSize(1400, 700); + dlgCheckTask->setWindowState(Qt::WindowMaximized); + dlgCheckTask->setModal(true); + dlgCheckTask->showMaximized(); + dlgCheckTask->exec(); - if(dlg.getFlChanged()) + if(checkTask->getFlChanged()) waitAnimationWidget->showWithPlay(); + + if(dlgCheckTask) + { + delete dlgCheckTask; + dlgCheckTask = nullptr; + } } } } diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.h b/InstructorsAndTrainees/tasks/fimtaskswidget.h index e9b6b12..60d222c 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.h +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.h @@ -29,6 +29,7 @@ public: public: void resizeEvent(QResizeEvent *event) override; + void closeDlgCheckTask(); protected: void changeEvent(QEvent * event) override; @@ -78,6 +79,8 @@ private: TaskAMMFIMTreePreparation* taskTreePreparation; WaitAnimationWidget *waitAnimationWidget; + QDialog* dlgCheckTask; + QString userName; //FIM }; diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp index b5f7f57..84a9f36 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp @@ -52,8 +52,17 @@ PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, M PersonalCardTrainee::~PersonalCardTrainee() { - delete ammTasksWidget_personal; - delete fimTasksWidget_personal; + if(ammTasksWidget_personal) + { + delete ammTasksWidget_personal; + ammTasksWidget_personal = nullptr; + } + + if(fimTasksWidget_personal) + { + delete fimTasksWidget_personal; + fimTasksWidget_personal = nullptr; + } messangerController->deleteWidget(messangerWidget); @@ -63,6 +72,11 @@ PersonalCardTrainee::~PersonalCardTrainee() delete ui; } +void PersonalCardTrainee::closeEvent(QCloseEvent *event) +{ + fimTasksWidget_personal->closeDlgCheckTask(); +} + void PersonalCardTrainee::loadInfo() { Trainee trainee = connectorToServer->getTrainee(id_trainee); diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.h b/InstructorsAndTrainees/trainees/personalcardtrainee.h index dbfcfa2..4307140 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.h +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.h @@ -20,6 +20,8 @@ public: explicit PersonalCardTrainee(ConnectorToServer* connectorToServer, MessangerController* messangerController, int id_trainee, AMMtasksWidget* ammTasksWidget_common, FIMtasksWidget* fimTasksWidget_common, QWidget *parent = nullptr); ~PersonalCardTrainee(); + void closeEvent(QCloseEvent *event) override; + private: void loadInfo(); diff --git a/InstructorsAndTrainees/trainees/traineesview.cpp b/InstructorsAndTrainees/trainees/traineesview.cpp index 19e45c0..4f8e431 100644 --- a/InstructorsAndTrainees/trainees/traineesview.cpp +++ b/InstructorsAndTrainees/trainees/traineesview.cpp @@ -30,7 +30,13 @@ void TraineesView::resizeEvent(QResizeEvent *event) else {//control if(adminMode) - widthTrainee = width - (470 + 10); + { +#ifdef PROJECT_TYPE_DEBUG + widthTrainee = width - (470 + 10); +#else + widthTrainee = width - (420 + 10); +#endif + } else widthTrainee = width - (440 + 10); } @@ -80,7 +86,11 @@ void TraineesView::preparationTreeWidget() if(adminMode) { +#ifdef PROJECT_TYPE_DEBUG treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, false); +#else + treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true); +#endif } else { diff --git a/InstructorsAndTrainees/trainees/viewertrainees.cpp b/InstructorsAndTrainees/trainees/viewertrainees.cpp index 732fef2..b0be36e 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.cpp +++ b/InstructorsAndTrainees/trainees/viewertrainees.cpp @@ -35,8 +35,17 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, MessangerCo ViewerTrainees::~ViewerTrainees() { - delete ammTasksWidgetCommon; - delete fimTasksWidgetCommon; + if(ammTasksWidgetCommon) + { + delete ammTasksWidgetCommon; + ammTasksWidgetCommon = nullptr; + } + + if(fimTasksWidgetCommon) + { + delete fimTasksWidgetCommon; + fimTasksWidgetCommon = nullptr; + } if(dlgEditor) dlgEditor->close(); @@ -59,7 +68,9 @@ void ViewerTrainees::deactivate() dlgEditor->close(); if(dlgCardTrainee) + { dlgCardTrainee->close(); + } CommonView::deactivate(); @@ -88,12 +99,17 @@ void ViewerTrainees::on_btnEditorTrainees_clicked() connect(connectorToServer, &ConnectorToServer::signal_UpdateDB, editorTraineesGroups, &EditorTrainees::slot_NeedUpdateUI); editorTraineesGroups->activate(); - dlgEditor = new QDialog(this); + dlgEditor = new QDialog(this, + Qt::WindowSystemMenuHint + | Qt::WindowMaximizeButtonHint + | Qt::WindowMinimizeButtonHint + | Qt::WindowCloseButtonHint); QHBoxLayout *layout = new QHBoxLayout(dlgEditor); layout->addWidget(editorTraineesGroups); dlgEditor->setWindowTitle(tr("Editor of trainees")); dlgEditor->setMinimumSize(1400, 700); - dlgEditor->setWindowFlags(dlgEditor->windowFlags() & ~Qt::WindowContextHelpButtonHint); + dlgEditor->setWindowState(Qt::WindowMaximized); + dlgEditor->setModal(true); dlgEditor->exec(); delete dlgEditor; @@ -129,8 +145,9 @@ void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column) QHBoxLayout *layout = new QHBoxLayout(dlgCardTrainee); layout->addWidget(cardTrainee); dlgCardTrainee->setWindowTitle(tr("Personal card trainee")); - //dlgCardTrainee->setMinimumSize(1900, 1000); - dlgCardTrainee->showMaximized(); + dlgCardTrainee->setMinimumSize(1400, 700); + dlgCardTrainee->setWindowState(Qt::WindowMaximized); + dlgCardTrainee->setModal(true); dlgCardTrainee->exec(); ammTasksWidgetCommon->setParent(this);