mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
147 lines
4.5 KiB
C++
147 lines
4.5 KiB
C++
#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_1->addWidget(treeWidget);
|
||
|
||
ammTasksWidget = new AMMtasksWidget(connectorToServer, AMMtasksWidget::TypeList::listForTrainee, this);
|
||
fimTasksWidget = new FIMtasksWidget(connectorToServer, FIMtasksWidget::TypeList::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);
|
||
|
||
ui->verticalLayout_2->addWidget(ammTasksWidget);
|
||
ui->verticalLayout_2->addWidget(fimTasksWidget);
|
||
|
||
preparationTreeWidget();
|
||
setNotLoggedInVisible(true);
|
||
}
|
||
|
||
ViewerTrainees::~ViewerTrainees()
|
||
{
|
||
delete ui;
|
||
}
|
||
|
||
void ViewerTrainees::setAuthComplited(bool authComplited)
|
||
{
|
||
this->authComplited = authComplited;
|
||
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::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);
|
||
}
|
||
}
|