From e24c57c395b5815f3cb886c75809d81b0eacd5bd Mon Sep 17 00:00:00 2001 From: krivoshein Date: Tue, 25 Nov 2025 12:46:58 +0300 Subject: [PATCH] refact0 --- .../instructors/dialogeditinstructor.cpp | 1 + .../instructors/dialogeditinstructor.ui | 14 +++---- .../tasks/fimtaskswidget.cpp | 37 +++++++++++++++++++ InstructorsAndTrainees/tasks/fimtaskswidget.h | 1 + .../tasks/tasktreepreparation.cpp | 2 + .../trainees/dialogeditgroup.cpp | 3 ++ .../trainees/dialogedittrainee.cpp | 1 + .../trainees/dialogedittrainee.ui | 12 +++--- 8 files changed, 58 insertions(+), 13 deletions(-) diff --git a/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp b/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp index 9cd40e7..daee514 100644 --- a/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp +++ b/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp @@ -21,6 +21,7 @@ DialogEditInstructor::DialogEditInstructor(bool adminMode, QWidget *parent) : ui->btnViewPassword->setObjectName("btnViewPassword"); ui->btnChangePassword->setObjectName("btnChangePassword"); + ui->editName->setValidator(new QRegExpValidator(QRegExp("[A-Za-zА-Яа-я0-9 _\\d]+"), this)); ui->editLogin->setValidator(new QRegExpValidator(QRegExp("[A-Za-z\\d]+"), this)); ui->editPassword->setEnabled(false); diff --git a/InstructorsAndTrainees/instructors/dialogeditinstructor.ui b/InstructorsAndTrainees/instructors/dialogeditinstructor.ui index b0aaa59..d5e4235 100644 --- a/InstructorsAndTrainees/instructors/dialogeditinstructor.ui +++ b/InstructorsAndTrainees/instructors/dialogeditinstructor.ui @@ -87,7 +87,7 @@ ... - + :/resources/icons/eye.png:/resources/icons/eye.png @@ -104,7 +104,7 @@ ... - + :/resources/icons/exchange.png:/resources/icons/exchange.png @@ -141,7 +141,7 @@ Administrator - + :/resources/icons/admin.png :/resources/icons/admin.png:/resources/icons/admin.png @@ -168,7 +168,7 @@ Archived - + :/resources/icons/archive.png :/resources/icons/archive.png:/resources/icons/archive.png @@ -192,10 +192,10 @@ - Logged + Online - + :/resources/icons/circleGreen.png :/resources/icons/circleGreen.png:/resources/icons/circleGreen.png @@ -241,7 +241,7 @@ - + diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp index 0b8e37a..c87c9e2 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -195,10 +195,14 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column) } else { + setCurrentParentTask(item); + + /* ui->btnAssignTask->setEnabled(false); ui->btnDelete->setEnabled(false); ui->btnCheck->setEnabled(false); + */ } } @@ -462,4 +466,37 @@ void FIMtasksWidget::setCurrentTask(int id) } } +void FIMtasksWidget::setCurrentParentTask(QTreeWidgetItem *item) +{ + if(item == nullptr) + return; + + int id = 0; + + QTreeWidgetItem *treeItemParent = item->parent(); + if(treeItemParent == nullptr) + {//задача + id = item->text(ColumnsTreeFIM::clmnFIM_ID).toInt(); + } + else + { + QTreeWidgetItem *treeItemParent1 = treeItemParent->parent(); + if(treeItemParent1 == nullptr) + {//задача + id = treeItemParent->text(ColumnsTreeFIM::clmnFIM_ID).toInt(); + } + else + { + QTreeWidgetItem *treeItemParent2 = treeItemParent1->parent(); + if(treeItemParent2 == nullptr) + {//задача + id = treeItemParent1->text(ColumnsTreeFIM::clmnFIM_ID).toInt(); + } + } + } + + if(id) + setCurrentTask(id); +} + diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.h b/InstructorsAndTrainees/tasks/fimtaskswidget.h index 979fb7b..70ab675 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.h +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.h @@ -59,6 +59,7 @@ private: void updateTaskItem(QTreeWidgetItem *itemTask); void setCurrentTask(int id); + void setCurrentParentTask(QTreeWidgetItem *item); Q_SIGNALS: void signal_prepareFIMListItems(QByteArray array); diff --git a/InstructorsAndTrainees/tasks/tasktreepreparation.cpp b/InstructorsAndTrainees/tasks/tasktreepreparation.cpp index 1d68253..94edffe 100644 --- a/InstructorsAndTrainees/tasks/tasktreepreparation.cpp +++ b/InstructorsAndTrainees/tasks/tasktreepreparation.cpp @@ -611,6 +611,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array) Malfunction malfunction = task.malfunctionList.at(j); QTreeWidgetItem* itemMalfunction = new QTreeWidgetItem(); + itemMalfunction->setFlags(itemMalfunction->flags() ^ Qt::ItemIsSelectable); itemMalfunction->setText(ColumnsTreeFIM::clmnFIM_Title, malfunction.description); if(type == TypeListTreeAMMFIM::listCommon) @@ -629,6 +630,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array) MalfunctionSign sign = malfunction.malfunctionSigns.at(k); QTreeWidgetItem* itemSign = new QTreeWidgetItem(); + itemSign->setFlags(itemSign->flags() ^ Qt::ItemIsSelectable); itemSign->setText(ColumnsTreeFIM::clmnFIM_Title, sign.description); //itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable); diff --git a/InstructorsAndTrainees/trainees/dialogeditgroup.cpp b/InstructorsAndTrainees/trainees/dialogeditgroup.cpp index 761fa90..51776e3 100644 --- a/InstructorsAndTrainees/trainees/dialogeditgroup.cpp +++ b/InstructorsAndTrainees/trainees/dialogeditgroup.cpp @@ -1,6 +1,7 @@ #include "dialogeditgroup.h" #include "computersLocations.h" #include +#include DialogEditGroup::DialogEditGroup(QWidget *parent) : QDialog(parent), @@ -10,6 +11,8 @@ DialogEditGroup::DialogEditGroup(QWidget *parent) : ui->setupUi(this); verify(); + ui->editName->setValidator(new QRegExpValidator(QRegExp("[A-Za-zА-Яа-я0-9 _\\d]+"), this)); + ui->editName->setProperty("mandatoryField", true); } diff --git a/InstructorsAndTrainees/trainees/dialogedittrainee.cpp b/InstructorsAndTrainees/trainees/dialogedittrainee.cpp index 82f9fc3..357a73f 100644 --- a/InstructorsAndTrainees/trainees/dialogedittrainee.cpp +++ b/InstructorsAndTrainees/trainees/dialogedittrainee.cpp @@ -21,6 +21,7 @@ DialogEditTrainee::DialogEditTrainee(bool adminMode, QWidget *parent) : ui->btnViewPassword->setObjectName("btnViewPassword"); ui->btnChangePassword->setObjectName("btnChangePassword"); + ui->editName->setValidator(new QRegExpValidator(QRegExp("[A-Za-zА-Яа-я0-9 _\\d]+"), this)); ui->editLogin->setValidator(new QRegExpValidator(QRegExp("[A-Za-z\\d]+"), this)); ui->editPassword->setEnabled(false); diff --git a/InstructorsAndTrainees/trainees/dialogedittrainee.ui b/InstructorsAndTrainees/trainees/dialogedittrainee.ui index b308078..cef0695 100644 --- a/InstructorsAndTrainees/trainees/dialogedittrainee.ui +++ b/InstructorsAndTrainees/trainees/dialogedittrainee.ui @@ -101,7 +101,7 @@ ... - + :/resources/icons/eye.png:/resources/icons/eye.png @@ -112,7 +112,7 @@ ... - + :/resources/icons/exchange.png:/resources/icons/exchange.png @@ -149,7 +149,7 @@ Archived - + :/resources/icons/archive.png :/resources/icons/archive.png:/resources/icons/archive.png @@ -173,10 +173,10 @@ - Logged + Online - + :/resources/icons/circleGreen.png :/resources/icons/circleGreen.png:/resources/icons/circleGreen.png @@ -222,7 +222,7 @@ - +