mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Оптимизировал CommonView
This commit is contained in:
@@ -18,7 +18,7 @@ DialogRedactorInstructors::DialogRedactorInstructors(ConnectorToServer* connecto
|
||||
layout->addWidget(editorInstructors);
|
||||
this->setWindowTitle(tr("Editor of instructors"));
|
||||
this->setMinimumSize(1400, 700);
|
||||
this->setWindowState(Qt::WindowMaximized);
|
||||
//this->setWindowState(Qt::WindowMaximized);
|
||||
this->setModal(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран Инструктор
|
||||
|
||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||
|
||||
if(connectorToServer->isAdminInstructor(id))
|
||||
{//Это Админ!
|
||||
@@ -145,7 +145,7 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран Инструктор
|
||||
|
||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||
|
||||
Instructor instructor = connectorToServer->getInstructor(id);
|
||||
if(instructor.getID() == 0)
|
||||
@@ -194,7 +194,7 @@ void EditorInstructors::on_btnEdit_clicked()
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран Инструктор
|
||||
|
||||
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||
|
||||
if(connectorToServer->isLoggedInInstructor(id))
|
||||
{//Инструктор залогирован!
|
||||
@@ -252,7 +252,7 @@ void EditorInstructors::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current
|
||||
if(treeItemParent == nullptr)
|
||||
{//Выбран инструктор
|
||||
|
||||
int id = current->text(ColumnsTreeInsructors::clmn_ID).toInt();
|
||||
int id = current->text(ColumnsTreeUsers::clmn_ID).toInt();
|
||||
|
||||
lastCurrentID = id;
|
||||
|
||||
|
||||
@@ -1,51 +1,14 @@
|
||||
#include <QHeaderView>
|
||||
#include <QTranslator>
|
||||
#include <QResizeEvent>
|
||||
#include <QScrollBar>
|
||||
#include "instructorsview.h"
|
||||
|
||||
InstructorsView::InstructorsView(ConnectorToServer* connectorToServer, TypeView type, QWidget *parent):
|
||||
CommonView(connectorToServer, type, parent)
|
||||
{
|
||||
typeObject = TypeObject::objInstructor;
|
||||
}
|
||||
|
||||
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);
|
||||
TypeUserDB = User::TypeUserDBInstructor;
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
mtxTreeWidget.lock();
|
||||
@@ -116,46 +38,46 @@ void InstructorsView::loadInstructorsFromDB()
|
||||
{
|
||||
QTreeWidgetItem *ItemInstructor = new QTreeWidgetItem(treeWidget);
|
||||
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_ID, QString::number(instructor.getID()));
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Instructor, instructor.getName());
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Login, instructor.getLogin());
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, instructor.getPassword());
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_ID, QString::number(instructor.getID()));
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Name, instructor.getName());
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Login, instructor.getLogin());
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Password, instructor.getPassword());
|
||||
|
||||
//Сокрытие пароля
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, QStringLiteral("******"));
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Password, QStringLiteral("******"));
|
||||
|
||||
if(instructor.getArchived())
|
||||
{//Архивный
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Archived, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/resources/icons/archive.png")));
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Archived, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/archive.png")));
|
||||
setItemColorArchive(ItemInstructor);
|
||||
}
|
||||
else
|
||||
{//Не Архивный
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Archived, tr("no"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/resources/icons/instructor.png")));
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Archived, tr("no"));
|
||||
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/instructor.png")));
|
||||
setItemColorNoArchive(ItemInstructor);
|
||||
}
|
||||
|
||||
if(instructor.getIsAdmin())
|
||||
{//Админ
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Administrator, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Instructor, QIcon(QStringLiteral(":/resources/icons/admin.png")));
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Administrator, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Name, QIcon(QStringLiteral(":/resources/icons/admin.png")));
|
||||
}
|
||||
else
|
||||
{//Не Админ
|
||||
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Administrator, tr("no"));
|
||||
ItemInstructor->setText(ColumnsTreeUsers::clmn_Administrator, tr("no"));
|
||||
}
|
||||
|
||||
if(instructor.getLoggedIn())
|
||||
{//Залогинен
|
||||
//ItemInstructor->setText(ColumnsTreeInsructors::clmn_Logged, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||
//ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("yes"));
|
||||
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||
}
|
||||
else
|
||||
{//Не Залогинен
|
||||
//ItemInstructor->setText(ColumnsTreeInsructors::clmn_Logged, tr("no"));
|
||||
ItemInstructor->setIcon(ColumnsTreeInsructors::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||
//ItemInstructor->setText(ColumnsTreeUsers::clmn_Logged, tr("no"));
|
||||
ItemInstructor->setIcon(ColumnsTreeUsers::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||
}
|
||||
|
||||
//Скрываем архивных (при необходимости)
|
||||
@@ -181,26 +103,20 @@ void InstructorsView::loadInstructorsFromDB()
|
||||
|
||||
setCurrentInstructor(lastCurrentID);
|
||||
|
||||
treeWidget->sortItems(ColumnsTreeInsructors::clmn_Instructor, Qt::SortOrder::AscendingOrder);
|
||||
treeWidget->sortItems(ColumnsTreeUsers::clmn_Name, Qt::SortOrder::AscendingOrder);
|
||||
|
||||
mtxTreeWidget.unlock();
|
||||
|
||||
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)
|
||||
{
|
||||
for(int i = 0; i < treeWidget->topLevelItemCount(); i++)
|
||||
{
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(i);
|
||||
if(item != nullptr)
|
||||
if(item->text(ColumnsTreeInsructors::clmn_ID).toInt() == id)
|
||||
if(item->text(ColumnsTreeUsers::clmn_ID).toInt() == id)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
return;
|
||||
|
||||
@@ -13,32 +13,13 @@ class InstructorsView: public CommonView
|
||||
public:
|
||||
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:
|
||||
//Слот обработки сигнала необходимости обновления интерфейса
|
||||
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
|
||||
|
||||
protected:
|
||||
virtual void updateButtons(){};
|
||||
void preparationTreeWidget();
|
||||
void loadInstructorsFromDB();
|
||||
|
||||
void reSetHeadTreeWidget();
|
||||
|
||||
void setCurrentInstructor(int id);
|
||||
};
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ void ViewerInstructors::on_treeWidgetItemClicked(QTreeWidgetItem *item, int colu
|
||||
|
||||
//if(current->childCount() == 0)
|
||||
{//Выбран обучаемый
|
||||
QString login = item->text(ColumnsTreeInsructors::clmn_Login);
|
||||
QString login = item->text(ColumnsTreeUsers::clmn_Login);
|
||||
//if(login != "")
|
||||
{
|
||||
int newCurrentID = connectorToServer->getIdInstructorByLogin(login);
|
||||
|
||||
Reference in New Issue
Block a user