diff --git a/InstructorsAndTrainees/CMakeLists.txt b/InstructorsAndTrainees/CMakeLists.txt
index 2f416b3..b5fb663 100644
--- a/InstructorsAndTrainees/CMakeLists.txt
+++ b/InstructorsAndTrainees/CMakeLists.txt
@@ -80,6 +80,9 @@ add_library(InstructorsAndTrainees SHARED
tasks/fimtaskswidget.ui
tasks/tasktreepreparation.cpp
tasks/tasktreepreparation.h
+ tasks/dialogchecktask.cpp
+ tasks/dialogchecktask.h
+ tasks/dialogchecktask.ui
#tasks/tasksAmmFim.cpp
#tasks/tasksAmmFim.h
widgets/newversionwidget.cpp
diff --git a/InstructorsAndTrainees/resources.qrc b/InstructorsAndTrainees/resources.qrc
index d2a1133..2228176 100644
--- a/InstructorsAndTrainees/resources.qrc
+++ b/InstructorsAndTrainees/resources.qrc
@@ -44,5 +44,6 @@
resources/icons/assignTask.png
resources/icons/delete.png
resources/icons/filter.png
+ resources/icons/check.png
diff --git a/InstructorsAndTrainees/resources/icons/check.png b/InstructorsAndTrainees/resources/icons/check.png
new file mode 100644
index 0000000..3163b36
Binary files /dev/null and b/InstructorsAndTrainees/resources/icons/check.png differ
diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp
index 87da14c..24f5a02 100644
--- a/InstructorsAndTrainees/tasks/ammtaskswidget.cpp
+++ b/InstructorsAndTrainees/tasks/ammtaskswidget.cpp
@@ -54,10 +54,15 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
ui->btnDelete->setObjectName("btnDelete");
ui->btnDelete->setEnabled(false);
+ ui->btnCheck->setObjectName("btnCheck");
+ ui->btnCheck->setEnabled(false);
+ ui->btnOnlyActive->setObjectName("btnOnlyActive");
if(type == TypeList::listCommon)
ui->btnDelete->setVisible(false);
else
ui->btnOnlyActive->setVisible(false);
+
+ ui->btnCheck->setVisible(false);
}
AMMtasksWidget::~AMMtasksWidget()
@@ -89,13 +94,13 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event)
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTree::clmn_code, 250);
- treeWidget->setColumnWidth(ColumnsTree::clmn_status, 50);
+ treeWidget->setColumnWidth(ColumnsTree::clmn_status, 70);
int widthPMorDM;
if(type == TypeList::listCommon)
widthPMorDM = width - (250 + 10);
else
- widthPMorDM = width - (300 + 10);
+ widthPMorDM = width - (370 + 10);
treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, widthPMorDM);
}
@@ -239,7 +244,10 @@ void AMMtasksWidget::preparationTreeWidget()
reSetHeadTreeWidget();
if(type == TypeList::listCommon)
+ {
treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
+ treeWidget->setColumnHidden(ColumnsTree::clmn_status, true);
+ }
}
void AMMtasksWidget::reSetHeadTreeWidget()
@@ -327,3 +335,8 @@ void AMMtasksWidget::on_btnOnlyActive_clicked()
//connectorToServer->sendQueryTasksXML("amm");
loadTasksAMM(false);
}
+
+void AMMtasksWidget::on_btnCheck_clicked()
+{
+
+}
diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.h b/InstructorsAndTrainees/tasks/ammtaskswidget.h
index 10f3232..735485a 100644
--- a/InstructorsAndTrainees/tasks/ammtaskswidget.h
+++ b/InstructorsAndTrainees/tasks/ammtaskswidget.h
@@ -52,6 +52,8 @@ private Q_SLOTS:
void on_btnOnlyActive_clicked();
+ void on_btnCheck_clicked();
+
public Q_SLOTS:
void slot_AssignTaskAMMtoTrainee();
diff --git a/InstructorsAndTrainees/tasks/ammtaskswidget.ui b/InstructorsAndTrainees/tasks/ammtaskswidget.ui
index 9d5f36d..31c259b 100644
--- a/InstructorsAndTrainees/tasks/ammtaskswidget.ui
+++ b/InstructorsAndTrainees/tasks/ammtaskswidget.ui
@@ -69,6 +69,32 @@
+ -
+
+
+
+ 50
+ 50
+
+
+
+ Check
+
+
+
+ :/resources/icons/check.png:/resources/icons/check.png
+
+
+
+ 32
+ 32
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+
-
diff --git a/InstructorsAndTrainees/tasks/dialogchecktask.cpp b/InstructorsAndTrainees/tasks/dialogchecktask.cpp
new file mode 100644
index 0000000..0a4df0b
--- /dev/null
+++ b/InstructorsAndTrainees/tasks/dialogchecktask.cpp
@@ -0,0 +1,31 @@
+#include "dialogchecktask.h"
+#include "ui_dialogchecktask.h"
+
+DialogCheckTask::DialogCheckTask(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::DialogCheckTask),
+ fimTasksWidget(nullptr)
+{
+ ui->setupUi(this);
+
+ fimTasksWidget = new FIMtasksWidget(nullptr, FIMtasksWidget::TypeList::listOneTask, this);
+
+ ui->verticalLayout->addWidget(fimTasksWidget);
+}
+
+DialogCheckTask::~DialogCheckTask()
+{
+ delete fimTasksWidget;
+ delete ui;
+}
+
+void DialogCheckTask::setTask(TaskAmmFim* task)
+{
+ this->task = *task;
+ fimTasksWidget->setOneTaskFim(&this->task);
+}
+
+TaskAmmFim DialogCheckTask::getTask()
+{
+ return this->task;
+}
diff --git a/InstructorsAndTrainees/tasks/dialogchecktask.h b/InstructorsAndTrainees/tasks/dialogchecktask.h
new file mode 100644
index 0000000..0be7f07
--- /dev/null
+++ b/InstructorsAndTrainees/tasks/dialogchecktask.h
@@ -0,0 +1,33 @@
+#ifndef DIALOGCHECKTASK_H
+#define DIALOGCHECKTASK_H
+
+#include
+#include "tasksAmmFim.h"
+#include "fimtaskswidget.h"
+
+namespace Ui {
+class DialogCheckTask;
+}
+
+class DialogCheckTask : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit DialogCheckTask(QWidget *parent = nullptr);
+ ~DialogCheckTask();
+
+public:
+ void setTask(TaskAmmFim* task);
+ TaskAmmFim getTask();
+
+private:
+ TaskAmmFim task;
+
+private:
+ Ui::DialogCheckTask *ui;
+private:
+ FIMtasksWidget* fimTasksWidget;
+};
+
+#endif // DIALOGCHECKTASK_H
diff --git a/InstructorsAndTrainees/tasks/dialogchecktask.ui b/InstructorsAndTrainees/tasks/dialogchecktask.ui
new file mode 100644
index 0000000..8d2ffc9
--- /dev/null
+++ b/InstructorsAndTrainees/tasks/dialogchecktask.ui
@@ -0,0 +1,80 @@
+
+
+ DialogCheckTask
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Form
+
+
+
-
+
+
-
+
+
-
+
+
-
+
+
+ ID
+
+
+
+ -
+
+
+ Title
+
+
+
+ -
+
+
+ Status
+
+
+
+
+
+ -
+
+
-
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp
index c9090aa..58528a3 100644
--- a/InstructorsAndTrainees/tasks/fimtaskswidget.cpp
+++ b/InstructorsAndTrainees/tasks/fimtaskswidget.cpp
@@ -7,6 +7,7 @@
#include "fimtaskswidget.h"
#include "ui_fimtaskswidget.h"
#include "tasksAmmFim.h"
+#include "dialogchecktask.h"
FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent) :
QWidget(parent),
@@ -44,8 +45,18 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
ui->btnDelete->setObjectName("btnDelete");
ui->btnDelete->setEnabled(false);
+ ui->btnCheck->setObjectName("btnCheck");
+ ui->btnCheck->setEnabled(false);
if(type == TypeList::listCommon)
+ {
ui->btnDelete->setVisible(false);
+ ui->btnCheck->setVisible(false);
+ }
+ else if(type == TypeList::listOneTask)
+ {
+ ui->btnDelete->setVisible(false);
+ ui->btnCheck->setVisible(false);
+ }
}
FIMtasksWidget::~FIMtasksWidget()
@@ -65,6 +76,12 @@ FIMtasksWidget::~FIMtasksWidget()
delete ui;
}
+void FIMtasksWidget::setOneTaskFim(TaskAmmFim* task)
+{
+ listTaskAmmFim.append(task);
+ fillTree();
+}
+
void FIMtasksWidget::resizeEvent(QResizeEvent *event)
{
QSize size = event->size();
@@ -73,13 +90,13 @@ void FIMtasksWidget::resizeEvent(QResizeEvent *event)
int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 50);
- treeWidget->setColumnWidth(ColumnsTree::clmn_status, 50);
+ treeWidget->setColumnWidth(ColumnsTree::clmn_status, 70);
int widthTitle;
if(type == TypeList::listCommon)
widthTitle = width - (0 + 10);
else
- widthTitle = width - (50 + 10);
+ widthTitle = width - (120 + 10);
treeWidget->setColumnWidth(ColumnsTree::clmn_Title, widthTitle);
}
@@ -102,6 +119,7 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
if(current == nullptr)
{
ui->btnDelete->setEnabled(false);
+ ui->btnCheck->setEnabled(false);
return;
}
@@ -119,12 +137,18 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
accessAssignTask = true;
ui->btnDelete->setEnabled(true);
+
+ if(task->status != "new")
+ ui->btnCheck->setEnabled(true);
+ else
+ ui->btnCheck->setEnabled(false);
}
else
{
accessAssignTask = false;
ui->btnDelete->setEnabled(false);
+ ui->btnCheck->setEnabled(false);
}
Q_EMIT signal_currentItemChanged();
@@ -268,7 +292,14 @@ void FIMtasksWidget::fillTree()
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
if(item != nullptr)
+ {
treeWidget->setCurrentItem(item);
+
+ if(type == TypeList::listOneTask)
+ {
+ treeWidget->expandAll();
+ }
+ }
}
void FIMtasksWidget::prepareListTasksForTrainee(QList listTask)
@@ -291,7 +322,10 @@ void FIMtasksWidget::preparationTreeWidget()
reSetHeadTreeWidget();
if(type == TypeList::listCommon)
+ {
treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
+ treeWidget->setColumnHidden(ColumnsTree::clmn_status, true);
+ }
}
void FIMtasksWidget::reSetHeadTreeWidget()
@@ -369,6 +403,9 @@ TaskAmmFim* FIMtasksWidget::getTaskByID(int id)
void FIMtasksWidget::deleteAllTaskAmmFim()
{
+ if(type == TypeList::listOneTask)
+ return;
+
for(TaskAmmFim* task: listTaskAmmFim)
delete task;
@@ -446,3 +483,32 @@ void FIMtasksWidget::on_btnDelete_clicked()
}
}
}
+
+void FIMtasksWidget::on_btnCheck_clicked()
+{
+ QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
+
+ if(treeItemCurrent != nullptr)
+ {
+ QTreeWidgetItem *treeItemParent = treeItemCurrent->parent();
+ if(treeItemParent == nullptr)
+ {//Выбрана задача
+
+ int id = treeItemCurrent->text(ColumnsTree::clmn_ID).toInt();
+
+ TaskAmmFim* task = getTaskByID(id);
+
+ DialogCheckTask dlg(this);
+
+ dlg.setTask(task);
+
+ QDialog* dialog = new QDialog(this);
+ QHBoxLayout *layout = new QHBoxLayout(dialog);
+ layout->addWidget(&dlg);
+ dialog->setWindowTitle(tr("Check Task"));
+ dialog->setMinimumSize(1600, 800);
+ dialog->setStyleSheet(this->styleSheet());
+ dialog->exec();
+ }
+ }
+}
diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.h b/InstructorsAndTrainees/tasks/fimtaskswidget.h
index 94d556d..df65fe5 100644
--- a/InstructorsAndTrainees/tasks/fimtaskswidget.h
+++ b/InstructorsAndTrainees/tasks/fimtaskswidget.h
@@ -18,7 +18,8 @@ public:
enum TypeList
{
listCommon = 0,
- listForTrainee
+ listForTrainee,
+ listOneTask
};
private:
@@ -43,6 +44,8 @@ public:
}
bool getAccessAssignTask(){return accessAssignTask;}
+ void setOneTaskFim(TaskAmmFim* task);
+
public:
void resizeEvent(QResizeEvent *event) override;
protected:
@@ -54,6 +57,8 @@ private Q_SLOTS:
void on_btnDelete_clicked();
+ void on_btnCheck_clicked();
+
public Q_SLOTS:
void slot_AssignTaskFIMtoTrainee();
diff --git a/InstructorsAndTrainees/tasks/fimtaskswidget.ui b/InstructorsAndTrainees/tasks/fimtaskswidget.ui
index 03e934d..f47f06a 100644
--- a/InstructorsAndTrainees/tasks/fimtaskswidget.ui
+++ b/InstructorsAndTrainees/tasks/fimtaskswidget.ui
@@ -34,8 +34,40 @@
+ -
+
+
+
+ 50
+ 50
+
+
+
+ Check
+
+
+
+ :/resources/icons/check.png:/resources/icons/check.png
+
+
+
+ 32
+ 32
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+
-
+
+
+ 50
+ 50
+
+
Delete