diff --git a/LibInstructorsAndTrainees/messanger/messangerwidget.cpp b/LibInstructorsAndTrainees/messanger/messangerwidget.cpp index c5504f9..1a52713 100644 --- a/LibInstructorsAndTrainees/messanger/messangerwidget.cpp +++ b/LibInstructorsAndTrainees/messanger/messangerwidget.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "instructor.h" #include "messangerwidget.h" #include "ui_messangerwidget.h" @@ -85,6 +86,8 @@ void MessangerWidget::addTabDialogMessenger(User user) oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this); + oneDialogMessenger->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger); //Обновляем заголовок diff --git a/LibInstructorsAndTrainees/messanger/messangerwidget.ui b/LibInstructorsAndTrainees/messanger/messangerwidget.ui index 4c8a2a0..c0a8ffd 100644 --- a/LibInstructorsAndTrainees/messanger/messangerwidget.ui +++ b/LibInstructorsAndTrainees/messanger/messangerwidget.ui @@ -85,7 +85,7 @@ - :/resources/icons/circleGray.png + :/resources/icons/circleGray.png @@ -128,7 +128,7 @@ Send - + :/resources/icons/sendMsg.png:/resources/icons/sendMsg.png @@ -149,7 +149,7 @@ - + diff --git a/LibInstructorsAndTrainees/messanger/tabdialogmessenger.cpp b/LibInstructorsAndTrainees/messanger/tabdialogmessenger.cpp index 2c1db93..e6ea6ca 100644 --- a/LibInstructorsAndTrainees/messanger/tabdialogmessenger.cpp +++ b/LibInstructorsAndTrainees/messanger/tabdialogmessenger.cpp @@ -15,6 +15,10 @@ OneDialogMessenger::OneDialogMessenger(User userLocalGUI, User userRemote, QWidg setWordWrap(true); setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn); + + setVerticalScrollMode(ScrollMode::ScrollPerPixel); + + verticalScrollBar()->setSingleStep(10); } OneDialogMessenger::~OneDialogMessenger() diff --git a/LibInstructorsAndTrainees/resources/icons/new — копия (2).png b/LibInstructorsAndTrainees/resources/icons/new — копия (2).png new file mode 100644 index 0000000..3504131 Binary files /dev/null and b/LibInstructorsAndTrainees/resources/icons/new — копия (2).png differ diff --git a/LibInstructorsAndTrainees/resources/icons/new — копия.png b/LibInstructorsAndTrainees/resources/icons/new — копия.png new file mode 100644 index 0000000..2eb82d6 Binary files /dev/null and b/LibInstructorsAndTrainees/resources/icons/new — копия.png differ diff --git a/LibInstructorsAndTrainees/resources/icons/new.png b/LibInstructorsAndTrainees/resources/icons/new.png index 2eb82d6..8b621e3 100644 Binary files a/LibInstructorsAndTrainees/resources/icons/new.png and b/LibInstructorsAndTrainees/resources/icons/new.png differ diff --git a/LibInstructorsAndTrainees/resources/icons/personalCard.png b/LibInstructorsAndTrainees/resources/icons/personalCard.png index 555709c..8c2819c 100644 Binary files a/LibInstructorsAndTrainees/resources/icons/personalCard.png and b/LibInstructorsAndTrainees/resources/icons/personalCard.png differ diff --git a/LibInstructorsAndTrainees/resources/icons/sign — копия.png b/LibInstructorsAndTrainees/resources/icons/sign — копия.png new file mode 100644 index 0000000..62aafba Binary files /dev/null and b/LibInstructorsAndTrainees/resources/icons/sign — копия.png differ diff --git a/LibInstructorsAndTrainees/resources/icons/sign.png b/LibInstructorsAndTrainees/resources/icons/sign.png index 62aafba..2b1f8c4 100644 Binary files a/LibInstructorsAndTrainees/resources/icons/sign.png and b/LibInstructorsAndTrainees/resources/icons/sign.png differ diff --git a/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp b/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp index 2ef696b..9d98b34 100644 --- a/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -35,6 +35,8 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre treeWidget->setObjectName("treeWidget_AMMforTrainee"); ui->horizontalLayout_Tree->addWidget(treeWidget); + treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus); + connect(treeWidget, &QTreeWidget::itemClicked, this, &AMMtasksWidget::on_treeWidgetItemClicked); connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &AMMtasksWidget::on_treeWidgetDoubleClicked); @@ -77,6 +79,18 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre ui->btnDelete->setVisible(false); ui->btnStatus->setVisible(false); } + else if(type == TypeListTreeAMMFIM::listOneTask) + { + ui->btnDelete->setVisible(false); + ui->btnStatus->setVisible(false); + ui->btnAssignTask->setVisible(false); + ui->btnOnlyActive->setVisible(false); + ui->btnDocsUpdating->setVisible(false); + ui->label_DocsActualed->setVisible(false); + ui->label_Actual->setVisible(false); + this->treeWidget->headerItem()->setHidden(true); + this->treeWidget->setSelectionMode(QAbstractItemView::SelectionMode::NoSelection); + } else { ui->btnOnlyActive->setVisible(false); @@ -117,6 +131,13 @@ void AMMtasksWidget::deactivate() idTraineeSelected = 0; } +void AMMtasksWidget::setOneTaskAmm(TaskAmmFim *task) +{ + QList listTask; + listTask.append(*task); + emit signal_prepareAMMListItemsForTrainee(listTask); +} + void AMMtasksWidget::waitAnimationWidgetShowWithPlay() { waitAnimationWidget->showWithPlay(); @@ -282,7 +303,7 @@ void AMMtasksWidget::loadTasksAMM(bool flRequestFirst) void AMMtasksWidget::slot_AMMlistItemsReady(QList listItems) { - if(type != TypeListTreeAMMFIM::listForTrainee) + if(type != TypeListTreeAMMFIM::listForTrainee && type != TypeListTreeAMMFIM::listOneTask) { //Обновление дерева treeWidget->clear(); @@ -296,6 +317,13 @@ void AMMtasksWidget::slot_AMMlistItemsReady(QList listItems) if(item != nullptr) treeWidget->setCurrentItem(item); */ + QTreeWidgetItem * item = treeWidget->topLevelItem(0); + if(item != nullptr) + { + //treeWidget->setCurrentItem(item); + if(type == TypeListTreeAMMFIM::listOneTask) + treeWidget->expandAll(); + } if(type == TypeListTreeAMMFIM::listForTrainee) setCurrentTask(lastCurrentID); @@ -363,7 +391,7 @@ void AMMtasksWidget::preparationTreeWidget() reSetHeadTreeWidget(); - if(type == TypeListTreeAMMFIM::listCommon) + if(type == TypeListTreeAMMFIM::listCommon || type == TypeListTreeAMMFIM::listOneTask) { treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true); treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true); diff --git a/LibInstructorsAndTrainees/tasks/ammtaskswidget.h b/LibInstructorsAndTrainees/tasks/ammtaskswidget.h index 1c0a695..4cfb014 100644 --- a/LibInstructorsAndTrainees/tasks/ammtaskswidget.h +++ b/LibInstructorsAndTrainees/tasks/ammtaskswidget.h @@ -26,6 +26,7 @@ public: public: void deactivate(); + void setOneTaskAmm(TaskAmmFim* task); void waitAnimationWidgetShowWithPlay(); void setDocsActualed(bool flActualed); diff --git a/LibInstructorsAndTrainees/tasks/checkertask.cpp b/LibInstructorsAndTrainees/tasks/checkertask.cpp index 2cb3504..8570cc0 100644 --- a/LibInstructorsAndTrainees/tasks/checkertask.cpp +++ b/LibInstructorsAndTrainees/tasks/checkertask.cpp @@ -2,12 +2,14 @@ #include "specialmessagebox.h" #include "ui_checkertask.h" #include "fimtaskswidget.h" +#include "ammtaskswidget.h" CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent) : QWidget(parent), ui(new Ui::CheckerTask), connectorToServer(connectorToServer), fimTasksWidget(nullptr), + ammTasksWidget(nullptr), flChanged(false), id_task(0), type(TypeChecker::fim_check) @@ -34,11 +36,19 @@ CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, } else if(type == TypeChecker::amm_check) { + ammTasksWidget = new AMMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this); + ui->verticalLayout_3->addWidget(ammTasksWidget); + + ui->lblName->setVisible(false); + ui->lblDMcode->setVisible(false); + ui->plainText->setVisible(false); ui->label->setVisible(false); ui->btnWrong->setEnabled(false); ui->btnCheckup->setEnabled(false); + ui->btnWrong->setVisible(false); + ui->btnCheckup->setVisible(false); } } @@ -50,6 +60,12 @@ CheckerTask::~CheckerTask() fimTasksWidget = nullptr; } + if(ammTasksWidget) + { + delete ammTasksWidget; + ammTasksWidget = nullptr; + } + delete ui; } @@ -77,6 +93,9 @@ void CheckerTask::setTask(TaskAmmFim* task) ui->btnCheckup->setEnabled(false); ui->btnWrong->setEnabled(false); ui->btnCompleted->setEnabled(false); + + ui->plainText->setVisible(false); + ui->label->setVisible(false); } else if(this->task.status == "checkup") { @@ -109,6 +128,9 @@ void CheckerTask::setTask(TaskAmmFim* task) } else if(type == TypeChecker::amm_check) { + //Задача + ammTasksWidget->setOneTaskAmm(&this->task); + if(this->task.status == "new") { ui->btnNew->setEnabled(false); diff --git a/LibInstructorsAndTrainees/tasks/checkertask.h b/LibInstructorsAndTrainees/tasks/checkertask.h index 79eccf1..995c468 100644 --- a/LibInstructorsAndTrainees/tasks/checkertask.h +++ b/LibInstructorsAndTrainees/tasks/checkertask.h @@ -13,6 +13,7 @@ class CheckerTask; } class FIMtasksWidget; +class AMMtasksWidget; class CheckerTask : public QWidget { @@ -56,6 +57,7 @@ private: private: ConnectorToServer* connectorToServer; FIMtasksWidget* fimTasksWidget; + AMMtasksWidget* ammTasksWidget; bool flChanged; int id_task; diff --git a/LibInstructorsAndTrainees/tasks/dialogchekertask.cpp b/LibInstructorsAndTrainees/tasks/dialogchekertask.cpp index 02a7c30..8bd62f8 100644 --- a/LibInstructorsAndTrainees/tasks/dialogchekertask.cpp +++ b/LibInstructorsAndTrainees/tasks/dialogchekertask.cpp @@ -23,7 +23,7 @@ DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, Checker break; case CheckerTask::TypeChecker::amm_check: this->setWindowTitle(tr("Status Task")); - this->setMinimumSize(400, 200); + this->setMinimumSize(1400, 500); break; default: break; diff --git a/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp b/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp index 2a4b3ba..08bd9b6 100644 --- a/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -32,6 +32,8 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre treeWidget = new QTreeWidget(); ui->horizontalLayout_Tree->addWidget(treeWidget); + treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus); + //connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged); connect(treeWidget, &QTreeWidget::itemClicked, this, &FIMtasksWidget::on_treeWidgetItemClicked); @@ -465,6 +467,7 @@ void FIMtasksWidget::setCurrentTask(int id) if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id) { treeWidget->setCurrentItem(item); + treeWidget->itemClicked(item, 0); return; } } diff --git a/LibInstructorsAndTrainees/tasks/fimtaskswidget.h b/LibInstructorsAndTrainees/tasks/fimtaskswidget.h index 0e60bd0..7260dce 100644 --- a/LibInstructorsAndTrainees/tasks/fimtaskswidget.h +++ b/LibInstructorsAndTrainees/tasks/fimtaskswidget.h @@ -27,7 +27,7 @@ public: public: void deactivate(); - void setOneTaskFim(TaskAmmFim* task); //FIM + void setOneTaskFim(TaskAmmFim* task); void waitAnimationWidgetShowWithPlay(); public: diff --git a/LibInstructorsAndTrainees/tasks/listsubproc.cpp b/LibInstructorsAndTrainees/tasks/listsubproc.cpp index e627391..4258eaf 100644 --- a/LibInstructorsAndTrainees/tasks/listsubproc.cpp +++ b/LibInstructorsAndTrainees/tasks/listsubproc.cpp @@ -14,6 +14,8 @@ ListSubProc::ListSubProc(QWidget *parent) : treeWidget = new QTreeWidget(); ui->horizontalLayout_Tree->addWidget(treeWidget); + treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus); + preparationTreeWidget(); } diff --git a/LibInstructorsAndTrainees/tasks/listsubproc.ui b/LibInstructorsAndTrainees/tasks/listsubproc.ui index c8a2479..7fe6668 100644 --- a/LibInstructorsAndTrainees/tasks/listsubproc.ui +++ b/LibInstructorsAndTrainees/tasks/listsubproc.ui @@ -72,7 +72,7 @@ Assign - + :/resources/icons/circleGreen.png:/resources/icons/circleGreen.png @@ -93,7 +93,7 @@ - + diff --git a/LibInstructorsAndTrainees/tasks/subprocitemwidget.ui b/LibInstructorsAndTrainees/tasks/subprocitemwidget.ui index 827d0fb..6a045cb 100644 --- a/LibInstructorsAndTrainees/tasks/subprocitemwidget.ui +++ b/LibInstructorsAndTrainees/tasks/subprocitemwidget.ui @@ -43,6 +43,15 @@ QFrame::Sunken + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + true + diff --git a/LibInstructorsAndTrainees/tasks/tasktreepreparation.cpp b/LibInstructorsAndTrainees/tasks/tasktreepreparation.cpp index 06dc0cc..3b425b3 100644 --- a/LibInstructorsAndTrainees/tasks/tasktreepreparation.cpp +++ b/LibInstructorsAndTrainees/tasks/tasktreepreparation.cpp @@ -531,7 +531,7 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QListsetToolTip(0, text); - if(type == TypeListTreeAMMFIM::listForTrainee) + if(type == TypeListTreeAMMFIM::listForTrainee || type == TypeListTreeAMMFIM::listOneTask) { //Подпроцедуры if(task.listSubProc.count()) @@ -635,7 +635,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array) itemSign->setText(ColumnsTreeFIM::clmnFIM_Title, sign.description); //itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable); //itemSign->setCheckState(ColumnsTreeFIM::clmnFIM_Title, Qt::Checked); - itemSign->setIcon(ColumnsTreeFIM::clmnFIM_Title, QIcon(":/resources/icons/sign.png")); + itemSign->setIcon(ColumnsTreeFIM::clmnFIM_Title, QIcon(":/resources/icons/sign.png").pixmap(24, 24)); itemSign->setToolTip(ColumnsTreeFIM::clmnFIM_Title, sign.description); itemMalfunction->addChild(itemSign);