#include "editortrainees.h" #include "viewertrainees.h" #include "ui_viewertrainees.h" ViewerTrainees::ViewerTrainees(DataBaseTrainees* db, bool adminMode, QWidget *parent) : //QWidget(parent), TraineesView(db, CommonView::TypeView::onlyView, 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(1); 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(1); 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); //dlg.setWindowTitle(tr("List trainees")); //dlg.exec(); //dlg.show(); QDialog* dialog = new QDialog(this); QHBoxLayout *layout = new QHBoxLayout(dialog); layout->addWidget(&editorTraineesGroups); dialog->setWindowTitle(tr("List trainees")); dialog->setMinimumSize(1400, 800); dialog->exec(); dbTrainees->LoadTraineesGroupsPSQL(); loadTraineesFromDB(); }