From 1b8974b0d6d74917ad37cd625305bfebce2fd476 Mon Sep 17 00:00:00 2001 From: krivoshein Date: Thu, 29 May 2025 13:17:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D1=87=D0=B8=20=D0=B2=20=D1=81=D0=B2=D0=BE?= =?UTF-8?q?=D0=B5=D0=BC=20=D0=B2=D0=B8=D0=B4=D0=B6=D0=B5=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../instructorsandtraineeswidget.cpp | 59 ------------------- .../instructorsandtraineeswidget.h | 8 --- .../instructorsandtraineeswidget.ui | 24 -------- .../tasks/ammtaskswidget.cpp | 31 +++++++--- InstructorsAndTrainees/tasks/ammtaskswidget.h | 19 ++---- .../tasks/ammtaskswidget.ui | 26 ++++++++ .../tasks/fimtaskswidget.cpp | 34 ++++++++--- InstructorsAndTrainees/tasks/fimtaskswidget.h | 20 ++----- .../tasks/fimtaskswidget.ui | 26 ++++++++ 9 files changed, 108 insertions(+), 139 deletions(-) diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp index 91d5574..ea4da54 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp @@ -60,13 +60,6 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) : ammTasksWidget = new AMMtasksWidget(connectorToServer, AMMtasksWidget::TypeList::listCommon, this); fimTasksWidget = new FIMtasksWidget(connectorToServer, FIMtasksWidget::TypeList::listCommon, this); - connect(this, &InstructorsAndTraineesWidget::signal_AssignTaskFIMtoTrainee, fimTasksWidget, &FIMtasksWidget::slot_AssignTaskFIMtoTrainee); - connect(this, &InstructorsAndTraineesWidget::signal_AssignTaskAMMtoTrainee, ammTasksWidget, &AMMtasksWidget::slot_AssignTaskAMMtoTrainee); - - connect(fimTasksWidget, &FIMtasksWidget::signal_currentItemChanged, this, &InstructorsAndTraineesWidget::slot_currentItemChanged); - connect(ammTasksWidget, &AMMtasksWidget::signal_currentItemChanged, this, &InstructorsAndTraineesWidget::slot_currentItemChanged); - - connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, fimTasksWidget, &FIMtasksWidget::slot_NeedUpdateUI); connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMM, ammTasksWidget, &AMMtasksWidget::slot_NeedUpdateUI); connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, fimTasksWidget, &FIMtasksWidget::slot_traineeSelected); @@ -111,8 +104,6 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) : messangerWidget->setMaximumWidth(500); ui->btnAuthorizationInstructor->setEnabled(false); - - ui->btnAssignTask->setEnabled(false); } InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget() @@ -287,7 +278,6 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state) ammTasksWidget->deactivate(); fimTasksWidget->deactivate(); - ui->btnAssignTask->setEnabled(false); messangerWidget->clear(); @@ -295,26 +285,6 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state) } } -void InstructorsAndTraineesWidget::slot_currentItemChanged() -{ - int index = ui->tabWidget->currentIndex(); - - if(index == 0) - { - if(ammTasksWidget->getAccessAssignTask()) - ui->btnAssignTask->setEnabled(true); - else - ui->btnAssignTask->setEnabled(false); - } - else if(index == 1) - { - if(fimTasksWidget->getAccessAssignTask()) - ui->btnAssignTask->setEnabled(true); - else - ui->btnAssignTask->setEnabled(false); - } -} - bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent) { DialogAuthorizationInstructor dlg(parent); @@ -393,7 +363,6 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked() ammTasksWidget->deactivate(); fimTasksWidget->deactivate(); - ui->btnAssignTask->setEnabled(false); messangerWidget->clear(); } @@ -440,34 +409,6 @@ void InstructorsAndTraineesWidget::on_btnSetVersion_clicked() connectorToServer->showVersionSelect(); } -void InstructorsAndTraineesWidget::on_btnAssignTask_clicked() -{ - int index = ui->tabWidget->currentIndex(); - - if(index == 0) - Q_EMIT signal_AssignTaskAMMtoTrainee(); - else if(index == 1) - Q_EMIT signal_AssignTaskFIMtoTrainee(); -} - -void InstructorsAndTraineesWidget::on_tabWidget_currentChanged(int index) -{ - if(index == 0) - { - if(ammTasksWidget->getAccessAssignTask()) - ui->btnAssignTask->setEnabled(true); - else - ui->btnAssignTask->setEnabled(false); - } - else if(index == 1) - { - if(fimTasksWidget->getAccessAssignTask()) - ui->btnAssignTask->setEnabled(true); - else - ui->btnAssignTask->setEnabled(false); - } -} - void InstructorsAndTraineesWidget::on_btnSettings_clicked() { DialogSettings dlg(connectorToServer, (loginInstructorLoggedInLocal != ""), this); diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.h b/InstructorsAndTrainees/instructorsandtraineeswidget.h index b659ac5..dac149e 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.h +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.h @@ -55,7 +55,6 @@ public Q_SLOTS: void checkDeLoginResult(ServerDeAuthorization * serverDeAuth); void slot_ConnectedToServer(bool state); - void slot_currentItemChanged(); Q_SIGNALS: //Слот смены языка @@ -65,19 +64,12 @@ Q_SIGNALS: //сигнал о блокировке авторизации void signal_BlockAutorization(bool block); - void signal_AssignTaskAMMtoTrainee(); - void signal_AssignTaskFIMtoTrainee(); - private Q_SLOTS: void on_btnConnectionToServer_clicked(); void on_btnAuthorizationInstructor_clicked(); void on_btnSetVersion_clicked(); - void on_btnAssignTask_clicked(); - - void on_tabWidget_currentChanged(int index); - void on_btnSettings_clicked(); private: diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.ui b/InstructorsAndTrainees/instructorsandtraineeswidget.ui index 7b728d6..f5e9d72 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.ui +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.ui @@ -302,30 +302,6 @@ - - - - - - Assign task - - - - :/resources/icons/assignTask.png:/resources/icons/assignTask.png - - - - 32 - 32 - - - - Qt::ToolButtonTextUnderIcon - - - - - diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp index 1c34827..40d28a5 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -19,7 +19,6 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty threadAnimation(nullptr), taskTreePreparation(nullptr), waitAnimationWidget(nullptr), - accessAssignTask(false), flOnlyActive(false) { ui->setupUi(this); @@ -33,8 +32,6 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty preparationTreeWidget(); - Q_EMIT signal_currentItemChanged(); - threadPreparation = new QThread(); taskTreePreparation = new TaskTreePreparation(); taskTreePreparation->moveToThread(threadPreparation); @@ -57,10 +54,15 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty ui->btnCheck->setObjectName("btnCheck"); ui->btnCheck->setEnabled(false); ui->btnOnlyActive->setObjectName("btnOnlyActive"); + ui->btnAssignTask->setObjectName("btnAssignTask"); + ui->btnAssignTask->setEnabled(false); if(type == TypeList::listCommon) ui->btnDelete->setVisible(false); else + { ui->btnOnlyActive->setVisible(false); + ui->btnAssignTask->setVisible(false); + } ui->btnCheck->setVisible(false); } @@ -85,6 +87,15 @@ AMMtasksWidget::~AMMtasksWidget() delete ui; } +void AMMtasksWidget::deactivate() +{ + ui->btnAssignTask->setEnabled(false); + //taskTreePreparation->stopParser(); + treeWidget->clear(); + loginTraineeSelected = ""; + idTraineeSelected = 0; +} + void AMMtasksWidget::resizeEvent(QResizeEvent *event) { QSize size = event->size(); @@ -151,7 +162,7 @@ void AMMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, type = "PM"; code = PMmodul->pmCode(); - accessAssignTask = false; + ui->btnAssignTask->setEnabled(false); } else { @@ -159,14 +170,13 @@ void AMMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, type = "DM"; code = DMmodul->dmCode(); - accessAssignTask = true; + ui->btnAssignTask->setEnabled(true); } } else { - accessAssignTask = false; + ui->btnAssignTask->setEnabled(false); } - Q_EMIT signal_currentItemChanged(); } void AMMtasksWidget::slot_NeedUpdateUI() @@ -274,7 +284,7 @@ void AMMtasksWidget::on_btnUpdateTasks_clicked() connectorToServer->sendQueryTasksXML("amm"); } -void AMMtasksWidget::slot_AssignTaskAMMtoTrainee() +void AMMtasksWidget::assignTaskAMMtoTrainee() { QTreeWidgetItem *current = treeWidget->currentItem(); @@ -346,3 +356,8 @@ void AMMtasksWidget::on_btnCheck_clicked() { } + +void AMMtasksWidget::on_btnAssignTask_clicked() +{ + assignTaskAMMtoTrainee(); +} diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.h b/InstructorsAndTrainees/tasks/ammtaskswidget.h index 735485a..3606cb5 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.h +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.h @@ -29,15 +29,7 @@ public: ~AMMtasksWidget(); public: - void deactivate() - { - accessAssignTask = false; - //taskTreePreparation->stopParser(); - treeWidget->clear(); - loginTraineeSelected = ""; - idTraineeSelected = 0; - } - bool getAccessAssignTask(){return accessAssignTask;} + void deactivate(); public: void resizeEvent(QResizeEvent *event) override; @@ -54,8 +46,8 @@ private Q_SLOTS: void on_btnCheck_clicked(); -public Q_SLOTS: - void slot_AssignTaskAMMtoTrainee(); + void on_btnAssignTask_clicked(); + public Q_SLOTS: //Слот обработки сигнала необходимости обновления интерфейса @@ -65,14 +57,12 @@ public Q_SLOTS: void slot_UpdateTasksAMMforTrainee(int trainee_id); -Q_SIGNALS: - void signal_currentItemChanged(); - private: Module* searchModuleByID(int id); void preparationTreeWidget(); void reSetHeadTreeWidget(); void loadTasksAMM(bool flRequestFromDB = true); + void assignTaskAMMtoTrainee(); Q_SIGNALS: void signal_prepareListItems(QByteArray array, QList* listAllModules, bool flOnlyActive); @@ -95,7 +85,6 @@ private: QThread* threadAnimation; TaskTreePreparation* taskTreePreparation; WaitAnimationWidget *waitAnimationWidget; - bool accessAssignTask; bool flOnlyActive; diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.ui b/InstructorsAndTrainees/tasks/ammtaskswidget.ui index 609d678..35f2583 100644 --- a/InstructorsAndTrainees/tasks/ammtaskswidget.ui +++ b/InstructorsAndTrainees/tasks/ammtaskswidget.ui @@ -69,6 +69,32 @@ + + + + + 50 + 50 + + + + Assign + + + + :/resources/icons/assignTask.png:/resources/icons/assignTask.png + + + + 32 + 32 + + + + Qt::ToolButtonTextUnderIcon + + + diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp index c73b51d..46206f7 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -19,8 +19,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty loginTraineeSelected(""), idTraineeSelected(0), threadAnimation(nullptr), - waitAnimationWidget(nullptr), - accessAssignTask(false) + waitAnimationWidget(nullptr) { ui->setupUi(this); @@ -34,8 +33,6 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty preparationTreeWidget(); - Q_EMIT signal_currentItemChanged(); - threadAnimation = new QThread(); waitAnimationWidget = new WaitAnimationWidget; QMovie *movie = new QMovie(":/resources/icons/762.gif"); @@ -48,6 +45,9 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty ui->btnDelete->setEnabled(false); ui->btnCheck->setObjectName("btnCheck"); ui->btnCheck->setEnabled(false); + ui->btnAssignTask->setObjectName("btnAssignTask"); + ui->btnAssignTask->setEnabled(false); + if(type == TypeList::listCommon) { ui->btnDelete->setVisible(false); @@ -59,6 +59,11 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty ui->btnCheck->setVisible(false); this->treeWidget->headerItem()->setHidden(true); this->treeWidget->setSelectionMode(QAbstractItemView::SelectionMode::NoSelection); + ui->btnAssignTask->setVisible(false); + } + else + { + ui->btnAssignTask->setVisible(false); } } @@ -79,6 +84,14 @@ FIMtasksWidget::~FIMtasksWidget() delete ui; } +void FIMtasksWidget::deactivate() +{ + ui->btnAssignTask->setEnabled(false); + treeWidget->clear(); + loginTraineeSelected = ""; + idTraineeSelected = 0; +} + void FIMtasksWidget::setOneTaskFim(TaskAmmFim* task) { listTaskAmmFim.append(task); @@ -143,7 +156,7 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, code = task->title; - accessAssignTask = true; + ui->btnAssignTask->setEnabled(true); ui->btnDelete->setEnabled(true); @@ -154,13 +167,11 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, } else { - accessAssignTask = false; + ui->btnAssignTask->setEnabled(false); ui->btnDelete->setEnabled(false); ui->btnCheck->setEnabled(false); } - - Q_EMIT signal_currentItemChanged(); } void FIMtasksWidget::loadFIMtasksFromXML(QByteArray array) @@ -459,7 +470,7 @@ void FIMtasksWidget::on_btnUpdateTasks_clicked() connectorToServer->sendQueryTasksXML("fim"); } -void FIMtasksWidget::slot_AssignTaskFIMtoTrainee() +void FIMtasksWidget::assignTaskFIMtoTrainee() { QTreeWidgetItem *current = treeWidget->currentItem(); @@ -543,3 +554,8 @@ void FIMtasksWidget::on_btnCheck_clicked() } } } + +void FIMtasksWidget::on_btnAssignTask_clicked() +{ + assignTaskFIMtoTrainee(); +} diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.h b/InstructorsAndTrainees/tasks/fimtaskswidget.h index df65fe5..3251cd0 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.h +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.h @@ -35,14 +35,7 @@ public: ~FIMtasksWidget(); public: - void deactivate() - { - accessAssignTask = false; - treeWidget->clear(); - loginTraineeSelected = ""; - idTraineeSelected = 0; - } - bool getAccessAssignTask(){return accessAssignTask;} + void deactivate(); void setOneTaskFim(TaskAmmFim* task); @@ -59,8 +52,7 @@ private Q_SLOTS: void on_btnCheck_clicked(); -public Q_SLOTS: - void slot_AssignTaskFIMtoTrainee(); + void on_btnAssignTask_clicked(); public Q_SLOTS: //Слот обработки сигнала необходимости обновления интерфейса @@ -70,10 +62,6 @@ public Q_SLOTS: void slot_UpdateTasksFIMforTrainee(int trainee_id); -Q_SIGNALS: - void signal_currentItemChanged(); - - private: TaskAmmFim* getTaskByID(int id); void loadFIMtasksFromXML(QByteArray array); @@ -89,6 +77,8 @@ private: void updateTaskItem(QTreeWidgetItem *itemTask); + void assignTaskFIMtoTrainee(); + private: Ui::FIMtasksWidget *ui; ConnectorToServer* connectorToServer; @@ -103,8 +93,6 @@ private: QThread* threadAnimation; WaitAnimationWidget *waitAnimationWidget; - - bool accessAssignTask; }; #endif // FIMTASKSWIDGET_H diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.ui b/InstructorsAndTrainees/tasks/fimtaskswidget.ui index f47f06a..76865ba 100644 --- a/InstructorsAndTrainees/tasks/fimtaskswidget.ui +++ b/InstructorsAndTrainees/tasks/fimtaskswidget.ui @@ -34,6 +34,32 @@ + + + + + 50 + 50 + + + + Assign + + + + :/resources/icons/assignTask.png:/resources/icons/assignTask.png + + + + 32 + 32 + + + + Qt::ToolButtonTextUnderIcon + + +