mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
91 lines
2.8 KiB
C++
91 lines
2.8 KiB
C++
#include "editortrainees.h"
|
||
#include "viewertrainees.h"
|
||
#include "ui_viewertrainees.h"
|
||
|
||
ViewerTrainees::ViewerTrainees(DataBaseTrainees* db, bool adminMode, QWidget *parent) :
|
||
TraineesView(db, CommonView::TypeView::onlyView, adminMode, parent),
|
||
ui(new Ui::ViewerTrainees)
|
||
{
|
||
ui->setupUi(this);
|
||
|
||
this->adminMode = adminMode;
|
||
|
||
// Сделаем первоначальную инициализацию перевода для окна виджета
|
||
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + QString(QStringLiteral("ru_RU")), QStringLiteral("."));
|
||
qApp->installTranslator(&qtLanguageTranslator);
|
||
|
||
preparationTreeWidget(ui->treeWidget);
|
||
setNotLoggedInVisible(true);
|
||
loadTraineesFromDB();
|
||
}
|
||
|
||
ViewerTrainees::~ViewerTrainees()
|
||
{
|
||
delete ui;
|
||
}
|
||
|
||
void ViewerTrainees::setFilterTraineeLoggedIn(bool enabled)
|
||
{
|
||
setNotLoggedInVisible(!enabled);
|
||
loadTraineesFromDB();
|
||
}
|
||
|
||
void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
|
||
{
|
||
if(item->childCount() == 0)
|
||
{//Выбран обучаемый
|
||
QString login = item->text(2);
|
||
Q_EMIT signal_traineeSelected(login);
|
||
}
|
||
}
|
||
|
||
void ViewerTrainees::slot_tabMessengerChanged(QString login)
|
||
{
|
||
for (int i = 0; i < ui->treeWidget->topLevelItemCount(); i++)
|
||
{//Проход по группам
|
||
int countChild = ui->treeWidget->topLevelItem(i)->childCount();
|
||
|
||
for (int j = 0; j < countChild; j++)
|
||
{//Проход по обучаемым
|
||
QString loginChild = ui->treeWidget->topLevelItem(i)->child(j)->text(2);
|
||
if(loginChild == login)
|
||
{
|
||
ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(i)->child(j));
|
||
Q_EMIT signal_traineeSelected(login);
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
void ViewerTrainees::changeEvent(QEvent *event)
|
||
{
|
||
// В случае получения события изменения языка приложения
|
||
if (event->type() == QEvent::LanguageChange)
|
||
{
|
||
ui->retranslateUi(this); // переведём окно заново
|
||
|
||
reSetHeadTreeWidget();
|
||
loadTraineesFromDB();
|
||
}
|
||
}
|
||
|
||
void ViewerTrainees::slot_LanguageChanged(QString language)
|
||
{
|
||
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + language, QStringLiteral("."));
|
||
qApp->installTranslator(&qtLanguageTranslator);
|
||
}
|
||
|
||
void ViewerTrainees::on_btnEditorTrainees_clicked()
|
||
{
|
||
EditorTrainees editorTraineesGroups(dbTrainees, adminMode);
|
||
QDialog* dialog = new QDialog(this);
|
||
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
||
layout->addWidget(&editorTraineesGroups);
|
||
dialog->setWindowTitle(tr("Editor of trainees"));
|
||
dialog->setMinimumSize(1400, 800);
|
||
dialog->exec();
|
||
|
||
loadTraineesFromDB();
|
||
}
|