#include "editortrainees.h" #include "viewertrainees.h" #include "ui_viewertrainees.h" ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *parent) : TraineesView(connectorToServer, CommonView::TypeView::onlyView, parent), ui(new Ui::ViewerTrainees), ammTasksWidget(nullptr), fimTasksWidget(nullptr) { ui->setupUi(this); connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged); ui->horizontalLayout_11->addWidget(treeWidget); ammTasksWidget = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this); fimTasksWidget = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this); connect(this, &ViewerTrainees::signal_traineeSelected, fimTasksWidget, &FIMtasksWidget::slot_traineeSelected); connect(this, &ViewerTrainees::signal_traineeSelected, ammTasksWidget, &AMMtasksWidget::slot_traineeSelected); connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMMforTrainee, ammTasksWidget, &AMMtasksWidget::slot_UpdateTasksAMMforTrainee); connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIMforTrainee, fimTasksWidget, &FIMtasksWidget::slot_UpdateTasksFIMforTrainee); ui->verticalLayout_2->addWidget(ammTasksWidget); ui->verticalLayout_2->addWidget(fimTasksWidget); preparationTreeWidget(); setNotLoggedInVisible(true); ui->btnEditorTrainees->setVisible(false); } ViewerTrainees::~ViewerTrainees() { delete ui; } void ViewerTrainees::setAuthComplited(bool authComplited) { this->authComplited = authComplited; updateButtons(); } void ViewerTrainees::deactivate() { CommonView::deactivate(); ammTasksWidget->deactivate(); fimTasksWidget->deactivate(); updateButtons(); } /* void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column) { if(item->childCount() == 0) {//Выбран обучаемый QString login = item->text(ColumnsTreeTrainees::clmn_Login); Q_EMIT signal_traineeSelected(login); } }*/ void ViewerTrainees::slot_tabMessengerChanged(QString login) { if(login == "") return; for (int i = 0; i < treeWidget->topLevelItemCount(); i++) {//Проход по группам int countChild = treeWidget->topLevelItem(i)->childCount(); for (int j = 0; j < countChild; j++) {//Проход по обучаемым QString loginChild = treeWidget->topLevelItem(i)->child(j)->text(ColumnsTreeTrainees::clmn_Login); if(loginChild == login) { treeWidget->setCurrentItem(treeWidget->topLevelItem(i)->child(j)); typeObject = TypeObject::objTrainee; int newCurrentID = connectorToServer->getIdTraineeByLogin(login); if(newCurrentID == lastCurrentID) return; lastCurrentID = newCurrentID; Q_EMIT signal_traineeSelected(login); return; } } } } void ViewerTrainees::slot_waitAnimationWidgetShowWithPlayFIM() { fimTasksWidget->waitAnimationWidgetShowWithPlay(); } void ViewerTrainees::slot_waitAnimationWidgetShowWithPlayAMM() { ammTasksWidget->waitAnimationWidgetShowWithPlay(); } void ViewerTrainees::changeEvent(QEvent *event) { // В случае получения события изменения языка приложения if (event->type() == QEvent::LanguageChange) {// переведём окно заново ui->retranslateUi(this); reSetHeadTreeWidget(); //loadTraineesFromDB(); slot_NeedUpdateUI(false, true); } } void ViewerTrainees::on_btnEditorTrainees_clicked() { Q_EMIT signal_BlockAutorization(true); EditorTrainees editorTraineesGroups(connectorToServer, adminMode); connect(connectorToServer, &ConnectorToServer::signal_UpdateDB, &editorTraineesGroups, &EditorTrainees::slot_NeedUpdateUI); QDialog* dialog = new QDialog(this); QHBoxLayout *layout = new QHBoxLayout(dialog); layout->addWidget(&editorTraineesGroups); dialog->setWindowTitle(tr("Editor of trainees")); dialog->setMinimumSize(1600, 800); dialog->exec(); loadTraineesFromDB(); Q_EMIT signal_BlockAutorization(false); } void ViewerTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous) { if(current == nullptr) return; //if(current->childCount() == 0) {//Выбран обучаемый QString login = current->text(ColumnsTreeTrainees::clmn_Login); //if(login != "") { int newCurrentID = connectorToServer->getIdTraineeByLogin(login); if(newCurrentID == lastCurrentID) return; lastCurrentID = newCurrentID; Q_EMIT signal_traineeSelected(login); } } } void ViewerTrainees::updateButtons() { if(authComplited) { ui->btnEditorTrainees->setEnabled(true); } else { ui->btnEditorTrainees->setEnabled(false); } }