diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp index 3ac42e1..3cdf063 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp @@ -81,6 +81,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) : ui->btnAuthorizationInstructor->setEnabled(false); ui->btnEditorTrainees->setEnabled(false); ui->btnEditorInstructors->setEnabled(false); + ui->btnPersonalCard->setEnabled(false); } InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget() @@ -209,11 +210,12 @@ void InstructorsAndTraineesWidget::slot_checkDeLoginResult(ServerDeAuthorization ui->btnEditorTrainees->setEnabled(false); ui->btnEditorInstructors->setEnabled(false); + ui->btnPersonalCard->setEnabled(false); updateLabelLoggedInInstructor("",""); } else - { + { ui->btnAuthorizationInstructor->setChecked(true); SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::critical, tr("Instructor deauthorization") + "\n" + tr("Error!")).exec(); } @@ -243,6 +245,7 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state) ui->btnEditorTrainees->setEnabled(false); ui->btnEditorInstructors->setEnabled(false); + ui->btnPersonalCard->setEnabled(false); viewerTrainees->deactivate(); viewerInstructors->deactivate(); @@ -264,6 +267,7 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state) void InstructorsAndTraineesWidget::slot_traineeSelected(int id_trainee) { + ui->btnPersonalCard->setEnabled(false); viewerInstructors->clearSelection(); /*Messanger*/ @@ -272,12 +276,16 @@ void InstructorsAndTraineesWidget::slot_traineeSelected(int id_trainee) { Trainee trainee = connectorToServer->getTrainee(id_trainee); if(trainee.getID()) + { messangerWidget = messangerController->newWidget(this, &trainee, ui->verticalLayout_Messenger); + ui->btnPersonalCard->setEnabled(true); + } } } void InstructorsAndTraineesWidget::slot_instructorSelected(int id_instructor) { + ui->btnPersonalCard->setEnabled(false); viewerTrainees->clearSelection(); /*Messanger*/ @@ -474,3 +482,8 @@ void InstructorsAndTraineesWidget::on_btnEditorInstructors_clicked() { this->viewerInstructors->on_btnEditorInstructors_clicked(); } + +void InstructorsAndTraineesWidget::on_btnPersonalCard_clicked() +{ + this->viewerTrainees->on_btnPersonalCard_clicked(); +} diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.h b/InstructorsAndTrainees/instructorsandtraineeswidget.h index 4afbd6a..36c51a8 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.h +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.h @@ -69,6 +69,8 @@ private Q_SLOTS: void on_btnEditorTrainees_clicked(); void on_btnEditorInstructors_clicked(); + void on_btnPersonalCard_clicked(); + private: //Авторизация инструктора локальная (на ГУИ) bool authorizationInstructorDialog(QWidget* parent = nullptr); diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.ui b/InstructorsAndTrainees/instructorsandtraineeswidget.ui index f2552b8..1588cc7 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.ui +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.ui @@ -151,6 +151,32 @@ + + + + + 130 + 58 + + + + Personal card + + + + :/resources/icons/personalCard.png:/resources/icons/personalCard.png + + + + 32 + 32 + + + + Qt::ToolButtonTextUnderIcon + + + diff --git a/InstructorsAndTrainees/resources.qrc b/InstructorsAndTrainees/resources.qrc index f2c273a..8adb83b 100644 --- a/InstructorsAndTrainees/resources.qrc +++ b/InstructorsAndTrainees/resources.qrc @@ -52,5 +52,6 @@ resources/icons/critical.png resources/icons/warning.png resources/icons/info.png + resources/icons/personalCard.png diff --git a/InstructorsAndTrainees/resources/icons/personalCard.png b/InstructorsAndTrainees/resources/icons/personalCard.png new file mode 100644 index 0000000..9ee6a77 Binary files /dev/null and b/InstructorsAndTrainees/resources/icons/personalCard.png differ diff --git a/InstructorsAndTrainees/trainees/viewertrainees.cpp b/InstructorsAndTrainees/trainees/viewertrainees.cpp index cf9303a..e9a4370 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.cpp +++ b/InstructorsAndTrainees/trainees/viewertrainees.cpp @@ -109,6 +109,24 @@ void ViewerTrainees::on_btnEditorTrainees_clicked() connectorToServer->sendQueryBlockAuth(false); } +void ViewerTrainees::on_btnPersonalCard_clicked() +{ + if(lastCurrentID && typeObject == TypeObject::objTrainee) + { + dlgCardTrainee = new DialogCardTrainee(connectorToServer, messangerController, lastCurrentID, ammTasksWidgetCommon, fimTasksWidgetCommon, this); + dlgCardTrainee->exec(); + + ammTasksWidgetCommon->setParent(this); + fimTasksWidgetCommon->setParent(this); + + if(dlgCardTrainee) + { + delete dlgCardTrainee; + dlgCardTrainee = nullptr; + } + } +} + void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column) { if(item == nullptr) diff --git a/InstructorsAndTrainees/trainees/viewertrainees.h b/InstructorsAndTrainees/trainees/viewertrainees.h index 1b42a68..f2dcff1 100644 --- a/InstructorsAndTrainees/trainees/viewertrainees.h +++ b/InstructorsAndTrainees/trainees/viewertrainees.h @@ -37,6 +37,7 @@ Q_SIGNALS: public Q_SLOTS: //void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column); void on_btnEditorTrainees_clicked(); + void on_btnPersonalCard_clicked(); private Q_SLOTS: void on_itemDoubleClicked(QTreeWidgetItem *item, int column); void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);