diff --git a/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp b/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp index 5486a6c..44237e7 100644 --- a/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp +++ b/InstructorsAndTrainees/connectorToServer/connectortoserver.cpp @@ -194,6 +194,22 @@ QList ConnectorToServer::getListTasksFIMforTrainee(int trainee_id) return QList(); } +int ConnectorToServer::getCountTasksAMMforTrainee(int trainee_id) +{ + if(mapTasksAMM.contains(trainee_id)) + return mapTasksAMM.value(trainee_id).count(); + else + return 0; +} + +int ConnectorToServer::getCountTasksFIMforTrainee(int trainee_id) +{ + if(mapTasksFIM.contains(trainee_id)) + return mapTasksFIM.value(trainee_id).count(); + else + return 0; +} + bool ConnectorToServer::isArchivedInstructor(int id) { for(Instructor instructor : listInstructors) diff --git a/InstructorsAndTrainees/connectorToServer/connectortoserver.h b/InstructorsAndTrainees/connectorToServer/connectortoserver.h index bd3bcc7..14f55d0 100644 --- a/InstructorsAndTrainees/connectorToServer/connectortoserver.h +++ b/InstructorsAndTrainees/connectorToServer/connectortoserver.h @@ -47,6 +47,8 @@ public: QList getListClassrooms(); QList getListTasksAMMforTrainee(int trainee_id); QList getListTasksFIMforTrainee(int trainee_id); + int getCountTasksAMMforTrainee(int trainee_id); + int getCountTasksFIMforTrainee(int trainee_id); bool isArchivedInstructor(int id); bool isAdminInstructor(int id); diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index 300762e..9f4ff28 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -199,6 +199,8 @@ void AMMtasksWidget::slot_UpdateTasksAMMforTrainee(int trainee_id) { QList listTask = connectorToServer->getListTasksAMMforTrainee(trainee_id); signal_prepareAMMListItemsForTrainee(listTask); + + emit signal_countTasksAMMforTraineeChanged(trainee_id, listTask.count()); } } } diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.h b/InstructorsAndTrainees/tasks/ammtaskswidget.h index 0332745..a8c1113 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.h +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.h @@ -59,6 +59,8 @@ Q_SIGNALS: void signal_stopParserPreparation(); + void signal_countTasksAMMforTraineeChanged(int trainee_id, int count); + public Q_SLOTS: void slot_AMMlistItemsReady(QList listItems); diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp index 2885741..e581a78 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -226,6 +226,8 @@ void FIMtasksWidget::slot_UpdateTasksFIMforTrainee(int trainee_id) { QList listTask = connectorToServer->getListTasksFIMforTrainee(trainee_id); emit signal_prepareFIMListItemsForTrainee(listTask); + + emit signal_countTasksFIMforTraineeChanged(trainee_id, listTask.count()); } } } diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.h b/InstructorsAndTrainees/tasks/fimtaskswidget.h index ea0e52d..8e70f25 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.h +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.h @@ -61,6 +61,8 @@ Q_SIGNALS: void signal_stopParserPreparation(); + void signal_countTasksFIMforTraineeChanged(int trainee_id, int count); + public Q_SLOTS: void slot_FIMlistItemsReady(QList listItems); diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp index cfffdf0..8b52d0b 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.cpp +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.cpp @@ -23,6 +23,10 @@ PersonalCardTrainee::PersonalCardTrainee(ConnectorToServer* connectorToServer, M connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMMforTrainee, ammTasksWidget_personal, &AMMtasksWidget::slot_UpdateTasksAMMforTrainee); connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIMforTrainee, fimTasksWidget_personal, &FIMtasksWidget::slot_UpdateTasksFIMforTrainee); + connect(ammTasksWidget_personal, &AMMtasksWidget::signal_countTasksAMMforTraineeChanged, this, &PersonalCardTrainee::slot_countTasksAMMforTraineeChanged); + connect(fimTasksWidget_personal, &FIMtasksWidget::signal_countTasksFIMforTraineeChanged, this, &PersonalCardTrainee::slot_countTasksFIMforTraineeChanged); + + fimTasksWidget_personal->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); ammTasksWidget_personal->slot_traineeSelected(connectorToServer->getTrainee(id_trainee).getLogin()); @@ -78,3 +82,19 @@ void PersonalCardTrainee::loadInfo() ui->lblLoginTime->setText(timing.getEntryTimeS()); ui->lblTimeExit->setText(timing.getExitTimeS()); } + +void PersonalCardTrainee::slot_countTasksAMMforTraineeChanged(int trainee_id, int count) +{ + if(id_trainee == trainee_id) + { + ui->lblCntAMM->setText(QString::number(count)); + } +} + +void PersonalCardTrainee::slot_countTasksFIMforTraineeChanged(int trainee_id, int count) +{ + if(id_trainee == trainee_id) + { + ui->lblCntFIM->setText(QString::number(count)); + } +} diff --git a/InstructorsAndTrainees/trainees/personalcardtrainee.h b/InstructorsAndTrainees/trainees/personalcardtrainee.h index 5d0188c..61729c8 100644 --- a/InstructorsAndTrainees/trainees/personalcardtrainee.h +++ b/InstructorsAndTrainees/trainees/personalcardtrainee.h @@ -24,6 +24,10 @@ public: private: void loadInfo(); +public slots: + void slot_countTasksAMMforTraineeChanged(int trainee_id, int count); + void slot_countTasksFIMforTraineeChanged(int trainee_id, int count); + private: ConnectorToServer* connectorToServer; MessangerController* messangerController;