mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Merge branch 'work21' into DEV
This commit is contained in:
@@ -1,12 +1,15 @@
|
|||||||
#include "commonview.h"
|
#include "commonview.h"
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QScrollBar>
|
||||||
|
#include <QResizeEvent>
|
||||||
|
|
||||||
|
|
||||||
CommonView::CommonView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent):
|
CommonView::CommonView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent):
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
connectorToServer(connectorToServer),
|
connectorToServer(connectorToServer),
|
||||||
treeWidget(nullptr),
|
treeWidget(nullptr),
|
||||||
|
TypeUserDB(User::TypeUserDBInstructor),
|
||||||
typeView(type),
|
typeView(type),
|
||||||
archiveVisible(false),
|
archiveVisible(false),
|
||||||
notLoggedInVisible(true),
|
notLoggedInVisible(true),
|
||||||
@@ -48,3 +51,115 @@ void CommonView::setItemColor(QTreeWidgetItem *item, QColor color)
|
|||||||
for (int i = 0; i < item->columnCount(); i++)
|
for (int i = 0; i < item->columnCount(); i++)
|
||||||
item->setBackground(i, color);
|
item->setBackground(i, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CommonView::calculateWidth_0Column()
|
||||||
|
{
|
||||||
|
int widthHeader = treeWidget->width() - 10;
|
||||||
|
int width0Column = 0;
|
||||||
|
int widthSB = 0;
|
||||||
|
if(treeWidget->verticalScrollBar()->isVisible())
|
||||||
|
widthSB = treeWidget->verticalScrollBar()->size().width();
|
||||||
|
int cntColumns = treeWidget->columnCount();
|
||||||
|
int widthRightColumns = 0;
|
||||||
|
for (int i = 1; i < cntColumns; i++)
|
||||||
|
{
|
||||||
|
if(! treeWidget->isColumnHidden(i))
|
||||||
|
{//Колонка не скрыта
|
||||||
|
int w = listWidthColumn.at(i);
|
||||||
|
widthRightColumns += w;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
width0Column = widthHeader - widthRightColumns - widthSB;
|
||||||
|
|
||||||
|
return width0Column;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CommonView::setWidthColumnsTree()
|
||||||
|
{
|
||||||
|
listWidthColumn.clear();
|
||||||
|
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Login, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Password, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Class, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Computer, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_IP_address, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Administrator, 140);
|
||||||
|
listWidthColumn.append(140);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Archived, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Logged, 120);
|
||||||
|
listWidthColumn.append(120);
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_ID, 100);
|
||||||
|
listWidthColumn.append(100);
|
||||||
|
|
||||||
|
treeWidget->setColumnWidth(ColumnsTreeUsers::clmn_Name, calculateWidth_0Column());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CommonView::reSetHeadTreeWidget()
|
||||||
|
{
|
||||||
|
QStringList listHeaders = {tr("Name"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Administrator"), tr("Archived"), tr("Logged"), tr("ID")};
|
||||||
|
treeWidget->setHeaderLabels(listHeaders);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CommonView::preparationTreeWidget()
|
||||||
|
{
|
||||||
|
mtxTreeWidget.lock();
|
||||||
|
|
||||||
|
treeWidget->setColumnCount(clmn_count);
|
||||||
|
|
||||||
|
reSetHeadTreeWidget();
|
||||||
|
|
||||||
|
if(typeView == TypeView::onlyView)
|
||||||
|
{//onlyView
|
||||||
|
archiveVisible = false;
|
||||||
|
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Password, true);
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Archived, true);
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{//control
|
||||||
|
archiveVisible = true;
|
||||||
|
|
||||||
|
if(adminMode)
|
||||||
|
{
|
||||||
|
#ifdef PROJECT_TYPE_DEBUG
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, false);
|
||||||
|
#else
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_ID, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Class, true);
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Computer, true);
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_IP_address, true);
|
||||||
|
if(TypeUserDB == User::TypeUserDBTrainee)
|
||||||
|
treeWidget->setColumnHidden(ColumnsTreeUsers::clmn_Administrator, true);
|
||||||
|
|
||||||
|
treeWidget->setSortingEnabled(true);
|
||||||
|
treeWidget->sortItems(ColumnsTreeUsers::clmn_Name, Qt::SortOrder::AscendingOrder);
|
||||||
|
|
||||||
|
mtxTreeWidget.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CommonView::resizeEvent(QResizeEvent *event)
|
||||||
|
{
|
||||||
|
setWidthColumnsTree();
|
||||||
|
|
||||||
|
QSize size = event->size();
|
||||||
|
waitAnimationWidget->resize(size);
|
||||||
|
}
|
||||||
|
|||||||
@@ -27,10 +27,27 @@ public:
|
|||||||
objGroup
|
objGroup
|
||||||
};
|
};
|
||||||
|
|
||||||
|
protected:
|
||||||
|
enum ColumnsTreeUsers{
|
||||||
|
clmn_Name = 0,
|
||||||
|
clmn_Login,
|
||||||
|
clmn_Password,
|
||||||
|
clmn_Class,
|
||||||
|
clmn_Computer,
|
||||||
|
clmn_IP_address,
|
||||||
|
clmn_Administrator,
|
||||||
|
clmn_Archived,
|
||||||
|
clmn_Logged,
|
||||||
|
clmn_ID,
|
||||||
|
clmn_count
|
||||||
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CommonView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent = nullptr);
|
CommonView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent = nullptr);
|
||||||
~CommonView();
|
~CommonView();
|
||||||
|
|
||||||
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void setAdminMode(bool adminMode)
|
void setAdminMode(bool adminMode)
|
||||||
{
|
{
|
||||||
@@ -67,9 +84,20 @@ protected:
|
|||||||
|
|
||||||
void setItemColor(QTreeWidgetItem* item, QColor color);
|
void setItemColor(QTreeWidgetItem* item, QColor color);
|
||||||
|
|
||||||
|
void preparationTreeWidget();
|
||||||
|
|
||||||
|
private:
|
||||||
|
int calculateWidth_0Column();
|
||||||
|
void setWidthColumnsTree();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void reSetHeadTreeWidget();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ConnectorToServer* connectorToServer;
|
ConnectorToServer* connectorToServer;
|
||||||
QTreeWidget* treeWidget;
|
QTreeWidget* treeWidget;
|
||||||
|
QList<int> listWidthColumn;
|
||||||
|
QString TypeUserDB;
|
||||||
QMutex mtxTreeWidget;
|
QMutex mtxTreeWidget;
|
||||||
TypeView typeView;
|
TypeView typeView;
|
||||||
bool archiveVisible;
|
bool archiveVisible;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ DialogRedactorInstructors::DialogRedactorInstructors(ConnectorToServer* connecto
|
|||||||
layout->addWidget(editorInstructors);
|
layout->addWidget(editorInstructors);
|
||||||
this->setWindowTitle(tr("Editor of instructors"));
|
this->setWindowTitle(tr("Editor of instructors"));
|
||||||
this->setMinimumSize(1400, 700);
|
this->setMinimumSize(1400, 700);
|
||||||
this->setWindowState(Qt::WindowMaximized);
|
//this->setWindowState(Qt::WindowMaximized);
|
||||||
this->setModal(true);
|
this->setModal(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
|
|||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбран Инструктор
|
{//Выбран Инструктор
|
||||||
|
|
||||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
if(connectorToServer->isAdminInstructor(id))
|
if(connectorToServer->isAdminInstructor(id))
|
||||||
{//Это Админ!
|
{//Это Админ!
|
||||||
@@ -145,7 +145,7 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
|
|||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбран Инструктор
|
{//Выбран Инструктор
|
||||||
|
|
||||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
Instructor instructor = connectorToServer->getInstructor(id);
|
Instructor instructor = connectorToServer->getInstructor(id);
|
||||||
if(instructor.getID() == 0)
|
if(instructor.getID() == 0)
|
||||||
@@ -194,7 +194,7 @@ void EditorInstructors::on_btnEdit_clicked()
|
|||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбран Инструктор
|
{//Выбран Инструктор
|
||||||
|
|
||||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
if(connectorToServer->isLoggedInInstructor(id))
|
if(connectorToServer->isLoggedInInstructor(id))
|
||||||
{//Инструктор залогирован!
|
{//Инструктор залогирован!
|
||||||
@@ -252,7 +252,7 @@ void EditorInstructors::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current
|
|||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбран инструктор
|
{//Выбран инструктор
|
||||||
|
|
||||||
int id = current->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
int id = current->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
lastCurrentID = id;
|
lastCurrentID = id;
|
||||||
|
|
||||||
|
|||||||
@@ -1,51 +1,14 @@
|
|||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QResizeEvent>
|
#include <QResizeEvent>
|
||||||
|
#include <QScrollBar>
|
||||||
#include "instructorsview.h"
|
#include "instructorsview.h"
|
||||||
|
|
||||||
InstructorsView::InstructorsView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent):
|
InstructorsView::InstructorsView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent):
|
||||||
CommonView(connectorToServer, type, parent)
|
CommonView(connectorToServer, type, parent)
|
||||||
{
|
{
|
||||||
typeObject = TypeObject::objInstructor;
|
typeObject = TypeObject::objInstructor;
|
||||||
}
|
TypeUserDB = User::TypeUserDBInstructor;
|
||||||
|
|
||||||
void InstructorsView::resizeEvent(QResizeEvent *event)
|
|
||||||
{
|
|
||||||
int width = treeWidget->width();
|
|
||||||
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_ID, 50);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Login, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Password, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Administrator, 140);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Archived, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Logged, 120);
|
|
||||||
|
|
||||||
int widthInstructor;
|
|
||||||
|
|
||||||
if(typeView == TypeView::onlyView)
|
|
||||||
{//onlyView
|
|
||||||
widthInstructor = width - (220 + 10 + 20);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{//control
|
|
||||||
if(adminMode)
|
|
||||||
{
|
|
||||||
#ifdef PROJECT_TYPE_DEBUG
|
|
||||||
widthInstructor = width - (610 + 10 + 20);
|
|
||||||
#else
|
|
||||||
widthInstructor = width - (560 + 10 + 20);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
widthInstructor = width - (480 + 10 + 20);
|
|
||||||
}
|
|
||||||
if(widthInstructor < 250)
|
|
||||||
widthInstructor = 250;
|
|
||||||
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Instructor, widthInstructor);
|
|
||||||
|
|
||||||
QSize size = event->size();
|
|
||||||
waitAnimationWidget->resize(size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstructorsView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
void InstructorsView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
||||||
@@ -59,47 +22,6 @@ void InstructorsView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstructorsView::preparationTreeWidget()
|
|
||||||
{
|
|
||||||
mtxTreeWidget.lock();
|
|
||||||
|
|
||||||
treeWidget->setColumnCount(clmn_count);
|
|
||||||
|
|
||||||
reSetHeadTreeWidget();
|
|
||||||
|
|
||||||
if(typeView == TypeView::onlyView)
|
|
||||||
{//onlyView
|
|
||||||
archiveVisible = false;
|
|
||||||
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Password, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Archived, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Administrator, true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{//control
|
|
||||||
archiveVisible = true;
|
|
||||||
|
|
||||||
if(adminMode)
|
|
||||||
{
|
|
||||||
#ifdef PROJECT_TYPE_DEBUG
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, false);
|
|
||||||
#else
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, true);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
treeWidget->setSortingEnabled(true);
|
|
||||||
treeWidget->sortItems(ColumnsTreeInsructors::clmn_Instructor, Qt::SortOrder::AscendingOrder);
|
|
||||||
|
|
||||||
mtxTreeWidget.unlock();
|
|
||||||
}
|
|
||||||
|
|
||||||
void InstructorsView::loadInstructorsFromDB()
|
void InstructorsView::loadInstructorsFromDB()
|
||||||
{
|
{
|
||||||
mtxTreeWidget.lock();
|
mtxTreeWidget.lock();
|
||||||
@@ -116,46 +38,46 @@ void InstructorsView::loadInstructorsFromDB()
|
|||||||
{
|
{
|
||||||
QTreeWidgetItem *ItemInstructor = new QTreeWidgetItem(treeWidget);
|
QTreeWidgetItem *ItemInstructor = new QTreeWidgetItem(treeWidget);
|
||||||
|
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_ID, QString::number(instructor.getID()));
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_ID, QString::number(instructor.getID()));
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Instructor, instructor.getName());
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Name, instructor.getName());
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Login, instructor.getLogin());
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Login, instructor.getLogin());
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, instructor.getPassword());
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Password, instructor.getPassword());
|
||||||
|
|
||||||
//Сокрытие пароля
|
//Сокрытие пароля
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, QStringLiteral("******"));
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Password, QStringLiteral("******"));
|
||||||
|
|
||||||
if(instructor.getArchived())
|
if(instructor.getArchived())
|
||||||
{//Архивный
|
{//Архивный
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Archived, tr("yes"));
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Archived, tr("yes"));
|
||||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/resources/icons/archive.png")));
|
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/archive.png")));
|
||||||
setItemColorArchive(ItemInstructor);
|
setItemColorArchive(ItemInstructor);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//Не Архивный
|
{//Не Архивный
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Archived, tr("no"));
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Archived, tr("no"));
|
||||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/resources/icons/instructor.png")));
|
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/instructor.png")));
|
||||||
setItemColorNoArchive(ItemInstructor);
|
setItemColorNoArchive(ItemInstructor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(instructor.getIsAdmin())
|
if(instructor.getIsAdmin())
|
||||||
{//Админ
|
{//Админ
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Administrator, tr("yes"));
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Administrator, tr("yes"));
|
||||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/resources/icons/admin.png")));
|
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/admin.png")));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//Не Админ
|
{//Не Админ
|
||||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Administrator, tr("no"));
|
ItemInstructor->setText(ColumnsTreeUsers::clmn_Administrator, tr("no"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(instructor.getLoggedIn())
|
if(instructor.getLoggedIn())
|
||||||
{//Залогинен
|
{//Залогинен
|
||||||
//ItemInstructor->setText(ColumnsTreeInsructors::clmn_Logged, tr("yes"));
|
//ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("yes"));
|
||||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGreen.png")));
|
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//Не Залогинен
|
{//Не Залогинен
|
||||||
//ItemInstructor->setText(ColumnsTreeInsructors::clmn_Logged, tr("no"));
|
//ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("no"));
|
||||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Скрываем архивных (при необходимости)
|
//Скрываем архивных (при необходимости)
|
||||||
@@ -181,26 +103,20 @@ void InstructorsView::loadInstructorsFromDB()
|
|||||||
|
|
||||||
setCurrentInstructor(lastCurrentID);
|
setCurrentInstructor(lastCurrentID);
|
||||||
|
|
||||||
treeWidget->sortItems(ColumnsTreeInsructors::clmn_Instructor, Qt::SortOrder::AscendingOrder);
|
treeWidget->sortItems(ColumnsTreeUsers::clmn_Name, Qt::SortOrder::AscendingOrder);
|
||||||
|
|
||||||
mtxTreeWidget.unlock();
|
mtxTreeWidget.unlock();
|
||||||
|
|
||||||
waitAnimationWidget->hideWithStop();
|
waitAnimationWidget->hideWithStop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstructorsView::reSetHeadTreeWidget()
|
|
||||||
{
|
|
||||||
QStringList listHeaders = {tr("Instructor"), tr("Login"), tr("Password"), tr("Administrator"), tr("Archived"), tr("Logged"), tr("ID")};
|
|
||||||
treeWidget->setHeaderLabels(listHeaders);
|
|
||||||
}
|
|
||||||
|
|
||||||
void InstructorsView::setCurrentInstructor(int id)
|
void InstructorsView::setCurrentInstructor(int id)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||||
{
|
{
|
||||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||||
if(item != nullptr)
|
if(item != nullptr)
|
||||||
if(item->text(ColumnsTreeInsructors::clmn_ID).toInt() == id)
|
if(item->text(ColumnsTreeUsers::clmn_ID).toInt() == id)
|
||||||
{
|
{
|
||||||
treeWidget->setCurrentItem(item);
|
treeWidget->setCurrentItem(item);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -13,32 +13,13 @@ class InstructorsView: public CommonView
|
|||||||
public:
|
public:
|
||||||
InstructorsView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent = nullptr);
|
InstructorsView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent = nullptr);
|
||||||
|
|
||||||
protected:
|
|
||||||
enum ColumnsTreeInsructors{
|
|
||||||
clmn_Instructor = 0,
|
|
||||||
clmn_Login,
|
|
||||||
clmn_Password,
|
|
||||||
clmn_Administrator,
|
|
||||||
clmn_Archived,
|
|
||||||
clmn_Logged,
|
|
||||||
clmn_ID,
|
|
||||||
clmn_count
|
|
||||||
};
|
|
||||||
|
|
||||||
public:
|
|
||||||
void resizeEvent(QResizeEvent *event) override;
|
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
//Слот обработки сигнала необходимости обновления интерфейса
|
//Слот обработки сигнала необходимости обновления интерфейса
|
||||||
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void updateButtons(){};
|
virtual void updateButtons(){};
|
||||||
void preparationTreeWidget();
|
|
||||||
void loadInstructorsFromDB();
|
void loadInstructorsFromDB();
|
||||||
|
|
||||||
void reSetHeadTreeWidget();
|
|
||||||
|
|
||||||
void setCurrentInstructor(int id);
|
void setCurrentInstructor(int id);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ void ViewerInstructors::on_treeWidgetItemClicked(QTreeWidgetItem *item, int colu
|
|||||||
|
|
||||||
//if(current->childCount() == 0)
|
//if(current->childCount() == 0)
|
||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
QString login = item->text(ColumnsTreeInsructors::clmn_Login);
|
QString login = item->text(ColumnsTreeUsers::clmn_Login);
|
||||||
//if(login != "")
|
//if(login != "")
|
||||||
{
|
{
|
||||||
int newCurrentID = connectorToServer->getIdInstructorByLogin(login);
|
int newCurrentID = connectorToServer->getIdInstructorByLogin(login);
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ DialogRedactorTrainees::DialogRedactorTrainees(ConnectorToServer* connectorToSer
|
|||||||
layout->addWidget(editorTraineesGroups);
|
layout->addWidget(editorTraineesGroups);
|
||||||
this->setWindowTitle(tr("Editor of trainees"));
|
this->setWindowTitle(tr("Editor of trainees"));
|
||||||
this->setMinimumSize(1400, 700);
|
this->setMinimumSize(1400, 700);
|
||||||
this->setWindowState(Qt::WindowMaximized);
|
//this->setWindowState(Qt::WindowMaximized);
|
||||||
this->setModal(true);
|
this->setModal(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
|
|||||||
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
|
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
|
||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбрана группа
|
{//Выбрана группа
|
||||||
int id_group = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_group = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
if(connectorToServer->getListTraineesInGroup(id_group).count() > 0)
|
if(connectorToServer->getListTraineesInGroup(id_group).count() > 0)
|
||||||
{
|
{
|
||||||
@@ -143,7 +143,7 @@ void EditorTrainees::on_btnNewTrainee_clicked()
|
|||||||
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
|
QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
|
||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбрана группа. Можно добавить Обучаемого
|
{//Выбрана группа. Можно добавить Обучаемого
|
||||||
int id_group = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_group = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
Trainee trainee;
|
Trainee trainee;
|
||||||
Trainee trainee_edit;
|
Trainee trainee_edit;
|
||||||
@@ -219,8 +219,8 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
|
|||||||
if(treeItemParent != nullptr)
|
if(treeItemParent != nullptr)
|
||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
|
|
||||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_trainee = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
int id_group = treeItemParent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_group = treeItemParent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
if(connectorToServer->isLoggedInTrainee(id_trainee))
|
if(connectorToServer->isLoggedInTrainee(id_trainee))
|
||||||
{//Обучаемый залогирован!
|
{//Обучаемый залогирован!
|
||||||
@@ -247,7 +247,7 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
|
|||||||
if(treeItemParent != nullptr)
|
if(treeItemParent != nullptr)
|
||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
|
|
||||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_trainee = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
Trainee trainee = connectorToServer->getTrainee(id_trainee);
|
Trainee trainee = connectorToServer->getTrainee(id_trainee);
|
||||||
if(trainee.getID() == 0)
|
if(trainee.getID() == 0)
|
||||||
@@ -288,7 +288,7 @@ void EditorTrainees::on_btnEdit_clicked()
|
|||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбрана группа
|
{//Выбрана группа
|
||||||
|
|
||||||
int id_group = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_group = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
Group group = connectorToServer->getGroup(id_group);
|
Group group = connectorToServer->getGroup(id_group);
|
||||||
if(group.getID() == 0)
|
if(group.getID() == 0)
|
||||||
@@ -305,7 +305,7 @@ void EditorTrainees::on_btnEdit_clicked()
|
|||||||
else
|
else
|
||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
|
|
||||||
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_trainee = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
if(connectorToServer->isLoggedInTrainee(id_trainee))
|
if(connectorToServer->isLoggedInTrainee(id_trainee))
|
||||||
{//Обучаемый залогирован!
|
{//Обучаемый залогирован!
|
||||||
@@ -388,7 +388,7 @@ void EditorTrainees::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, Q
|
|||||||
QTreeWidgetItem *treeItemParent = current->parent();
|
QTreeWidgetItem *treeItemParent = current->parent();
|
||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбрана группа
|
{//Выбрана группа
|
||||||
int id_group = current->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_group = current->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
lastCurrentID = id_group;
|
lastCurrentID = id_group;
|
||||||
typeObject = TypeObject::objGroup;
|
typeObject = TypeObject::objGroup;
|
||||||
@@ -423,7 +423,7 @@ void EditorTrainees::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current, Q
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
int id_trainee = current->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_trainee = current->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
lastCurrentID = id_trainee;
|
lastCurrentID = id_trainee;
|
||||||
typeObject = TypeObject::objTrainee;
|
typeObject = TypeObject::objTrainee;
|
||||||
|
|||||||
@@ -6,47 +6,7 @@ TraineesView::TraineesView(ConnectorToServer* connectorToServer, TypeView type,
|
|||||||
CommonView(connectorToServer, type, parent)
|
CommonView(connectorToServer, type, parent)
|
||||||
{
|
{
|
||||||
typeObject = TypeObject::objTrainee;
|
typeObject = TypeObject::objTrainee;
|
||||||
}
|
TypeUserDB = User::TypeUserDBTrainee;
|
||||||
|
|
||||||
void TraineesView::resizeEvent(QResizeEvent *event)
|
|
||||||
{
|
|
||||||
int width = treeWidget->width();
|
|
||||||
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 50);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Login, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Password, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 100);
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 120);
|
|
||||||
|
|
||||||
int widthTrainee;
|
|
||||||
|
|
||||||
if(typeView == TypeView::onlyView)
|
|
||||||
{//onlyView
|
|
||||||
widthTrainee = width - (220 + 10 + 20);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{//control
|
|
||||||
if(adminMode)
|
|
||||||
{
|
|
||||||
#ifdef PROJECT_TYPE_DEBUG
|
|
||||||
widthTrainee = width - (470 + 10 + 20);
|
|
||||||
#else
|
|
||||||
widthTrainee = width - (420 + 10 + 20);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
widthTrainee = width - (440 + 10 + 20);
|
|
||||||
}
|
|
||||||
if(widthTrainee < 250)
|
|
||||||
widthTrainee = 250;
|
|
||||||
|
|
||||||
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, widthTrainee);
|
|
||||||
|
|
||||||
QSize size = event->size();
|
|
||||||
waitAnimationWidget->resize(size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
||||||
@@ -60,54 +20,6 @@ void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TraineesView::preparationTreeWidget()
|
|
||||||
{
|
|
||||||
mtxTreeWidget.lock();
|
|
||||||
|
|
||||||
treeWidget->setColumnCount(clmn_count);
|
|
||||||
|
|
||||||
reSetHeadTreeWidget();
|
|
||||||
|
|
||||||
if(typeView == TypeView::onlyView)
|
|
||||||
{//onlyView
|
|
||||||
archiveVisible = false;
|
|
||||||
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
|
|
||||||
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Class, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Computer, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_IP_address, true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{//control
|
|
||||||
archiveVisible = true;
|
|
||||||
|
|
||||||
if(adminMode)
|
|
||||||
{
|
|
||||||
#ifdef PROJECT_TYPE_DEBUG
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, false);
|
|
||||||
#else
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Class, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Computer, true);
|
|
||||||
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_IP_address, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
treeWidget->setSortingEnabled(true);
|
|
||||||
treeWidget->sortItems(ColumnsTreeTrainees::clmn_Trainee, Qt::SortOrder::AscendingOrder);
|
|
||||||
|
|
||||||
mtxTreeWidget.unlock();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TraineesView::loadTraineesFromDB()
|
void TraineesView::loadTraineesFromDB()
|
||||||
{
|
{
|
||||||
mtxTreeWidget.lock();
|
mtxTreeWidget.lock();
|
||||||
@@ -127,9 +39,9 @@ void TraineesView::loadTraineesFromDB()
|
|||||||
//Группа
|
//Группа
|
||||||
int cntChildsNotArchived = 0;
|
int cntChildsNotArchived = 0;
|
||||||
QTreeWidgetItem *ItemGroup = new QTreeWidgetItem(treeWidget);
|
QTreeWidgetItem *ItemGroup = new QTreeWidgetItem(treeWidget);
|
||||||
ItemGroup->setText(ColumnsTreeTrainees::clmn_ID, QString::number(group.getID()));
|
ItemGroup->setText(ColumnsTreeUsers::clmn_ID, QString::number(group.getID()));
|
||||||
ItemGroup->setText(ColumnsTreeTrainees::clmn_Trainee, group.getName());
|
ItemGroup->setText(ColumnsTreeUsers::clmn_Name, group.getName());
|
||||||
ItemGroup->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/resources/icons/group.png")));
|
ItemGroup->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/group.png")));
|
||||||
setItemColor(ItemGroup, QColor(220, 220, 220));
|
setItemColor(ItemGroup, QColor(220, 220, 220));
|
||||||
|
|
||||||
//ItemGroup->set Property("greenButton", QVariant(true));
|
//ItemGroup->set Property("greenButton", QVariant(true));
|
||||||
@@ -143,40 +55,40 @@ void TraineesView::loadTraineesFromDB()
|
|||||||
|
|
||||||
QTreeWidgetItem *ItemTrainee = new QTreeWidgetItem();
|
QTreeWidgetItem *ItemTrainee = new QTreeWidgetItem();
|
||||||
|
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_ID, QString::number(trainee.getID()));
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_ID, QString::number(trainee.getID()));
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Trainee, trainee.getName());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Name, trainee.getName());
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Login, trainee.getLogin());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Login, trainee.getLogin());
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, trainee.getPassword());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Password, trainee.getPassword());
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Class, trainee.getComputer().getClassroom().getName());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Class, trainee.getComputer().getClassroom().getName());
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Computer, trainee.getComputer().getName());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Computer, trainee.getComputer().getName());
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_IP_address, trainee.getComputer().getIpAddress());
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_IP_address, trainee.getComputer().getIpAddress());
|
||||||
|
|
||||||
//Сокрытие пароля
|
//Сокрытие пароля
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, QStringLiteral("******"));
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Password, QStringLiteral("******"));
|
||||||
|
|
||||||
if(trainee.getArchived())
|
if(trainee.getArchived())
|
||||||
{//Архивный
|
{//Архивный
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Archived, tr("yes"));
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Archived, tr("yes"));
|
||||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/resources/icons/archive.png")));
|
ItemTrainee->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/archive.png")));
|
||||||
setItemColorArchive(ItemTrainee);
|
setItemColorArchive(ItemTrainee);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//Не Архивный
|
{//Не Архивный
|
||||||
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Archived, tr("no"));
|
ItemTrainee->setText(ColumnsTreeUsers::clmn_Archived, tr("no"));
|
||||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Trainee, QIcon(QStringLiteral(":/resources/icons/trainee.png")));
|
ItemTrainee->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/trainee.png")));
|
||||||
setItemColorNoArchive(ItemTrainee);
|
setItemColorNoArchive(ItemTrainee);
|
||||||
cntChildsNotArchived++;
|
cntChildsNotArchived++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(trainee.getLoggedIn())
|
if(trainee.getLoggedIn())
|
||||||
{//Залогинен
|
{//Залогинен
|
||||||
//ItemTrainee->setText(ColumnsTreeTrainees::clmn_Logged, tr("yes"));
|
//ItemTrainee->setText(ColumnsTreeUsers::clmn_Logged, tr("yes"));
|
||||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGreen.png")));
|
ItemTrainee->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//Не Залогинен
|
{//Не Залогинен
|
||||||
//ItemTrainee->setText(ColumnsTreeTrainees::clmn_Logged, tr("no"));
|
//ItemTrainee->setText(ColumnsTreeUsers::clmn_Logged, tr("no"));
|
||||||
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
ItemTrainee->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemGroup->addChild(ItemTrainee);
|
ItemGroup->addChild(ItemTrainee);
|
||||||
@@ -215,19 +127,13 @@ void TraineesView::loadTraineesFromDB()
|
|||||||
else
|
else
|
||||||
setCurrentTrainee(lastCurrentID);
|
setCurrentTrainee(lastCurrentID);
|
||||||
|
|
||||||
treeWidget->sortItems(ColumnsTreeTrainees::clmn_Trainee, Qt::SortOrder::AscendingOrder);
|
treeWidget->sortItems(ColumnsTreeUsers::clmn_Name, Qt::SortOrder::AscendingOrder);
|
||||||
|
|
||||||
mtxTreeWidget.unlock();
|
mtxTreeWidget.unlock();
|
||||||
|
|
||||||
waitAnimationWidget->hideWithStop();
|
waitAnimationWidget->hideWithStop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TraineesView::reSetHeadTreeWidget()
|
|
||||||
{
|
|
||||||
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("ID")};
|
|
||||||
treeWidget->setHeaderLabels(listHeaders);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TraineesView::setCurrentGroup(int id)
|
void TraineesView::setCurrentGroup(int id)
|
||||||
{
|
{
|
||||||
typeObject = TypeObject::objGroup;
|
typeObject = TypeObject::objGroup;
|
||||||
@@ -236,7 +142,7 @@ void TraineesView::setCurrentGroup(int id)
|
|||||||
{
|
{
|
||||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||||
if(item != nullptr)
|
if(item != nullptr)
|
||||||
if(item->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
if(item->text(ColumnsTreeUsers::clmn_ID).toInt() == id)
|
||||||
{
|
{
|
||||||
treeWidget->setCurrentItem(item);
|
treeWidget->setCurrentItem(item);
|
||||||
return;
|
return;
|
||||||
@@ -263,7 +169,7 @@ void TraineesView::setCurrentTrainee(int id)
|
|||||||
{
|
{
|
||||||
QTreeWidgetItem * itemChild = item->child(j);
|
QTreeWidgetItem * itemChild = item->child(j);
|
||||||
if(itemChild != nullptr)
|
if(itemChild != nullptr)
|
||||||
if(itemChild->text(ColumnsTreeTrainees::clmn_ID).toInt() == id)
|
if(itemChild->text(ColumnsTreeUsers::clmn_ID).toInt() == id)
|
||||||
{
|
{
|
||||||
treeWidget->setCurrentItem(itemChild);
|
treeWidget->setCurrentItem(itemChild);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -13,34 +13,13 @@ class TraineesView: public CommonView
|
|||||||
public:
|
public:
|
||||||
TraineesView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent = nullptr);
|
TraineesView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent = nullptr);
|
||||||
|
|
||||||
protected:
|
|
||||||
enum ColumnsTreeTrainees{
|
|
||||||
clmn_Trainee = 0,
|
|
||||||
clmn_Login,
|
|
||||||
clmn_Password,
|
|
||||||
clmn_Class,
|
|
||||||
clmn_Computer,
|
|
||||||
clmn_IP_address,
|
|
||||||
clmn_Archived,
|
|
||||||
clmn_Logged,
|
|
||||||
clmn_ID,
|
|
||||||
clmn_count
|
|
||||||
};
|
|
||||||
|
|
||||||
public:
|
|
||||||
void resizeEvent(QResizeEvent *event) override;
|
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
//Слот обработки сигнала необходимости обновления интерфейса
|
//Слот обработки сигнала необходимости обновления интерфейса
|
||||||
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void updateButtons(){};
|
virtual void updateButtons(){};
|
||||||
void preparationTreeWidget();
|
|
||||||
void loadTraineesFromDB();
|
void loadTraineesFromDB();
|
||||||
|
|
||||||
void reSetHeadTreeWidget();
|
|
||||||
|
|
||||||
void setCurrentGroup(int id);
|
void setCurrentGroup(int id);
|
||||||
void setCurrentTrainee(int id);
|
void setCurrentTrainee(int id);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ void ViewerTrainees::on_itemDoubleClicked(QTreeWidgetItem *item, int column)
|
|||||||
|
|
||||||
if(item->childCount() == 0)
|
if(item->childCount() == 0)
|
||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
QString login = item->text(ColumnsTreeTrainees::clmn_Login);
|
QString login = item->text(ColumnsTreeUsers::clmn_Login);
|
||||||
if(login != "")
|
if(login != "")
|
||||||
{
|
{
|
||||||
int id_trainee = connectorToServer->getIdTraineeByLogin(login);
|
int id_trainee = connectorToServer->getIdTraineeByLogin(login);
|
||||||
@@ -145,7 +145,7 @@ void ViewerTrainees::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
{//Выбран обучаемый
|
{//Выбран обучаемый
|
||||||
typeObject = TypeObject::objTrainee;
|
typeObject = TypeObject::objTrainee;
|
||||||
|
|
||||||
QString login = item->text(ColumnsTreeTrainees::clmn_Login);
|
QString login = item->text(ColumnsTreeUsers::clmn_Login);
|
||||||
//if(login != "")
|
//if(login != "")
|
||||||
{
|
{
|
||||||
int newCurrentID = connectorToServer->getIdTraineeByLogin(login);
|
int newCurrentID = connectorToServer->getIdTraineeByLogin(login);
|
||||||
@@ -162,7 +162,7 @@ void ViewerTrainees::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
{//Выбрана группа
|
{//Выбрана группа
|
||||||
typeObject = TypeObject::objGroup;
|
typeObject = TypeObject::objGroup;
|
||||||
|
|
||||||
int id_group = item->text(ColumnsTreeTrainees::clmn_ID).toInt();
|
int id_group = item->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||||
|
|
||||||
lastCurrentID = id_group;
|
lastCurrentID = id_group;
|
||||||
typeObject = TypeObject::objGroup;
|
typeObject = TypeObject::objGroup;
|
||||||
|
|||||||
Reference in New Issue
Block a user