diff --git a/InstructorsAndTrainees/CMakeLists.txt b/InstructorsAndTrainees/CMakeLists.txt index ea3fc97..b734ac7 100644 --- a/InstructorsAndTrainees/CMakeLists.txt +++ b/InstructorsAndTrainees/CMakeLists.txt @@ -43,6 +43,8 @@ add_library(InstructorsAndTrainees SHARED trainees/personalcardtrainee.ui trainees/dialogcardtrainee.cpp trainees/dialogcardtrainee.h + trainees/dialogredactortrainees.cpp + trainees/dialogredactortrainees.h instructors/viewerinstructors.cpp instructors/viewerinstructors.h @@ -58,6 +60,8 @@ add_library(InstructorsAndTrainees SHARED instructors/dialogauthorizationinstructor.ui instructors/instructorsview.cpp instructors/instructorsview.h + instructors/dialogredactorinstructors.cpp + instructors/dialogredactorinstructors.h connectorToServer/connectortoserver.cpp connectorToServer/connectortoserver.h diff --git a/InstructorsAndTrainees/instructors/dialogredactorinstructors.cpp b/InstructorsAndTrainees/instructors/dialogredactorinstructors.cpp new file mode 100644 index 0000000..b78c355 --- /dev/null +++ b/InstructorsAndTrainees/instructors/dialogredactorinstructors.cpp @@ -0,0 +1,33 @@ +#include +#include "dialogredactorinstructors.h" + +DialogRedactorInstructors::DialogRedactorInstructors(ConnectorToServer* connectorToServer, + bool adminMode, QWidget *parent) : + QDialog(parent, + Qt::WindowSystemMenuHint + | Qt::WindowMaximizeButtonHint + | Qt::WindowMinimizeButtonHint + | Qt::WindowCloseButtonHint), + editorInstructors(nullptr) +{ + editorInstructors = new EditorInstructors(connectorToServer, adminMode, this); + connect(connectorToServer, &ConnectorToServer::signal_UpdateDB, editorInstructors, &EditorInstructors::slot_NeedUpdateUI); + editorInstructors->activate(); + + QHBoxLayout *layout = new QHBoxLayout(this); + layout->addWidget(editorInstructors); + this->setWindowTitle(tr("Editor of instructors")); + this->setMinimumSize(1400, 700); + this->setWindowState(Qt::WindowMaximized); + this->setModal(true); +} + +DialogRedactorInstructors::~DialogRedactorInstructors() +{ + delete editorInstructors; +} + +void DialogRedactorInstructors::closeEvent(QCloseEvent *event) +{ + editorInstructors->close(); +} diff --git a/InstructorsAndTrainees/instructors/dialogredactorinstructors.h b/InstructorsAndTrainees/instructors/dialogredactorinstructors.h new file mode 100644 index 0000000..166bf6a --- /dev/null +++ b/InstructorsAndTrainees/instructors/dialogredactorinstructors.h @@ -0,0 +1,22 @@ +#ifndef DIALOGREDACTORINSTRUCTORS_H +#define DIALOGREDACTORINSTRUCTORS_H + +#include +#include +#include "connectortoserver.h" +#include "editorinstructors.h" + +class DialogRedactorInstructors : public QDialog +{ + Q_OBJECT +public: + DialogRedactorInstructors(ConnectorToServer* connectorToServer, bool adminMode, QWidget *parent = nullptr); + ~DialogRedactorInstructors(); + + void closeEvent(QCloseEvent *event) override; + +private: + EditorInstructors* editorInstructors; +}; + +#endif // DIALOGREDACTORINSTRUCTORS_H diff --git a/InstructorsAndTrainees/instructors/editorinstructors.cpp b/InstructorsAndTrainees/instructors/editorinstructors.cpp index 0424d4f..a57a27a 100644 --- a/InstructorsAndTrainees/instructors/editorinstructors.cpp +++ b/InstructorsAndTrainees/instructors/editorinstructors.cpp @@ -37,6 +37,11 @@ EditorInstructors::~EditorInstructors() delete ui; } +void EditorInstructors::closeEvent(QCloseEvent *event) +{ + +} + void EditorInstructors::on_btnNewInstructor_clicked() { Instructor instructor; diff --git a/InstructorsAndTrainees/instructors/editorinstructors.h b/InstructorsAndTrainees/instructors/editorinstructors.h index b878dfc..94cfe24 100644 --- a/InstructorsAndTrainees/instructors/editorinstructors.h +++ b/InstructorsAndTrainees/instructors/editorinstructors.h @@ -19,6 +19,8 @@ public: explicit EditorInstructors(ConnectorToServer* connectorToServer, bool adminMode, QWidget *parent = nullptr); ~EditorInstructors(); + void closeEvent(QCloseEvent *event) override; + private Q_SLOTS: void on_btnNewInstructor_clicked(); void on_btnDeleteInstructor_clicked(); diff --git a/InstructorsAndTrainees/instructors/viewerinstructors.cpp b/InstructorsAndTrainees/instructors/viewerinstructors.cpp index 507c0c5..cc197cc 100644 --- a/InstructorsAndTrainees/instructors/viewerinstructors.cpp +++ b/InstructorsAndTrainees/instructors/viewerinstructors.cpp @@ -5,7 +5,7 @@ ViewerInstructors::ViewerInstructors(ConnectorToServer* connectorToServer, QWidget *parent) : InstructorsView(connectorToServer, CommonView::TypeView::onlyView, parent), - dlgEditor(nullptr), + dlgRedactor(nullptr), ui(new Ui::ViewerInstructors) { ui->setupUi(this); @@ -24,8 +24,8 @@ ViewerInstructors::ViewerInstructors(ConnectorToServer* connectorToServer, QWidg ViewerInstructors::~ViewerInstructors() { - if(dlgEditor) - dlgEditor->close(); + if(dlgRedactor) + dlgRedactor->close(); delete ui; } @@ -37,8 +37,8 @@ void ViewerInstructors::setAuthComplited(bool authComplited) void ViewerInstructors::deactivate() { - if(dlgEditor) - dlgEditor->close(); + if(dlgRedactor) + dlgRedactor->close(); CommonView::deactivate(); updateButtons(); @@ -60,25 +60,14 @@ void ViewerInstructors::on_btnEditorInstructors_clicked() { Q_EMIT signal_BlockAutorization(true); - EditorInstructors* editorInstructors = new EditorInstructors(connectorToServer, adminMode); - connect(connectorToServer, &ConnectorToServer::signal_UpdateDB, editorInstructors, &EditorInstructors::slot_NeedUpdateUI); - editorInstructors->activate(); + dlgRedactor = new DialogRedactorInstructors(connectorToServer, adminMode, this); + dlgRedactor->exec(); - 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->setWindowState(Qt::WindowMaximized); - dlgEditor->setModal(true); - dlgEditor->exec(); - - delete dlgEditor; - dlgEditor = nullptr; + if(dlgRedactor) + { + delete dlgRedactor; + dlgRedactor = nullptr; + } if(authComplited) loadInstructorsFromDB(); diff --git a/InstructorsAndTrainees/instructors/viewerinstructors.h b/InstructorsAndTrainees/instructors/viewerinstructors.h index bcd1cd9..7b101e9 100644 --- a/InstructorsAndTrainees/instructors/viewerinstructors.h +++ b/InstructorsAndTrainees/instructors/viewerinstructors.h @@ -2,6 +2,7 @@ #define INSTRUCTORSWIDGET_H #include "instructorsview.h" +#include "dialogredactorinstructors.h" namespace Ui { class ViewerInstructors; @@ -43,7 +44,7 @@ private: void updateButtons() override; private: - QDialog* dlgEditor; + DialogRedactorInstructors* dlgRedactor; private: Ui::ViewerInstructors *ui; diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index e22c10e..b009b2f 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -136,6 +136,12 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event) treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_PMorDM, widthPMorDM); } +void AMMtasksWidget::closeDlgCheckTask() +{ + if(dlgCheckerTask) + dlgCheckerTask->close(); +} + void AMMtasksWidget::changeEvent(QEvent *event) { // В случае получения события изменения языка приложения diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.h b/InstructorsAndTrainees/tasks/ammtaskswidget.h index 920ed1d..42ccf9b 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.h +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.h @@ -27,6 +27,7 @@ public: public: void resizeEvent(QResizeEvent *event) override; + void closeDlgCheckTask(); protected: void changeEvent(QEvent * event) override; diff --git a/InstructorsAndTrainees/tasks/dialogchekertask.cpp b/InstructorsAndTrainees/tasks/dialogchekertask.cpp index 8cd08d2..75fab4c 100644 --- a/InstructorsAndTrainees/tasks/dialogchekertask.cpp +++ b/InstructorsAndTrainees/tasks/dialogchekertask.cpp @@ -15,7 +15,8 @@ DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, QString layout->addWidget(checkerTask); this->setWindowTitle(tr("Check Task")); this->setMinimumSize(1400, 700); - this->setWindowState(Qt::WindowMaximized); + if(type == "fim") + this->setWindowState(Qt::WindowMaximized); this->setModal(true); } diff --git a/InstructorsAndTrainees/trainees/dialogredactortrainees.cpp b/InstructorsAndTrainees/trainees/dialogredactortrainees.cpp new file mode 100644 index 0000000..65f4f44 --- /dev/null +++ b/InstructorsAndTrainees/trainees/dialogredactortrainees.cpp @@ -0,0 +1,33 @@ +#include +#include "dialogredactortrainees.h" + +DialogRedactorTrainees::DialogRedactorTrainees(ConnectorToServer* connectorToServer, + bool adminMode, QWidget *parent) : + QDialog(parent, + Qt::WindowSystemMenuHint + | Qt::WindowMaximizeButtonHint + | Qt::WindowMinimizeButtonHint + | Qt::WindowCloseButtonHint), + editorTraineesGroups(nullptr) +{ + editorTraineesGroups = new EditorTrainees(connectorToServer, adminMode, this); + connect(connectorToServer, &ConnectorToServer::signal_UpdateDB, editorTraineesGroups, &EditorTrainees::slot_NeedUpdateUI); + editorTraineesGroups->activate(); + + QHBoxLayout *layout = new QHBoxLayout(this); + layout->addWidget(editorTraineesGroups); + this->setWindowTitle(tr("Editor of trainees")); + this->setMinimumSize(1400, 700); + this->setWindowState(Qt::WindowMaximized); + this->setModal(true); +} + +DialogRedactorTrainees::~DialogRedactorTrainees() +{ + delete editorTraineesGroups; +} + +void DialogRedactorTrainees::closeEvent(QCloseEvent *event) +{ + editorTraineesGroups->close(); +} diff --git a/InstructorsAndTrainees/trainees/dialogredactortrainees.h b/InstructorsAndTrainees/trainees/dialogredactortrainees.h new file mode 100644 index 0000000..e9124ef --- /dev/null +++ b/InstructorsAndTrainees/trainees/dialogredactortrainees.h @@ -0,0 +1,22 @@ +#ifndef DIALOGREDACTORTRAINEES_H +#define DIALOGREDACTORTRAINEES_H + +#include +#include +#include "connectortoserver.h" +#include "editortrainees.h" + +class DialogRedactorTrainees : public QDialog +{ + Q_OBJECT +public: + DialogRedactorTrainees(ConnectorToServer* connectorToServer, bool adminMode, QWidget *parent = nullptr); + ~DialogRedactorTrainees(); + + void closeEvent(QCloseEvent *event) override; + +private: + EditorTrainees* editorTraineesGroups; +}; + +#endif // DIALOGREDACTORTRAINEES_H diff --git a/InstructorsAndTrainees/trainees/editortrainees.cpp b/InstructorsAndTrainees/trainees/editortrainees.cpp index d22ca86..7b80c55 100644 --- a/InstructorsAndTrainees/trainees/editortrainees.cpp +++ b/InstructorsAndTrainees/trainees/editortrainees.cpp @@ -41,6 +41,11 @@ EditorTrainees::~EditorTrainees() delete ui; } +void EditorTrainees::closeEvent(QCloseEvent *event) +{ + +} + void EditorTrainees::on_btnNewGroup_clicked() { Group group; diff --git a/InstructorsAndTrainees/trainees/editortrainees.h b/InstructorsAndTrainees/trainees/editortrainees.h index e79dc38..2272b45 100644 --- a/InstructorsAndTrainees/trainees/editortrainees.h +++ b/InstructorsAndTrainees/trainees/editortrainees.h @@ -20,6 +20,8 @@ public: explicit EditorTrainees(ConnectorToServer* connectorToServer, bool adminMode, QWidget *parent = nullptr); ~EditorTrainees(); + void closeEvent(QCloseEvent *event) override; + private Q_SLOTS: void on_btnNewGroup_clicked(); void on_btnDeleteGroup_clicked(); diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp index 84a9f36..8eac562 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp @@ -75,6 +75,7 @@ PersonalCardTrainee::~PersonalCardTrainee() void PersonalCardTrainee::closeEvent(QCloseEvent *event) { fimTasksWidget_personal->closeDlgCheckTask(); + ammTasksWidget_personal->closeDlgCheckTask(); } void PersonalCardTrainee::loadInfo() diff --git a/InstructorsAndTrainees/trainees/viewertrainees.cpp b/InstructorsAndTrainees/trainees/viewertrainees.cpp index 2f61e10..699771a 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.cpp +++ b/InstructorsAndTrainees/trainees/viewertrainees.cpp @@ -9,7 +9,7 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, MessangerCo ammTasksWidgetCommon(nullptr), fimTasksWidgetCommon(nullptr), messangerController(messangerController), - dlgEditor(nullptr), + dlgRedactor(nullptr), dlgCardTrainee(nullptr), ui(new Ui::ViewerTrainees) { @@ -48,8 +48,8 @@ ViewerTrainees::~ViewerTrainees() fimTasksWidgetCommon = nullptr; } - if(dlgEditor) - dlgEditor->close(); + if(dlgRedactor) + dlgRedactor->close(); if(dlgCardTrainee) dlgCardTrainee->close(); @@ -65,13 +65,11 @@ void ViewerTrainees::setAuthComplited(bool authComplited) void ViewerTrainees::deactivate() { - if(dlgEditor) - dlgEditor->close(); + if(dlgRedactor) + dlgRedactor->close(); if(dlgCardTrainee) - { dlgCardTrainee->close(); - } CommonView::deactivate(); @@ -96,25 +94,14 @@ void ViewerTrainees::on_btnEditorTrainees_clicked() { Q_EMIT signal_BlockAutorization(true); - EditorTrainees* editorTraineesGroups = new EditorTrainees(connectorToServer, adminMode); - connect(connectorToServer, &ConnectorToServer::signal_UpdateDB, editorTraineesGroups, &EditorTrainees::slot_NeedUpdateUI); - editorTraineesGroups->activate(); + dlgRedactor = new DialogRedactorTrainees(connectorToServer, adminMode, this); + dlgRedactor->exec(); - 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->setWindowState(Qt::WindowMaximized); - dlgEditor->setModal(true); - dlgEditor->exec(); - - delete dlgEditor; - dlgEditor = nullptr; + if(dlgRedactor) + { + delete dlgRedactor; + dlgRedactor = nullptr; + } if(authComplited) loadTraineesFromDB(); diff --git a/InstructorsAndTrainees/trainees/viewertrainees.h b/InstructorsAndTrainees/trainees/viewertrainees.h index aa43fcc..c474eab 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.h +++ b/InstructorsAndTrainees/trainees/viewertrainees.h @@ -6,6 +6,7 @@ #include "fimtaskswidget.h" #include "messangercontroller.h" #include "dialogcardtrainee.h" +#include "dialogredactortrainees.h" namespace Ui { class ViewerTrainees; @@ -53,7 +54,7 @@ private: MessangerController* messangerController; - QDialog* dlgEditor; + DialogRedactorTrainees* dlgRedactor; DialogCardTrainee* dlgCardTrainee; private: