#include #include #include "instructorsview.h" InstructorsView::InstructorsView(DataBaseInstructors* db, TypeView type, QWidget *parent): CommonView(type, parent), dbInstructors(db) { } void InstructorsView::preparationTreeWidget(QTreeWidget* tree) { treeWidget = tree; if(treeWidget == nullptr) return; treeWidget->setColumnCount(6); reSetHeadTreeWidget(); treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;")); treeWidget->setColumnWidth(0, 250); treeWidget->setColumnWidth(1, 100); treeWidget->setColumnWidth(2, 100); treeWidget->setColumnWidth(3, 100); treeWidget->setColumnWidth(4, 80); treeWidget->setColumnWidth(5, 80); if(typeView == TypeView::onlyView) {//onlyView treeWidget->setColumnHidden(1, true); treeWidget->setColumnHidden(2, true); treeWidget->setColumnHidden(4, true); } else {//control treeWidget->setColumnHidden(4, true); } } void InstructorsView::loadInstructorsFromDB() { //dbInstructors->LoadInstructorsPSQL(); if(treeWidget == nullptr) return; //Обновление дерева treeWidget->clear(); //Инструкторы QList listInstructors; listInstructors = dbInstructors->getListInstructors(); for(Instructor instructor : listInstructors) { QTreeWidgetItem *ItemInstructor = new QTreeWidgetItem(treeWidget); ItemInstructor->setText(0, instructor.getName()); ItemInstructor->setText(1, instructor.getLogin()); ItemInstructor->setText(2, instructor.getPassword()); if(instructor.getArchived()) {//Архивный ItemInstructor->setText(4, tr("yes")); ItemInstructor->setIcon(0, QIcon(QStringLiteral(":/icons/instructorArchive.png"))); setItemColorArchive(ItemInstructor); } else {//Не Архивный ItemInstructor->setText(4, tr("no")); ItemInstructor->setIcon(0, QIcon(QStringLiteral(":/icons/instructor.png"))); setItemColorNoArchive(ItemInstructor); } if(instructor.getIsAdmin()) {//Админ ItemInstructor->setText(3, tr("yes")); ItemInstructor->setIcon(0, QIcon(QStringLiteral(":/icons/admin.png"))); } else {//Не Админ ItemInstructor->setText(3, tr("no")); } if(instructor.getLoggedIn()) {//Залогинен ItemInstructor->setText(5, tr("yes")); ItemInstructor->setIcon(5, QIcon(QStringLiteral(":/icons/circleGreen.png"))); } else {//Не Залогинен ItemInstructor->setText(5, tr("no")); ItemInstructor->setIcon(5, QIcon(QStringLiteral(":/icons/circleGray.png"))); } //Скрываем архивных (при необходимости) if(instructor.getArchived()) if(!archiveVisible) ItemInstructor->setHidden(true); //Скрываем незалогиненых (при необходимости) if(! instructor.getLoggedIn()) if(! notLoggedInVisible) ItemInstructor->setHidden(true); } treeWidget->setSortingEnabled(true); treeWidget->sortItems(0, Qt::SortOrder::AscendingOrder); treeWidget->expandAll(); if(typeView == TypeView::control) { QTreeWidgetItem * item = treeWidget->topLevelItem(0); if(item != nullptr) treeWidget->setCurrentItem(item); } } void InstructorsView::reSetHeadTreeWidget() { QStringList listHeaders = {tr("Instructor"), tr("Login"), tr("Password"), tr("Administrator"), tr("Archived"), tr("Logged")}; treeWidget->setHeaderLabels(listHeaders); }