mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
before task parser
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Tahoma</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -29,13 +30,24 @@
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editName"/>
|
||||
<widget class="QLineEdit" name="editName">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@@ -43,6 +55,11 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="locale">
|
||||
<locale language="English" country="UnitedStates"/>
|
||||
</property>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Tahoma</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -25,6 +26,11 @@
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="locale">
|
||||
<locale language="English" country="UnitedStates"/>
|
||||
</property>
|
||||
@@ -42,13 +48,24 @@
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editName"/>
|
||||
<widget class="QLineEdit" name="editName">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@@ -56,13 +73,24 @@
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Login</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editLogin"/>
|
||||
<widget class="QLineEdit" name="editLogin">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@@ -70,13 +98,24 @@
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Password</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="editPassword"/>
|
||||
<widget class="QLineEdit" name="editPassword">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@@ -87,6 +126,11 @@
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Archived</string>
|
||||
</property>
|
||||
@@ -109,6 +153,11 @@
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Logged</string>
|
||||
</property>
|
||||
|
||||
@@ -5,13 +5,19 @@
|
||||
#include "dialogedittrainee.h"
|
||||
|
||||
EditorTrainees::EditorTrainees(InterfaceDataBaseLMS* dbLMS, bool adminMode, QWidget *parent) :
|
||||
TraineesView(dbLMS, CommonView::TypeView::control, adminMode, parent),
|
||||
TraineesView(dbLMS, CommonView::TypeView::control, parent),
|
||||
ui(new Ui::EditorTrainees)
|
||||
{
|
||||
ui->setupUi((QDialog*)this);
|
||||
|
||||
preparationTreeWidget(ui->treeWidget);
|
||||
setNotLoggedInVisible(true);
|
||||
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &EditorTrainees::on_treeWidget_currentItemChanged);
|
||||
|
||||
ui->verticalLayout_1->addWidget(treeWidget);
|
||||
|
||||
this->adminMode = adminMode;
|
||||
|
||||
preparationTreeWidget(/*ui->treeWidget*/);
|
||||
//setNotLoggedInVisible(true);
|
||||
loadTraineesFromDB();
|
||||
|
||||
if(adminMode)
|
||||
@@ -74,7 +80,7 @@ void EditorTrainees::on_btnNewGroup_clicked()
|
||||
|
||||
void EditorTrainees::on_btnDeleteGroup_clicked()
|
||||
{
|
||||
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
|
||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||
|
||||
if(treeItemCurrent != nullptr)
|
||||
{
|
||||
@@ -90,13 +96,16 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
|
||||
}
|
||||
else
|
||||
{//Пустая группа
|
||||
if(int id = dbLMS->delGroup(id_group))
|
||||
{//Удалено
|
||||
loadTraineesFromDB();
|
||||
}
|
||||
else
|
||||
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
|
||||
{
|
||||
//Ошибка удаления
|
||||
if(int id = dbLMS->delGroup(id_group))
|
||||
{//Удалено
|
||||
loadTraineesFromDB();
|
||||
}
|
||||
else
|
||||
{
|
||||
//Ошибка удаления
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -105,7 +114,7 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
|
||||
|
||||
void EditorTrainees::on_btnNewTrainee_clicked()
|
||||
{
|
||||
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
|
||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||
|
||||
if(treeItemCurrent != nullptr)
|
||||
{
|
||||
@@ -168,7 +177,7 @@ void EditorTrainees::on_btnNewTrainee_clicked()
|
||||
|
||||
void EditorTrainees::on_btnDeleteTrainee_clicked()
|
||||
{
|
||||
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
|
||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||
|
||||
if(treeItemCurrent != nullptr)
|
||||
{
|
||||
@@ -179,6 +188,12 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
|
||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
int id_group = treeItemParent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
if(dbLMS->isLoggedInTrainee(id_trainee))
|
||||
{//Обучаемый залогирован!
|
||||
QMessageBox::critical(this, tr("Error!"), tr("You cannot delete a logged-in trainee."));
|
||||
return;
|
||||
}
|
||||
|
||||
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
|
||||
{
|
||||
if(int id = dbLMS->delTrainee(id_trainee))
|
||||
@@ -197,7 +212,7 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
|
||||
|
||||
void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
|
||||
{
|
||||
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
|
||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||
|
||||
if(treeItemCurrent != nullptr)
|
||||
{
|
||||
@@ -225,7 +240,13 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
|
||||
}
|
||||
}
|
||||
else
|
||||
{//Не Архивный
|
||||
{//Не Архивный
|
||||
if(dbLMS->isLoggedInTrainee(id_trainee))
|
||||
{//Обучаемый залогирован!
|
||||
QMessageBox::critical(this, tr("Error!"), tr("You cannot archive a logged-in trainee."));
|
||||
return;
|
||||
}
|
||||
|
||||
trainee.setArchived(true);
|
||||
if(int id = dbLMS->editTrainee(trainee))
|
||||
{//Отредактировано
|
||||
@@ -246,7 +267,7 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
|
||||
|
||||
void EditorTrainees::on_btnEdit_clicked()
|
||||
{
|
||||
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
|
||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||
|
||||
if(treeItemCurrent == nullptr)
|
||||
return;
|
||||
@@ -301,6 +322,12 @@ void EditorTrainees::on_btnEdit_clicked()
|
||||
|
||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
||||
|
||||
if(dbLMS->isLoggedInTrainee(id_trainee))
|
||||
{//Обучаемый залогирован!
|
||||
QMessageBox::critical(this, tr("Error!"), tr("You cannot archive a logged-in trainee."));
|
||||
return;
|
||||
}
|
||||
|
||||
DialogEditTrainee dlg(this);
|
||||
|
||||
Trainee trainee = dbLMS->getTrainee(id_trainee);
|
||||
@@ -399,22 +426,40 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
|
||||
if(dbLMS->isArchivedTrainee(id_trainee))
|
||||
{//Архивный
|
||||
ui->btnDeleteTrainee->setEnabled(true);
|
||||
//ui->btnDeleteTrainee->setEnabled(true);
|
||||
|
||||
ui->btnToOrFromArchiveTrainee->setText(tr("From archive"));
|
||||
ui->btnToOrFromArchiveTrainee->setIcon(QIcon(QStringLiteral(":/icons/traineeFromArchive.png")));
|
||||
}
|
||||
else
|
||||
{//Не Архивный
|
||||
ui->btnDeleteTrainee->setEnabled(false);
|
||||
//ui->btnDeleteTrainee->setEnabled(false);
|
||||
|
||||
ui->btnToOrFromArchiveTrainee->setText(tr("To archive"));
|
||||
ui->btnToOrFromArchiveTrainee->setIcon(QIcon(QStringLiteral(":/icons/traineeArchive.png")));
|
||||
}
|
||||
|
||||
ui->btnToOrFromArchiveTrainee->setEnabled(true);
|
||||
if(dbLMS->isLoggedInTrainee(id_trainee))
|
||||
{//Это залогированный! Удалять/Архивировать/Редактировать нельзя!
|
||||
ui->btnDeleteTrainee->setEnabled(false);
|
||||
ui->btnToOrFromArchiveTrainee->setEnabled(false);
|
||||
ui->btnEdit->setEnabled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->btnToOrFromArchiveTrainee->setEnabled(true);
|
||||
|
||||
ui->btnEdit->setEnabled(true);
|
||||
if(dbLMS->isArchivedTrainee(id_trainee))
|
||||
ui->btnDeleteTrainee->setEnabled(true);
|
||||
else
|
||||
ui->btnDeleteTrainee->setEnabled(false);
|
||||
|
||||
ui->btnEdit->setEnabled(true);
|
||||
}
|
||||
|
||||
//ui->btnToOrFromArchiveTrainee->setEnabled(true);
|
||||
|
||||
//ui->btnEdit->setEnabled(true);
|
||||
ui->btnArchive->setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
|
||||
#include <QDialog>
|
||||
#include <QTreeWidget>
|
||||
//#include "computersLocations.h"
|
||||
#include "interfacedatabaselms.h"
|
||||
#include "traineesview.h"
|
||||
//#include "computersLocations.h"
|
||||
|
||||
namespace Ui {
|
||||
class EditorTrainees;
|
||||
@@ -13,7 +12,7 @@ class EditorTrainees;
|
||||
|
||||
//Виджет для редактирования БД Обучаемых
|
||||
|
||||
class EditorTrainees : /*public QDialog,*/ public TraineesView
|
||||
class EditorTrainees : public TraineesView
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<family>Tahoma</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
@@ -34,32 +35,7 @@
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_1">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_1">
|
||||
<item>
|
||||
<widget class="QTreeWidget" name="treeWidget">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Tahoma</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="columnCount">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_1"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_2" native="true">
|
||||
@@ -78,6 +54,7 @@
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Tahoma</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
|
||||
@@ -1,25 +1,59 @@
|
||||
#include <QHeaderView>
|
||||
#include "traineesview.h"
|
||||
|
||||
TraineesView::TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, bool adminMode, QWidget *parent):
|
||||
CommonView(type, adminMode, parent),
|
||||
dbLMS(dbLMS)
|
||||
TraineesView::TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent):
|
||||
CommonView(dbLMS, type, parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void TraineesView::preparationTreeWidget(QTreeWidget *tree)
|
||||
void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
||||
{
|
||||
treeWidget = tree;
|
||||
if(typeView == TypeView::onlyView)
|
||||
{
|
||||
if(adminMode)
|
||||
archiveVisible = true;
|
||||
else
|
||||
archiveVisible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
archiveVisible = true;
|
||||
}
|
||||
|
||||
if(adminMode)
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, false);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
|
||||
}
|
||||
|
||||
updateButtons();
|
||||
|
||||
if(treeTrainee)
|
||||
loadTraineesFromDB();
|
||||
}
|
||||
|
||||
void TraineesView::preparationTreeWidget(/*QTreeWidget *tree*/)
|
||||
{
|
||||
//treeWidget = tree;
|
||||
|
||||
/*
|
||||
if(treeWidget == nullptr)
|
||||
return;
|
||||
*/
|
||||
|
||||
treeWidget->setColumnCount(10);
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
|
||||
//treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
|
||||
treeWidget->setStyleSheet(QStringLiteral("font-size: 10pt;"
|
||||
"font-family: Tahoma;"));
|
||||
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, 250);
|
||||
@@ -28,8 +62,8 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 80);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 100);
|
||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Tasks, 200);
|
||||
|
||||
|
||||
@@ -40,15 +74,21 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
|
||||
|
||||
archiveVisible = false;
|
||||
if(adminMode)
|
||||
archiveVisible = true;
|
||||
else
|
||||
archiveVisible = false;
|
||||
|
||||
notLoggedInVisible = true;
|
||||
}
|
||||
else
|
||||
{//control
|
||||
archiveVisible = true;
|
||||
notLoggedInVisible = true;
|
||||
|
||||
if(adminMode)
|
||||
{
|
||||
archiveVisible = true;
|
||||
notLoggedInVisible = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -63,19 +103,23 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
|
||||
|
||||
void TraineesView::loadTraineesFromDB()
|
||||
{
|
||||
QList <Group> listGroups;
|
||||
QList <Trainee> listTrainees;
|
||||
//dbTrainees->transactionBegin();
|
||||
listGroups = dbLMS->getListGroups();
|
||||
listTrainees = dbLMS->getListTrainees();
|
||||
//dbTrainees->transactionEnd();
|
||||
|
||||
/*
|
||||
if(treeWidget == nullptr)
|
||||
return;
|
||||
return;*/
|
||||
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
|
||||
if(!dbLMS->DBisConnected())
|
||||
return;
|
||||
|
||||
QList <Group> listGroups;
|
||||
QList <Trainee> listTrainees;
|
||||
//dbLMS->transactionBegin();
|
||||
listGroups = dbLMS->getListGroups();
|
||||
listTrainees = dbLMS->getListTrainees();
|
||||
//dbLMS->transactionEnd();
|
||||
|
||||
for(Group group : listGroups)
|
||||
{
|
||||
//Группа
|
||||
@@ -102,7 +146,8 @@ void TraineesView::loadTraineesFromDB()
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_IP_address, trainee.getComputer().getIpAddress());
|
||||
|
||||
//Сокрытие пароля
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, QStringLiteral("******"));
|
||||
if(!adminMode)
|
||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, QStringLiteral("******"));
|
||||
|
||||
if(trainee.getArchived())
|
||||
{//Архивный
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define TRAINEESVIEW_H
|
||||
|
||||
#include "instructorsAndTrainees_global.h"
|
||||
#include "interfacedatabaselms.h"
|
||||
#include "commonview.h"
|
||||
|
||||
//Родительский класс представления БД Обучаемых (для просмотра и управления)
|
||||
@@ -12,7 +11,7 @@ class TraineesView: public CommonView
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, bool adminMode, QWidget *parent = nullptr);
|
||||
TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent = nullptr);
|
||||
|
||||
protected:
|
||||
enum ColumnsTreeTrainees{
|
||||
@@ -28,14 +27,16 @@ protected:
|
||||
clmn_ID
|
||||
};
|
||||
|
||||
public Q_SLOTS:
|
||||
//Слот обработки сигнала необходимости обновления интерфейса
|
||||
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
||||
|
||||
protected:
|
||||
void preparationTreeWidget(QTreeWidget* tree);
|
||||
virtual void updateButtons(){};
|
||||
void preparationTreeWidget(/*QTreeWidget* tree*/);
|
||||
void loadTraineesFromDB();
|
||||
|
||||
void reSetHeadTreeWidget();
|
||||
|
||||
protected:
|
||||
InterfaceDataBaseLMS* dbLMS;
|
||||
};
|
||||
|
||||
#endif // TRAINEESVIEW_H
|
||||
|
||||
@@ -2,21 +2,18 @@
|
||||
#include "viewertrainees.h"
|
||||
#include "ui_viewertrainees.h"
|
||||
|
||||
ViewerTrainees::ViewerTrainees(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent) :
|
||||
TraineesView(db, CommonView::TypeView::onlyView, adminMode, parent),
|
||||
ViewerTrainees::ViewerTrainees(InterfaceDataBaseLMS* db, QWidget *parent) :
|
||||
TraineesView(db, CommonView::TypeView::onlyView, parent),
|
||||
ui(new Ui::ViewerTrainees)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
this->adminMode = adminMode;
|
||||
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged);
|
||||
|
||||
// Сделаем первоначальную инициализацию перевода для окна виджета
|
||||
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + QString(QStringLiteral("ru_RU")), QStringLiteral("."));
|
||||
qApp->installTranslator(&qtLanguageTranslator);
|
||||
ui->horizontalLayout_2->addWidget(treeWidget);
|
||||
|
||||
preparationTreeWidget(ui->treeWidget);
|
||||
preparationTreeWidget(/*ui->treeWidget*/);
|
||||
setNotLoggedInVisible(true);
|
||||
loadTraineesFromDB();
|
||||
}
|
||||
|
||||
ViewerTrainees::~ViewerTrainees()
|
||||
@@ -24,12 +21,7 @@ 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)
|
||||
@@ -37,20 +29,20 @@ void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column
|
||||
QString login = item->text(ColumnsTreeTrainees::clmn_Login);
|
||||
Q_EMIT signal_traineeSelected(login);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
void ViewerTrainees::slot_tabMessengerChanged(QString login)
|
||||
{
|
||||
for (int i = 0; i < ui->treeWidget->topLevelItemCount(); i++)
|
||||
for (int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
{//Проход по группам
|
||||
int countChild = ui->treeWidget->topLevelItem(i)->childCount();
|
||||
int countChild = treeWidget->topLevelItem(i)->childCount();
|
||||
|
||||
for (int j = 0; j < countChild; j++)
|
||||
{//Проход по обучаемым
|
||||
QString loginChild = ui->treeWidget->topLevelItem(i)->child(j)->text(ColumnsTreeTrainees::clmn_Login);
|
||||
QString loginChild = treeWidget->topLevelItem(i)->child(j)->text(ColumnsTreeTrainees::clmn_Login);
|
||||
if(loginChild == login)
|
||||
{
|
||||
ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(i)->child(j));
|
||||
treeWidget->setCurrentItem(treeWidget->topLevelItem(i)->child(j));
|
||||
Q_EMIT signal_traineeSelected(login);
|
||||
return;
|
||||
}
|
||||
@@ -62,22 +54,19 @@ void ViewerTrainees::changeEvent(QEvent *event)
|
||||
{
|
||||
// В случае получения события изменения языка приложения
|
||||
if (event->type() == QEvent::LanguageChange)
|
||||
{
|
||||
ui->retranslateUi(this); // переведём окно заново
|
||||
{// переведём окно заново
|
||||
ui->retranslateUi(this);
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
loadTraineesFromDB();
|
||||
//loadTraineesFromDB();
|
||||
slot_NeedUpdateUI(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewerTrainees::slot_LanguageChanged(QString language)
|
||||
{
|
||||
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + language, QStringLiteral("."));
|
||||
qApp->installTranslator(&qtLanguageTranslator);
|
||||
}
|
||||
|
||||
void ViewerTrainees::on_btnEditorTrainees_clicked()
|
||||
{
|
||||
Q_EMIT signal_BlockAutorization(true);
|
||||
|
||||
EditorTrainees editorTraineesGroups(dbLMS, adminMode);
|
||||
QDialog* dialog = new QDialog(this);
|
||||
QHBoxLayout *layout = new QHBoxLayout(dialog);
|
||||
@@ -87,4 +76,30 @@ void ViewerTrainees::on_btnEditorTrainees_clicked()
|
||||
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);
|
||||
Q_EMIT signal_traineeSelected(login);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewerTrainees::updateButtons()
|
||||
{
|
||||
if(authComplited)
|
||||
{
|
||||
ui->btnEditorTrainees->setEnabled(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->btnEditorTrainees->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
#ifndef TRAINEESWIDGET_H
|
||||
#define TRAINEESWIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QObject>
|
||||
#include <QEvent>
|
||||
#include "instructorsAndTrainees_global.h"
|
||||
#include "interfacedatabaselms.h"
|
||||
#include "traineesview.h"
|
||||
|
||||
namespace Ui {
|
||||
@@ -19,24 +14,20 @@ class ViewerTrainees : public TraineesView
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ViewerTrainees(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent = nullptr);
|
||||
explicit ViewerTrainees(InterfaceDataBaseLMS* db, QWidget *parent = nullptr);
|
||||
~ViewerTrainees();
|
||||
|
||||
protected:
|
||||
// Метод получения событий
|
||||
// В нём будет производиться проверка события смены перевода приложения
|
||||
void changeEvent(QEvent * event) override;
|
||||
|
||||
public Q_SLOTS:
|
||||
void slot_LanguageChanged(QString language);
|
||||
|
||||
public:
|
||||
void setFilterTraineeLoggedIn( bool enabled );
|
||||
Q_SIGNALS:
|
||||
//сигнал о блокировке авторизации
|
||||
void signal_BlockAutorization(bool block);
|
||||
|
||||
private Q_SLOTS:
|
||||
void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column);
|
||||
|
||||
//void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column);
|
||||
void on_btnEditorTrainees_clicked();
|
||||
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
|
||||
public Q_SLOTS:
|
||||
//слот обработки сигнала об изменении вкладки диалога в мессенджере
|
||||
@@ -46,6 +37,9 @@ Q_SIGNALS:
|
||||
//сигнал о выборе обучаемого
|
||||
void signal_traineeSelected(QString login);
|
||||
|
||||
private:
|
||||
void updateButtons() override;
|
||||
|
||||
private:
|
||||
Ui::ViewerTrainees *ui;
|
||||
};
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Tahoma</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -38,6 +39,9 @@
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnEditorTrainees">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>130</width>
|
||||
@@ -77,30 +81,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTreeWidget" name="treeWidget">
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Tahoma</family>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="columnCount">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string notr="true">1</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
Reference in New Issue
Block a user