Merge branch 'DEV' of https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer into DEV
@@ -81,7 +81,7 @@ QToolButton {
|
|||||||
height: 55px;
|
height: 55px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QToolButton#btnSend, QToolButton#btnDelete, QToolButton#btnCheck, QToolButton#btnOnlyActive,
|
QToolButton#btnSend, QToolButton#btnDelete, QToolButton#btnCheck, QToolButton#btnOnlyActive, QToolButton#btnStatus,
|
||||||
QToolButton#btnSave, QToolButton#btnUpdateStyle, QToolButton#btnSetVersion,
|
QToolButton#btnSave, QToolButton#btnUpdateStyle, QToolButton#btnSetVersion,
|
||||||
QToolButton#btnAssignTask, QToolButton#btnCheckDB, QToolButton#btnRepare, QToolButton#btnDocsUpdating,
|
QToolButton#btnAssignTask, QToolButton#btnCheckDB, QToolButton#btnRepare, QToolButton#btnDocsUpdating,
|
||||||
QToolButton#btnAssign {
|
QToolButton#btnAssign {
|
||||||
|
|||||||
@@ -435,6 +435,54 @@ int DataBaseLMS::updateStatusTaskFIM(int task_id, QString status)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(status == "new")
|
||||||
|
{//Удаляем отчет
|
||||||
|
queryStr = QString("SELECT reports.report_id "
|
||||||
|
"FROM public.reports "
|
||||||
|
"WHERE fk_task_fim_id = %1 "
|
||||||
|
"ORDER BY reports.report_id ASC").arg(
|
||||||
|
QString::number(task_id));
|
||||||
|
|
||||||
|
int report_id = 0;
|
||||||
|
|
||||||
|
QSqlQuery queryReportsSEL = QSqlQuery(*db);
|
||||||
|
if(queryExec(queryStr, &queryReportsSEL))
|
||||||
|
{
|
||||||
|
if (queryReportsSEL.first())
|
||||||
|
{//Отчет
|
||||||
|
report_id = queryReportsSEL.value(0).toInt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.report_items "
|
||||||
|
"WHERE fk_report_id = %1 ").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryItemsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryItemsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
queryStr = QString("DELETE FROM public.reports "
|
||||||
|
"WHERE report_id = %1 ").arg(
|
||||||
|
QString::number(report_id));
|
||||||
|
|
||||||
|
QSqlQuery queryReportsDEL = QSqlQuery(*db);
|
||||||
|
if(!queryExec(queryStr, &queryReportsDEL))
|
||||||
|
{
|
||||||
|
resBool = db->rollback();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
resBool = db->commit();
|
resBool = db->commit();
|
||||||
return id_trainee;
|
return id_trainee;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,5 +56,6 @@
|
|||||||
<file>resources/icons/eye.png</file>
|
<file>resources/icons/eye.png</file>
|
||||||
<file>resources/icons/exchange.png</file>
|
<file>resources/icons/exchange.png</file>
|
||||||
<file>resources/icons/link.png</file>
|
<file>resources/icons/link.png</file>
|
||||||
|
<file>resources/icons/new.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include <QAbstractScrollArea>
|
#include <QAbstractScrollArea>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
#include <QScrollBar>
|
||||||
#include "instructor.h"
|
#include "instructor.h"
|
||||||
#include "messangerwidget.h"
|
#include "messangerwidget.h"
|
||||||
#include "ui_messangerwidget.h"
|
#include "ui_messangerwidget.h"
|
||||||
@@ -85,6 +86,8 @@ void MessangerWidget::addTabDialogMessenger(User user)
|
|||||||
|
|
||||||
oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this);
|
oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this);
|
||||||
|
|
||||||
|
oneDialogMessenger->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel);
|
||||||
|
|
||||||
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);
|
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);
|
||||||
|
|
||||||
//Обновляем заголовок
|
//Обновляем заголовок
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap resource="../../ServerLMS/ServerLMS.qrc">:/resources/icons/circleGray.png</pixmap>
|
<pixmap resource="../InstructorsAndTrainees.qrc">:/resources/icons/circleGray.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
<string>Send</string>
|
<string>Send</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
<normaloff>:/resources/icons/sendMsg.png</normaloff>:/resources/icons/sendMsg.png</iconset>
|
<normaloff>:/resources/icons/sendMsg.png</normaloff>:/resources/icons/sendMsg.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -149,7 +149,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../../ServerLMS/ServerLMS.qrc"/>
|
<include location="../InstructorsAndTrainees.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ OneDialogMessenger::OneDialogMessenger(User userLocalGUI, User userRemote, QWidg
|
|||||||
|
|
||||||
setWordWrap(true);
|
setWordWrap(true);
|
||||||
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
|
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
|
||||||
|
|
||||||
|
setVerticalScrollMode(ScrollMode::ScrollPerPixel);
|
||||||
|
|
||||||
|
verticalScrollBar()->setSingleStep(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
OneDialogMessenger::~OneDialogMessenger()
|
OneDialogMessenger::~OneDialogMessenger()
|
||||||
|
|||||||
BIN
LibInstructorsAndTrainees/resources/icons/new — копия (2).png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
LibInstructorsAndTrainees/resources/icons/new — копия.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
LibInstructorsAndTrainees/resources/icons/new.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 16 KiB |
BIN
LibInstructorsAndTrainees/resources/icons/sign — копия.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.6 KiB |
@@ -21,7 +21,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
threadPreparation(nullptr),
|
threadPreparation(nullptr),
|
||||||
taskTreePreparation(nullptr),
|
taskTreePreparation(nullptr),
|
||||||
waitAnimationWidget(nullptr),
|
waitAnimationWidget(nullptr),
|
||||||
dlgCheckerTask(nullptr),
|
dlgStatusTask(nullptr),
|
||||||
dlgListSubProc(nullptr),
|
dlgListSubProc(nullptr),
|
||||||
flOnlyActive(false),
|
flOnlyActive(false),
|
||||||
lastCurrentID(0)
|
lastCurrentID(0)
|
||||||
@@ -35,6 +35,8 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
treeWidget->setObjectName("treeWidget_AMMforTrainee");
|
treeWidget->setObjectName("treeWidget_AMMforTrainee");
|
||||||
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
||||||
|
|
||||||
|
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||||
|
|
||||||
connect(treeWidget, &QTreeWidget::itemClicked, this, &AMMtasksWidget::on_treeWidgetItemClicked);
|
connect(treeWidget, &QTreeWidget::itemClicked, this, &AMMtasksWidget::on_treeWidgetItemClicked);
|
||||||
connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &AMMtasksWidget::on_treeWidgetDoubleClicked);
|
connect(treeWidget, &QTreeWidget::itemDoubleClicked, this, &AMMtasksWidget::on_treeWidgetDoubleClicked);
|
||||||
|
|
||||||
@@ -63,8 +65,8 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
|
|
||||||
ui->btnDelete->setObjectName("btnDelete");
|
ui->btnDelete->setObjectName("btnDelete");
|
||||||
ui->btnDelete->setEnabled(false);
|
ui->btnDelete->setEnabled(false);
|
||||||
ui->btnCheck->setObjectName("btnCheck");
|
ui->btnStatus->setObjectName("btnStatus");
|
||||||
ui->btnCheck->setEnabled(false);
|
ui->btnStatus->setEnabled(false);
|
||||||
ui->btnOnlyActive->setObjectName("btnOnlyActive");
|
ui->btnOnlyActive->setObjectName("btnOnlyActive");
|
||||||
ui->btnOnlyActive->setEnabled(false);
|
ui->btnOnlyActive->setEnabled(false);
|
||||||
ui->btnAssignTask->setObjectName("btnAssignTask");
|
ui->btnAssignTask->setObjectName("btnAssignTask");
|
||||||
@@ -75,7 +77,19 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
if(type == TypeListTreeAMMFIM::listCommon)
|
if(type == TypeListTreeAMMFIM::listCommon)
|
||||||
{
|
{
|
||||||
ui->btnDelete->setVisible(false);
|
ui->btnDelete->setVisible(false);
|
||||||
ui->btnCheck->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
|
else
|
||||||
{
|
{
|
||||||
@@ -117,6 +131,13 @@ void AMMtasksWidget::deactivate()
|
|||||||
idTraineeSelected = 0;
|
idTraineeSelected = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AMMtasksWidget::setOneTaskAmm(TaskAmmFim *task)
|
||||||
|
{
|
||||||
|
QList<TaskAmmFim> listTask;
|
||||||
|
listTask.append(*task);
|
||||||
|
emit signal_prepareAMMListItemsForTrainee(listTask);
|
||||||
|
}
|
||||||
|
|
||||||
void AMMtasksWidget::waitAnimationWidgetShowWithPlay()
|
void AMMtasksWidget::waitAnimationWidgetShowWithPlay()
|
||||||
{
|
{
|
||||||
waitAnimationWidget->showWithPlay();
|
waitAnimationWidget->showWithPlay();
|
||||||
@@ -153,8 +174,8 @@ void AMMtasksWidget::closeEvent(QCloseEvent *event)
|
|||||||
|
|
||||||
void AMMtasksWidget::closeChildDlg()
|
void AMMtasksWidget::closeChildDlg()
|
||||||
{
|
{
|
||||||
if(dlgCheckerTask)
|
if(dlgStatusTask)
|
||||||
dlgCheckerTask->close();
|
dlgStatusTask->close();
|
||||||
if(dlgListSubProc)
|
if(dlgListSubProc)
|
||||||
dlgListSubProc->close();
|
dlgListSubProc->close();
|
||||||
}
|
}
|
||||||
@@ -183,7 +204,7 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
if(item == nullptr)
|
if(item == nullptr)
|
||||||
{
|
{
|
||||||
ui->btnDelete->setEnabled(false);
|
ui->btnDelete->setEnabled(false);
|
||||||
ui->btnCheck->setEnabled(false);
|
ui->btnStatus->setEnabled(false);
|
||||||
ui->btnAssignTask->setEnabled(false);
|
ui->btnAssignTask->setEnabled(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -204,14 +225,14 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
lastCurrentID = id;
|
lastCurrentID = id;
|
||||||
|
|
||||||
ui->btnDelete->setEnabled(false);
|
ui->btnDelete->setEnabled(false);
|
||||||
ui->btnCheck->setEnabled(false);
|
ui->btnStatus->setEnabled(false);
|
||||||
}
|
}
|
||||||
else if(this->type == TypeListTreeAMMFIM::listForTrainee)
|
else if(this->type == TypeListTreeAMMFIM::listForTrainee)
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *treeItemParent = item->parent();
|
QTreeWidgetItem *treeItemParent = item->parent();
|
||||||
if(treeItemParent == nullptr)
|
if(treeItemParent == nullptr)
|
||||||
{//Выбрана задача
|
{//Выбрана задача
|
||||||
ui->btnCheck->setEnabled(true);
|
ui->btnStatus->setEnabled(true);
|
||||||
ui->btnDelete->setEnabled(true);
|
ui->btnDelete->setEnabled(true);
|
||||||
|
|
||||||
int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
int id = item->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||||
@@ -222,7 +243,7 @@ void AMMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui->btnCheck->setEnabled(false);
|
ui->btnStatus->setEnabled(false);
|
||||||
ui->btnDelete->setEnabled(false);
|
ui->btnDelete->setEnabled(false);
|
||||||
}
|
}
|
||||||
ui->btnAssignTask->setEnabled(false);
|
ui->btnAssignTask->setEnabled(false);
|
||||||
@@ -282,7 +303,7 @@ void AMMtasksWidget::loadTasksAMM(bool flRequestFirst)
|
|||||||
|
|
||||||
void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||||
{
|
{
|
||||||
if(type != TypeListTreeAMMFIM::listForTrainee)
|
if(type != TypeListTreeAMMFIM::listForTrainee && type != TypeListTreeAMMFIM::listOneTask)
|
||||||
{
|
{
|
||||||
//Обновление дерева
|
//Обновление дерева
|
||||||
treeWidget->clear();
|
treeWidget->clear();
|
||||||
@@ -296,6 +317,13 @@ void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
|||||||
if(item != nullptr)
|
if(item != nullptr)
|
||||||
treeWidget->setCurrentItem(item);
|
treeWidget->setCurrentItem(item);
|
||||||
*/
|
*/
|
||||||
|
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
|
||||||
|
if(item != nullptr)
|
||||||
|
{
|
||||||
|
//treeWidget->setCurrentItem(item);
|
||||||
|
if(type == TypeListTreeAMMFIM::listOneTask)
|
||||||
|
treeWidget->expandAll();
|
||||||
|
}
|
||||||
|
|
||||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||||
setCurrentTask(lastCurrentID);
|
setCurrentTask(lastCurrentID);
|
||||||
@@ -363,7 +391,7 @@ void AMMtasksWidget::preparationTreeWidget()
|
|||||||
|
|
||||||
reSetHeadTreeWidget();
|
reSetHeadTreeWidget();
|
||||||
|
|
||||||
if(type == TypeListTreeAMMFIM::listCommon)
|
if(type == TypeListTreeAMMFIM::listCommon || type == TypeListTreeAMMFIM::listOneTask)
|
||||||
{
|
{
|
||||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true);
|
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true);
|
||||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true);
|
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true);
|
||||||
@@ -515,7 +543,7 @@ void AMMtasksWidget::on_btnDelete_clicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMMtasksWidget::on_btnCheck_clicked()
|
void AMMtasksWidget::on_btnStatus_clicked()
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
|
||||||
|
|
||||||
@@ -529,17 +557,17 @@ void AMMtasksWidget::on_btnCheck_clicked()
|
|||||||
if(!task.getID())
|
if(!task.getID())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
dlgCheckerTask = new DialogChekerTask(connectorToServer, "amm", this);
|
dlgStatusTask = new DialogChekerTask(connectorToServer, CheckerTask::TypeChecker::amm_check, this);
|
||||||
dlgCheckerTask->setTask(&task);
|
dlgStatusTask->setTask(&task);
|
||||||
dlgCheckerTask->exec();
|
dlgStatusTask->exec();
|
||||||
|
|
||||||
if(dlgCheckerTask->getFlChanged())
|
if(dlgStatusTask->getFlChanged())
|
||||||
waitAnimationWidget->showWithPlay();
|
waitAnimationWidget->showWithPlay();
|
||||||
|
|
||||||
if(dlgCheckerTask)
|
if(dlgStatusTask)
|
||||||
{
|
{
|
||||||
delete dlgCheckerTask;
|
delete dlgStatusTask;
|
||||||
dlgCheckerTask = nullptr;
|
dlgStatusTask = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
void deactivate();
|
void deactivate();
|
||||||
|
void setOneTaskAmm(TaskAmmFim* task);
|
||||||
void waitAnimationWidgetShowWithPlay();
|
void waitAnimationWidgetShowWithPlay();
|
||||||
|
|
||||||
void setDocsActualed(bool flActualed);
|
void setDocsActualed(bool flActualed);
|
||||||
@@ -42,7 +43,7 @@ protected:
|
|||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
|
||||||
void on_btnDelete_clicked();
|
void on_btnDelete_clicked();
|
||||||
void on_btnCheck_clicked();
|
void on_btnStatus_clicked();
|
||||||
void on_btnAssignTask_clicked();
|
void on_btnAssignTask_clicked();
|
||||||
void on_btnOnlyActive_clicked(); //AMM
|
void on_btnOnlyActive_clicked(); //AMM
|
||||||
|
|
||||||
@@ -99,7 +100,7 @@ private:
|
|||||||
TaskAMMFIMTreePreparation* taskTreePreparation;
|
TaskAMMFIMTreePreparation* taskTreePreparation;
|
||||||
WaitAnimationWidget *waitAnimationWidget;
|
WaitAnimationWidget *waitAnimationWidget;
|
||||||
|
|
||||||
DialogChekerTask* dlgCheckerTask;
|
DialogChekerTask* dlgStatusTask;
|
||||||
|
|
||||||
DialogListSubProc* dlgListSubProc;
|
DialogListSubProc* dlgListSubProc;
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,7 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QToolButton" name="btnCheck">
|
<widget class="QToolButton" name="btnStatus">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>50</width>
|
<width>50</width>
|
||||||
|
|||||||
@@ -2,42 +2,53 @@
|
|||||||
#include "specialmessagebox.h"
|
#include "specialmessagebox.h"
|
||||||
#include "ui_checkertask.h"
|
#include "ui_checkertask.h"
|
||||||
#include "fimtaskswidget.h"
|
#include "fimtaskswidget.h"
|
||||||
|
#include "ammtaskswidget.h"
|
||||||
|
|
||||||
CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent) :
|
CheckerTask::CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
ui(new Ui::CheckerTask),
|
ui(new Ui::CheckerTask),
|
||||||
connectorToServer(connectorToServer),
|
connectorToServer(connectorToServer),
|
||||||
fimTasksWidget(nullptr),
|
fimTasksWidget(nullptr),
|
||||||
|
ammTasksWidget(nullptr),
|
||||||
flChanged(false),
|
flChanged(false),
|
||||||
id_task(0),
|
id_task(0),
|
||||||
type("fim")
|
type(TypeChecker::fim_check)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
ui->btnNew->setObjectName("btnNew");
|
||||||
|
ui->btnCheckup->setObjectName("btnCheckup");
|
||||||
|
ui->btnWrong->setObjectName("btnWrong");
|
||||||
|
ui->btnCompleted->setObjectName("btnCompleted");
|
||||||
|
|
||||||
this->type = type;
|
this->type = type;
|
||||||
|
|
||||||
if(type == "fim")
|
if(type == TypeChecker::fim_check)
|
||||||
{
|
{
|
||||||
fimTasksWidget = new FIMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this);
|
fimTasksWidget = new FIMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this);
|
||||||
|
|
||||||
ui->verticalLayout_3->addWidget(fimTasksWidget);
|
ui->verticalLayout_3->addWidget(fimTasksWidget);
|
||||||
|
|
||||||
ui->lblName->setVisible(false);
|
ui->lblName->setVisible(false);
|
||||||
ui->lblDMcode->setVisible(false);
|
ui->lblDMcode->setVisible(false);
|
||||||
|
|
||||||
ui->plainText->setReadOnly(true);
|
ui->plainText->setReadOnly(true);
|
||||||
ui->plainText->setObjectName("plainText");
|
ui->plainText->setObjectName("plainText");
|
||||||
}
|
}
|
||||||
else
|
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->plainText->setVisible(false);
|
||||||
ui->label->setVisible(false);
|
ui->label->setVisible(false);
|
||||||
//ui->label_Task->setVisible(false);
|
|
||||||
ui->btnRight->setText(tr("Completed"));
|
|
||||||
ui->btnWrong->setText(tr("New"));
|
|
||||||
ui->btnWrong->setIcon(QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
|
||||||
|
|
||||||
ui->btnRight->setEnabled(false);
|
|
||||||
ui->btnWrong->setEnabled(false);
|
ui->btnWrong->setEnabled(false);
|
||||||
|
ui->btnCheckup->setEnabled(false);
|
||||||
|
ui->btnWrong->setVisible(false);
|
||||||
|
ui->btnCheckup->setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,6 +60,12 @@ CheckerTask::~CheckerTask()
|
|||||||
fimTasksWidget = nullptr;
|
fimTasksWidget = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(ammTasksWidget)
|
||||||
|
{
|
||||||
|
delete ammTasksWidget;
|
||||||
|
ammTasksWidget = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,20 +79,68 @@ void CheckerTask::setTask(TaskAmmFim* task)
|
|||||||
this->task = *task;
|
this->task = *task;
|
||||||
id_task = task->getID();
|
id_task = task->getID();
|
||||||
|
|
||||||
if(type == "fim")
|
if(type == TypeChecker::fim_check)
|
||||||
{
|
{
|
||||||
//Задача
|
//Задача
|
||||||
fimTasksWidget->setOneTaskFim(&this->task);
|
fimTasksWidget->setOneTaskFim(&this->task);
|
||||||
|
|
||||||
//Репорт
|
//Репорт
|
||||||
outReport(this->task.report);
|
outReport(this->task.report);
|
||||||
}
|
|
||||||
else if(type == "amm")
|
|
||||||
{
|
|
||||||
if(this->task.status == "new")
|
if(this->task.status == "new")
|
||||||
ui->btnRight->setEnabled(true);
|
{
|
||||||
else
|
ui->btnNew->setEnabled(false);
|
||||||
|
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")
|
||||||
|
{
|
||||||
|
ui->btnNew->setEnabled(true);
|
||||||
|
ui->btnCheckup->setEnabled(false);
|
||||||
ui->btnWrong->setEnabled(true);
|
ui->btnWrong->setEnabled(true);
|
||||||
|
ui->btnCompleted->setEnabled(true);
|
||||||
|
}
|
||||||
|
else if(this->task.status == "failed")
|
||||||
|
{
|
||||||
|
ui->btnNew->setEnabled(true);
|
||||||
|
ui->btnCheckup->setEnabled(true);
|
||||||
|
ui->btnWrong->setEnabled(false);
|
||||||
|
ui->btnCompleted->setEnabled(true);
|
||||||
|
}
|
||||||
|
else if(this->task.status == "completed")
|
||||||
|
{
|
||||||
|
ui->btnNew->setEnabled(true);
|
||||||
|
ui->btnCheckup->setEnabled(true);
|
||||||
|
ui->btnWrong->setEnabled(true);
|
||||||
|
ui->btnCompleted->setEnabled(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->btnNew->setEnabled(false);
|
||||||
|
ui->btnCheckup->setEnabled(false);
|
||||||
|
ui->btnWrong->setEnabled(false);
|
||||||
|
ui->btnCompleted->setEnabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(type == TypeChecker::amm_check)
|
||||||
|
{
|
||||||
|
//Задача
|
||||||
|
ammTasksWidget->setOneTaskAmm(&this->task);
|
||||||
|
|
||||||
|
if(this->task.status == "new")
|
||||||
|
{
|
||||||
|
ui->btnNew->setEnabled(false);
|
||||||
|
ui->btnCompleted->setEnabled(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->btnNew->setEnabled(true);
|
||||||
|
ui->btnCompleted->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
ui->lblName->setText(task->ammProcedure.title);
|
ui->lblName->setText(task->ammProcedure.title);
|
||||||
ui->lblDMcode->setText(task->ammProcedure.dmCode);
|
ui->lblDMcode->setText(task->ammProcedure.dmCode);
|
||||||
@@ -100,7 +165,7 @@ void CheckerTask::setTask(TaskAmmFim* task)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui->lblStatusCurrText->setText(tr("new"));
|
ui->lblStatusCurrText->setText(tr("new"));
|
||||||
ui->lblStatusCurrIco->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
|
ui->lblStatusCurrIco->setPixmap(QPixmap(QStringLiteral(":/resources/icons/new.png")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,19 +222,70 @@ void CheckerTask::outReport(FIMReport report)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//НЕВЕРНО
|
||||||
void CheckerTask::on_btnWrong_clicked()
|
void CheckerTask::on_btnWrong_clicked()
|
||||||
{
|
{
|
||||||
TypeQueryToDB typeQuery;
|
TypeQueryToDB typeQuery;
|
||||||
QString status;
|
QString status;
|
||||||
QString msgString;
|
QString msgString;
|
||||||
|
|
||||||
if(type == "fim")
|
if(type == TypeChecker::fim_check)
|
||||||
{
|
{
|
||||||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||||||
status = "failed";
|
status = "failed";
|
||||||
msgString = tr("Change task status?\nThe status will be set:\n'failed'");
|
msgString = tr("Change task status?\nThe status will be set:\n'failed'");
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
||||||
|
{
|
||||||
|
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
|
||||||
|
this->parentWidget()->close();
|
||||||
|
flChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//ВЫПОЛНЕНО
|
||||||
|
void CheckerTask::on_btnCompleted_clicked()
|
||||||
|
{
|
||||||
|
TypeQueryToDB typeQuery;
|
||||||
|
QString status;
|
||||||
|
QString msgString;
|
||||||
|
|
||||||
|
if(type == TypeChecker::fim_check)
|
||||||
|
{
|
||||||
|
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||||||
|
status = "completed";
|
||||||
|
msgString = tr("Change task status?\nThe status will be set:\n'completed'");
|
||||||
|
}
|
||||||
|
else if(type == TypeChecker::amm_check)
|
||||||
|
{
|
||||||
|
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
|
||||||
|
status = "completed";
|
||||||
|
msgString = tr("Change task status?\nThe status will be set:\n'completed'");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
||||||
|
{
|
||||||
|
connectorToServer->sendQueryToDB(typeQuery, id_task, (void*)&status);
|
||||||
|
this->parentWidget()->close();
|
||||||
|
flChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//НОВАЯ
|
||||||
|
void CheckerTask::on_btnNew_clicked()
|
||||||
|
{
|
||||||
|
TypeQueryToDB typeQuery;
|
||||||
|
QString status;
|
||||||
|
QString msgString;
|
||||||
|
|
||||||
|
if(type == TypeChecker::fim_check)
|
||||||
|
{
|
||||||
|
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||||||
|
status = "new";
|
||||||
|
msgString = tr("Change task status?\nThe status will be set:\n'new'");
|
||||||
|
}
|
||||||
|
else if(type == TypeChecker::amm_check)
|
||||||
{
|
{
|
||||||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
|
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
|
||||||
status = "new";
|
status = "new";
|
||||||
@@ -184,23 +300,18 @@ void CheckerTask::on_btnWrong_clicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CheckerTask::on_btnRight_clicked()
|
//НА ПРОВЕРКЕ
|
||||||
|
void CheckerTask::on_btnCheckup_clicked()
|
||||||
{
|
{
|
||||||
TypeQueryToDB typeQuery;
|
TypeQueryToDB typeQuery;
|
||||||
QString status;
|
QString status;
|
||||||
QString msgString;
|
QString msgString;
|
||||||
|
|
||||||
if(type == "fim")
|
if(type == TypeChecker::fim_check)
|
||||||
{
|
{
|
||||||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_FIM_TO_TRAINEE;
|
||||||
status = "completed";
|
status = "checkup";
|
||||||
msgString = tr("Change task status?\nThe status will be set:\n'completed'");
|
msgString = tr("Change task status?\nThe status will be set:\n'checkup'");
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
typeQuery = TypeQueryToDB::TYPE_QUERY_CHANGE_STATUS_REPORT_TASK_AMM_TO_TRAINEE;
|
|
||||||
status = "completed";
|
|
||||||
msgString = tr("Change task status?\nThe status will be set:\n'completed'");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
if(SpecMsgBox::WarningYesNo(this, msgString) == QDialog::Accepted)
|
||||||
|
|||||||
@@ -13,13 +13,21 @@ class CheckerTask;
|
|||||||
}
|
}
|
||||||
|
|
||||||
class FIMtasksWidget;
|
class FIMtasksWidget;
|
||||||
|
class AMMtasksWidget;
|
||||||
|
|
||||||
class CheckerTask : public QWidget
|
class CheckerTask : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CheckerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent = nullptr);
|
enum TypeChecker
|
||||||
|
{
|
||||||
|
amm_check,
|
||||||
|
fim_check
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit CheckerTask(ConnectorToServer* connectorToServer, TypeChecker type, QWidget *parent = nullptr);
|
||||||
~CheckerTask();
|
~CheckerTask();
|
||||||
|
|
||||||
void closeEvent(QCloseEvent *event) override;
|
void closeEvent(QCloseEvent *event) override;
|
||||||
@@ -33,7 +41,9 @@ public:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_btnWrong_clicked();
|
void on_btnWrong_clicked();
|
||||||
void on_btnRight_clicked();
|
void on_btnCompleted_clicked();
|
||||||
|
void on_btnNew_clicked();
|
||||||
|
void on_btnCheckup_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void outReport(FIMReport report);
|
void outReport(FIMReport report);
|
||||||
@@ -47,10 +57,11 @@ private:
|
|||||||
private:
|
private:
|
||||||
ConnectorToServer* connectorToServer;
|
ConnectorToServer* connectorToServer;
|
||||||
FIMtasksWidget* fimTasksWidget;
|
FIMtasksWidget* fimTasksWidget;
|
||||||
|
AMMtasksWidget* ammTasksWidget;
|
||||||
|
|
||||||
bool flChanged;
|
bool flChanged;
|
||||||
int id_task;
|
int id_task;
|
||||||
QString type;
|
TypeChecker type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DIALOGCHECKTASK_H
|
#endif // DIALOGCHECKTASK_H
|
||||||
|
|||||||
@@ -53,6 +53,9 @@
|
|||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap resource="../InstructorsAndTrainees.qrc">:/resources/icons/rectGray.png</pixmap>
|
<pixmap resource="../InstructorsAndTrainees.qrc">:/resources/icons/rectGray.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="scaledContents">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@@ -159,6 +162,58 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="btnNew">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>50</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>New</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
|
<normaloff>:/resources/icons/new.png</normaloff>:/resources/icons/new.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>32</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolButtonStyle">
|
||||||
|
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="btnCheckup">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>50</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Checkup</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
|
<normaloff>:/resources/icons/circleYellow.png</normaloff>:/resources/icons/circleYellow.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>32</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolButtonStyle">
|
||||||
|
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QToolButton" name="btnWrong">
|
<widget class="QToolButton" name="btnWrong">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
@@ -186,7 +241,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QToolButton" name="btnRight">
|
<widget class="QToolButton" name="btnCompleted">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>50</width>
|
<width>50</width>
|
||||||
@@ -194,7 +249,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Right</string>
|
<string>Completed</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../InstructorsAndTrainees.qrc">
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include "dialogchekertask.h"
|
#include "dialogchekertask.h"
|
||||||
|
|
||||||
DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent) :
|
DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, CheckerTask::TypeChecker type, QWidget *parent) :
|
||||||
QDialog(parent,
|
QDialog(parent,
|
||||||
Qt::WindowSystemMenuHint
|
Qt::WindowSystemMenuHint
|
||||||
| Qt::WindowMaximizeButtonHint
|
| Qt::WindowMaximizeButtonHint
|
||||||
@@ -13,17 +13,22 @@ DialogChekerTask::DialogChekerTask(ConnectorToServer* connectorToServer, QString
|
|||||||
|
|
||||||
QHBoxLayout *layout = new QHBoxLayout(this);
|
QHBoxLayout *layout = new QHBoxLayout(this);
|
||||||
layout->addWidget(checkerTask);
|
layout->addWidget(checkerTask);
|
||||||
this->setWindowTitle(tr("Check Task"));
|
|
||||||
|
|
||||||
if(type == "fim")
|
switch (type)
|
||||||
{
|
{
|
||||||
|
case CheckerTask::TypeChecker::fim_check:
|
||||||
|
this->setWindowTitle(tr("Check Task"));
|
||||||
this->setMinimumSize(1400, 700);
|
this->setMinimumSize(1400, 700);
|
||||||
this->setWindowState(Qt::WindowMaximized);
|
//this->setWindowState(Qt::WindowMaximized);
|
||||||
}
|
break;
|
||||||
else
|
case CheckerTask::TypeChecker::amm_check:
|
||||||
{
|
this->setWindowTitle(tr("Status Task"));
|
||||||
this->setMinimumSize(400, 200);
|
this->setMinimumSize(1400, 500);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->setModal(true);
|
this->setModal(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class DialogChekerTask : public QDialog
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
DialogChekerTask(ConnectorToServer* connectorToServer, QString type, QWidget *parent = nullptr);
|
DialogChekerTask(ConnectorToServer* connectorToServer, CheckerTask::TypeChecker type, QWidget *parent = nullptr);
|
||||||
~DialogChekerTask();
|
~DialogChekerTask();
|
||||||
|
|
||||||
void closeEvent(QCloseEvent *event) override;
|
void closeEvent(QCloseEvent *event) override;
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
treeWidget = new QTreeWidget();
|
treeWidget = new QTreeWidget();
|
||||||
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
||||||
|
|
||||||
|
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||||
|
|
||||||
//connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged);
|
//connect(treeWidget, &QTreeWidget::currentItemChanged, this, &FIMtasksWidget::on_treeWidgetCurrentItemChanged);
|
||||||
connect(treeWidget, &QTreeWidget::itemClicked, this, &FIMtasksWidget::on_treeWidgetItemClicked);
|
connect(treeWidget, &QTreeWidget::itemClicked, this, &FIMtasksWidget::on_treeWidgetItemClicked);
|
||||||
|
|
||||||
@@ -191,10 +193,11 @@ void FIMtasksWidget::on_treeWidgetItemClicked(QTreeWidgetItem *item, int column)
|
|||||||
|
|
||||||
ui->btnDelete->setEnabled(true);
|
ui->btnDelete->setEnabled(true);
|
||||||
|
|
||||||
if(task.status != "new")
|
ui->btnCheck->setEnabled(true);
|
||||||
|
/*if(task.status != "new")
|
||||||
ui->btnCheck->setEnabled(true);
|
ui->btnCheck->setEnabled(true);
|
||||||
else
|
else
|
||||||
ui->btnCheck->setEnabled(false);
|
ui->btnCheck->setEnabled(false);*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -422,7 +425,7 @@ void FIMtasksWidget::on_btnCheck_clicked()
|
|||||||
if(!task.getID())
|
if(!task.getID())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
dlgCheckerTask = new DialogChekerTask(connectorToServer, "fim", this);
|
dlgCheckerTask = new DialogChekerTask(connectorToServer, CheckerTask::TypeChecker::fim_check, this);
|
||||||
dlgCheckerTask->setTask(&task);
|
dlgCheckerTask->setTask(&task);
|
||||||
dlgCheckerTask->exec();
|
dlgCheckerTask->exec();
|
||||||
|
|
||||||
@@ -464,6 +467,7 @@ void FIMtasksWidget::setCurrentTask(int id)
|
|||||||
if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id)
|
if(item->text(ColumnsTreeFIM::clmnFIM_ID).toInt() == id)
|
||||||
{
|
{
|
||||||
treeWidget->setCurrentItem(item);
|
treeWidget->setCurrentItem(item);
|
||||||
|
treeWidget->itemClicked(item, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
void deactivate();
|
void deactivate();
|
||||||
void setOneTaskFim(TaskAmmFim* task); //FIM
|
void setOneTaskFim(TaskAmmFim* task);
|
||||||
void waitAnimationWidgetShowWithPlay();
|
void waitAnimationWidgetShowWithPlay();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
<string>Assign</string>
|
<string>Assign</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../resources.qrc">
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
<normaloff>:/resources/icons/assignTask.png</normaloff>:/resources/icons/assignTask.png</iconset>
|
<normaloff>:/resources/icons/assignTask.png</normaloff>:/resources/icons/assignTask.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
<string>Check</string>
|
<string>Check</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../resources.qrc">
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
<normaloff>:/resources/icons/check.png</normaloff>:/resources/icons/check.png</iconset>
|
<normaloff>:/resources/icons/check.png</normaloff>:/resources/icons/check.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -106,7 +106,7 @@
|
|||||||
<string>Delete</string>
|
<string>Delete</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../resources.qrc">
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
<normaloff>:/resources/icons/delete.png</normaloff>:/resources/icons/delete.png</iconset>
|
<normaloff>:/resources/icons/delete.png</normaloff>:/resources/icons/delete.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../resources.qrc"/>
|
<include location="../InstructorsAndTrainees.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ ListSubProc::ListSubProc(QWidget *parent) :
|
|||||||
treeWidget = new QTreeWidget();
|
treeWidget = new QTreeWidget();
|
||||||
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
||||||
|
|
||||||
|
treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
|
||||||
|
|
||||||
preparationTreeWidget();
|
preparationTreeWidget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
<string>Assign</string>
|
<string>Assign</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../../ServerLMS/ServerLMS.qrc">
|
<iconset resource="../InstructorsAndTrainees.qrc">
|
||||||
<normaloff>:/resources/icons/circleGreen.png</normaloff>:/resources/icons/circleGreen.png</iconset>
|
<normaloff>:/resources/icons/circleGreen.png</normaloff>:/resources/icons/circleGreen.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../../ServerLMS/ServerLMS.qrc"/>
|
<include location="../InstructorsAndTrainees.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|||||||
@@ -43,6 +43,15 @@
|
|||||||
<property name="frameShadow">
|
<property name="frameShadow">
|
||||||
<enum>QFrame::Sunken</enum>
|
<enum>QFrame::Sunken</enum>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="verticalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalScrollBarPolicy">
|
||||||
|
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||||
|
</property>
|
||||||
|
<property name="autoScroll">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|||||||
@@ -525,13 +525,13 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmm
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->setText(ColumnsTreeAMM::clmnAMM_status, tr("new"));
|
item->setText(ColumnsTreeAMM::clmnAMM_status, tr("new"));
|
||||||
item->setIcon(ColumnsTreeAMM::clmnAMM_status, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
item->setIcon(ColumnsTreeAMM::clmnAMM_status, QIcon(QStringLiteral(":/resources/icons/new.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
item->setToolTip(0, text);
|
item->setToolTip(0, text);
|
||||||
|
|
||||||
|
|
||||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
if(type == TypeListTreeAMMFIM::listForTrainee || type == TypeListTreeAMMFIM::listOneTask)
|
||||||
{
|
{
|
||||||
//Подпроцедуры
|
//Подпроцедуры
|
||||||
if(task.listSubProc.count())
|
if(task.listSubProc.count())
|
||||||
@@ -598,7 +598,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
itemTask->setText(ColumnsTreeFIM::clmnFIM_status, tr("new"));
|
itemTask->setText(ColumnsTreeFIM::clmnFIM_status, tr("new"));
|
||||||
itemTask->setIcon(ColumnsTreeFIM::clmnFIM_status, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
itemTask->setIcon(ColumnsTreeFIM::clmnFIM_status, QIcon(QStringLiteral(":/resources/icons/new.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -635,7 +635,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array)
|
|||||||
itemSign->setText(ColumnsTreeFIM::clmnFIM_Title, sign.description);
|
itemSign->setText(ColumnsTreeFIM::clmnFIM_Title, sign.description);
|
||||||
//itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable);
|
//itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable);
|
||||||
//itemSign->setCheckState(ColumnsTreeFIM::clmnFIM_Title, Qt::Checked);
|
//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);
|
itemSign->setToolTip(ColumnsTreeFIM::clmnFIM_Title, sign.description);
|
||||||
|
|
||||||
itemMalfunction->addChild(itemSign);
|
itemMalfunction->addChild(itemSign);
|
||||||
@@ -691,7 +691,7 @@ void TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmm
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
itemTask->setText(ColumnsTreeFIM::clmnFIM_status, tr("new"));
|
itemTask->setText(ColumnsTreeFIM::clmnFIM_status, tr("new"));
|
||||||
itemTask->setIcon(ColumnsTreeFIM::clmnFIM_status, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
itemTask->setIcon(ColumnsTreeFIM::clmnFIM_status, QIcon(QStringLiteral(":/resources/icons/new.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 9.7 KiB |
BIN
LibServer/resources/icons/old/lock.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
LibServer/resources/icons/old/stop.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 12 KiB |
@@ -2,7 +2,6 @@
|
|||||||
#include <QXmlStreamReader>
|
#include <QXmlStreamReader>
|
||||||
#include <QXmlStreamAttribute>
|
#include <QXmlStreamAttribute>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QErrorMessage>
|
#include <QErrorMessage>
|
||||||
#include "serverlmswidget.h"
|
#include "serverlmswidget.h"
|
||||||
@@ -57,6 +56,8 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
|||||||
waitAnimationWidget->initialize(movie,this);
|
waitAnimationWidget->initialize(movie,this);
|
||||||
|
|
||||||
waitAnimationWidget->showWithPlay();
|
waitAnimationWidget->showWithPlay();
|
||||||
|
|
||||||
|
updateStateOnlyVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerLMSWidget::~ServerLMSWidget()
|
ServerLMSWidget::~ServerLMSWidget()
|
||||||
@@ -100,7 +101,9 @@ void ServerLMSWidget::changeEvent(QEvent *event)
|
|||||||
{
|
{
|
||||||
ui->retranslateUi(this); // переведём окно заново
|
ui->retranslateUi(this); // переведём окно заново
|
||||||
|
|
||||||
updateStateServer();
|
updateStateOnlyServer();
|
||||||
|
updateStateOnlyDB();
|
||||||
|
updateStateOnlyVersion();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +140,7 @@ void ServerLMSWidget::slot_AddMessageToLog(QString message)
|
|||||||
void ServerLMSWidget::slot_ErrorPostgreSQL(QString text)
|
void ServerLMSWidget::slot_ErrorPostgreSQL(QString text)
|
||||||
{
|
{
|
||||||
emit signal_Menu_ShowWindow();
|
emit signal_Menu_ShowWindow();
|
||||||
SpecMsgBox::CriticalClose(this, tr("Error PostgreSQL!"));
|
SpecMsgBox::CriticalClose(this, tr("Error PostgreSQL!") + "\n" + text);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::slot_UpdateDocs()
|
void ServerLMSWidget::slot_UpdateDocs()
|
||||||
@@ -161,7 +164,9 @@ void ServerLMSWidget::slot_startInitialization_step1()
|
|||||||
|
|
||||||
flStartInitialization = true;
|
flStartInitialization = true;
|
||||||
|
|
||||||
updateStateServer();
|
updateStateOnlyServer();
|
||||||
|
updateStateOnlyDB();
|
||||||
|
updateStateOnlyVersion();
|
||||||
|
|
||||||
QApplication::restoreOverrideCursor();
|
QApplication::restoreOverrideCursor();
|
||||||
|
|
||||||
@@ -177,13 +182,13 @@ void ServerLMSWidget::slot_startInitialization_step1()
|
|||||||
void ServerLMSWidget::slot_setVersion(QString versionStr)
|
void ServerLMSWidget::slot_setVersion(QString versionStr)
|
||||||
{
|
{
|
||||||
this->versionStr = versionStr;
|
this->versionStr = versionStr;
|
||||||
ui->lblVersionText->setText(versionStr);
|
Logger::instance().log("Set Version: " + versionStr);
|
||||||
|
updateStateOnlyVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::start()
|
void ServerLMSWidget::start()
|
||||||
{
|
{
|
||||||
startInitialization_step0();
|
startInitialization_step0();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::slot_BlockAutorization(bool block)
|
void ServerLMSWidget::slot_BlockAutorization(bool block)
|
||||||
@@ -191,15 +196,14 @@ void ServerLMSWidget::slot_BlockAutorization(bool block)
|
|||||||
if(block)
|
if(block)
|
||||||
{
|
{
|
||||||
server->blockAutorization();
|
server->blockAutorization();
|
||||||
ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/lock.png")));
|
Logger::instance().log("Autorization is blocked");
|
||||||
//emit signal_Tray_ShowMessage(tr("Authorization blocked!"));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
server->unBlockAutorization();
|
server->unBlockAutorization();
|
||||||
ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/open.png")));
|
Logger::instance().log("Autorization is unblocked");
|
||||||
//emit signal_Tray_ShowMessage(tr("Authorization unblocked!"));
|
|
||||||
}
|
}
|
||||||
|
updateStateOnlyServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::slot_LanguageChanged(QString language)
|
void ServerLMSWidget::slot_LanguageChanged(QString language)
|
||||||
@@ -215,28 +219,35 @@ void ServerLMSWidget::on_btnStartServer_clicked()
|
|||||||
if(server->startServer())
|
if(server->startServer())
|
||||||
{
|
{
|
||||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||||
QApplication::restoreOverrideCursor();
|
|
||||||
|
|
||||||
ui->btnStartServer->setEnabled(false);
|
ui->btnStartServer->setEnabled(false);
|
||||||
ui->btnStopServer->setEnabled(true);
|
ui->btnStopServer->setEnabled(true);
|
||||||
slot_BlockAutorization(false);
|
slot_BlockAutorization(false);
|
||||||
|
|
||||||
|
updateStateOnlyServer();
|
||||||
|
|
||||||
emit signal_Tray_ShowMessage(tr("Server is started!"));
|
emit signal_Tray_ShowMessage(tr("Server is started!"));
|
||||||
|
|
||||||
|
QApplication::restoreOverrideCursor();
|
||||||
}
|
}
|
||||||
updateStateServer();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::on_btnStopServer_clicked()
|
void ServerLMSWidget::on_btnStopServer_clicked()
|
||||||
{
|
{
|
||||||
if(server->stopServer())
|
if(server->stopServer())
|
||||||
{
|
{
|
||||||
|
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||||
|
|
||||||
ui->btnStopServer->setEnabled(false);
|
ui->btnStopServer->setEnabled(false);
|
||||||
ui->btnStartServer->setEnabled(true);
|
ui->btnStartServer->setEnabled(true);
|
||||||
slot_BlockAutorization(true);
|
slot_BlockAutorization(true);
|
||||||
|
|
||||||
|
updateStateOnlyServer();
|
||||||
|
|
||||||
emit signal_Tray_ShowMessage(tr("Server is stoped!"));
|
emit signal_Tray_ShowMessage(tr("Server is stoped!"));
|
||||||
|
|
||||||
|
QApplication::restoreOverrideCursor();
|
||||||
}
|
}
|
||||||
updateStateServer();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::on_btnSettings_clicked()
|
void ServerLMSWidget::on_btnSettings_clicked()
|
||||||
@@ -271,7 +282,7 @@ void ServerLMSWidget::on_btnSettings_clicked()
|
|||||||
|
|
||||||
providerDBLMS->DisConnectionFromDB();
|
providerDBLMS->DisConnectionFromDB();
|
||||||
|
|
||||||
updateStateServer();
|
updateStateOnlyDB();
|
||||||
|
|
||||||
SpecMsgBox::WarningClose(this, tr("Database settings have been changed.\nThe server will be restarted."));
|
SpecMsgBox::WarningClose(this, tr("Database settings have been changed.\nThe server will be restarted."));
|
||||||
|
|
||||||
@@ -292,12 +303,12 @@ void ServerLMSWidget::slot_trySetServerState(PacketType packetType)
|
|||||||
if (packetType == PacketType::BUSY)
|
if (packetType == PacketType::BUSY)
|
||||||
{
|
{
|
||||||
server->blockAutorization();
|
server->blockAutorization();
|
||||||
updateStateServer();
|
updateStateOnlyServer();
|
||||||
}
|
}
|
||||||
else if (packetType == PacketType::FREE)
|
else if (packetType == PacketType::FREE)
|
||||||
{
|
{
|
||||||
server->unBlockAutorization();
|
server->unBlockAutorization();
|
||||||
updateStateServer();
|
updateStateOnlyServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -375,41 +386,43 @@ void ServerLMSWidget::startInitialization_step0()
|
|||||||
|
|
||||||
processingSystem = new ProcessingSystem(providerDBLMS, updateController, docsUpdater);
|
processingSystem = new ProcessingSystem(providerDBLMS, updateController, docsUpdater);
|
||||||
|
|
||||||
dataParser = new DataParser(assetsManager,processingSystem);
|
dataParser = new DataParser(assetsManager, processingSystem);
|
||||||
|
|
||||||
commonClientHandler = new CommonClientHandler;
|
commonClientHandler = new CommonClientHandler;
|
||||||
connect(this,&ServerLMSWidget::signal_DocsChanged,commonClientHandler, &CommonClientHandler::slot_DocsChanged);
|
connect(this, &ServerLMSWidget::signal_DocsChanged, commonClientHandler, &CommonClientHandler::slot_DocsChanged);
|
||||||
connect(commonClientHandler,&CommonClientHandler::sigSetServerState,this,&ServerLMSWidget::slot_trySetServerState);
|
connect(commonClientHandler, &CommonClientHandler::sigSetServerState, this, &ServerLMSWidget::slot_trySetServerState);
|
||||||
|
|
||||||
server = new MultiThreadServer(this,updateController,processingSystem,dataParser,6000);
|
server = new MultiThreadServer(this, updateController, processingSystem, dataParser, 6000);
|
||||||
|
|
||||||
loggerThread->start();
|
loggerThread->start();
|
||||||
updateThread->start();
|
updateThread->start();
|
||||||
|
|
||||||
commonClientHandler->initialize(server->getClientsMap(),processingSystem,dataParser);
|
commonClientHandler->initialize(server->getClientsMap(), processingSystem, dataParser);
|
||||||
processingSystem->initialize(server,dataParser,commonClientHandler,updateController,chatSystem);
|
processingSystem->initialize(server, dataParser, commonClientHandler, updateController, chatSystem);
|
||||||
chatSystem->initialize(commonClientHandler,dataParser,server->getClientsMap());
|
chatSystem->initialize(commonClientHandler, dataParser, server->getClientsMap());
|
||||||
|
|
||||||
Logger::instance().moveToThread(loggerThread);
|
Logger::instance().moveToThread(loggerThread);
|
||||||
Logger::instance().setLoggingType(LoggingType::WIDGET);
|
Logger::instance().setLoggingType(LoggingType::WIDGET);
|
||||||
Logger::instance().setLogToFile(true);
|
Logger::instance().setLogToFile(true);
|
||||||
|
|
||||||
connect(this,&ServerLMSWidget::sigUpdateControllerInitialize,updateController,&UpdateController::initialize/*,Qt::DirectConnection*/);
|
connect(this, &ServerLMSWidget::sigUpdateControllerInitialize, updateController, &UpdateController::initialize);
|
||||||
connect(updateController,&UpdateController::sigInitializeFinished, this,&ServerLMSWidget::slot_startInitialization_step1/*,Qt::DirectConnection*/);
|
connect(updateController, &UpdateController::sigInitializeFinished, this, &ServerLMSWidget::slot_startInitialization_step1);
|
||||||
connect(this,&ServerLMSWidget::sigCalculateFullHash,updateController,&UpdateController::calculateFullHash,Qt::AutoConnection);
|
connect(this, &ServerLMSWidget::sigCalculateFullHash, updateController, &UpdateController::calculateFullHash, Qt::AutoConnection);
|
||||||
connect(updateController,&UpdateController::sigErrorRequired,this,&ServerLMSWidget::setError);
|
connect(updateController, &UpdateController::sigErrorRequired, this, &ServerLMSWidget::setError);
|
||||||
connect(updateController,&UpdateController::sigUpdateDocs,this,&ServerLMSWidget::slot_UpdateDocs,Qt::AutoConnection);
|
connect(updateController, &UpdateController::sigUpdateDocs, this, &ServerLMSWidget::slot_UpdateDocs, Qt::AutoConnection);
|
||||||
connect(&Logger::instance(),&Logger::sigLogToWidget,this, &ServerLMSWidget::slot_AddMessageToLog,Qt::QueuedConnection);
|
connect(&Logger::instance(), &Logger::sigLogToWidget, this, &ServerLMSWidget::slot_AddMessageToLog, Qt::QueuedConnection);
|
||||||
|
|
||||||
connect(assetsManager,&AssetsManager::signal_setVersion, this, &ServerLMSWidget::slot_setVersion);
|
connect(assetsManager, &AssetsManager::signal_setVersion, this, &ServerLMSWidget::slot_setVersion);
|
||||||
|
|
||||||
emit sigUpdateControllerInitialize(commonClientHandler,dataParser,assetsManager);
|
emit sigUpdateControllerInitialize(commonClientHandler, dataParser, assetsManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::tryConnectionToDB()
|
void ServerLMSWidget::tryConnectionToDB()
|
||||||
{
|
{
|
||||||
if(! providerDBLMS->ConnectionToDB())
|
if(! providerDBLMS->ConnectionToDB())
|
||||||
{
|
{
|
||||||
|
Logger::instance().log("Database connection error!");
|
||||||
|
|
||||||
emit signal_Tray_ShowMessage(tr("Database connection error!"), QSystemTrayIcon::Critical);
|
emit signal_Tray_ShowMessage(tr("Database connection error!"), QSystemTrayIcon::Critical);
|
||||||
|
|
||||||
emit signal_Menu_ShowWindow();
|
emit signal_Menu_ShowWindow();
|
||||||
@@ -436,34 +449,38 @@ void ServerLMSWidget::tryConnectionToDB()
|
|||||||
on_btnStartServer_clicked();
|
on_btnStartServer_clicked();
|
||||||
}
|
}
|
||||||
|
|
||||||
updateStateServer();
|
updateStateOnlyDB();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerLMSWidget::updateStateServer()
|
void ServerLMSWidget::updateStateOnlyServer()
|
||||||
{
|
{
|
||||||
if(server)
|
if(server)
|
||||||
{
|
{
|
||||||
if(server->getStateServer() == EStateServer::started)
|
if(server->getStateServer() == EStateServer::started)
|
||||||
{
|
{
|
||||||
ui->lblOnOffText->setText(tr("started"));
|
if(server->getStateBlockAutorization() == EStateBlockAutorization::unblocked)
|
||||||
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
{
|
||||||
|
ui->lblOnOffText->setText(tr("started"));
|
||||||
|
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->lblOnOffText->setText(tr("started") + ", " + tr("locked"));
|
||||||
|
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/lock.png")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui->lblOnOffText->setText(tr("stoped"));
|
ui->lblOnOffText->setText(tr("stoped"));
|
||||||
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGray.png")));
|
ui->lblOnOff->setPixmap(QPixmap(QStringLiteral(":/resources/icons/stop.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(server->getStateBlockAutorization() == EStateBlockAutorization::unblocked)
|
emit signal_updateStateServer(server->getStateServer(), server->getStateBlockAutorization());
|
||||||
{
|
|
||||||
ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/open.png")));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/lock.png")));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ServerLMSWidget::updateStateOnlyDB()
|
||||||
|
{
|
||||||
if(providerDBLMS)
|
if(providerDBLMS)
|
||||||
{
|
{
|
||||||
if(providerDBLMS->DBisConnected())
|
if(providerDBLMS->DBisConnected())
|
||||||
@@ -486,6 +503,9 @@ void ServerLMSWidget::updateStateServer()
|
|||||||
ui->btnStartServer->setEnabled(false);
|
ui->btnStartServer->setEnabled(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ServerLMSWidget::updateStateOnlyVersion()
|
||||||
|
{
|
||||||
ui->lblVersionText->setText(versionStr);
|
ui->lblVersionText->setText(versionStr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,11 +82,12 @@ signals:
|
|||||||
void sigRecognize();
|
void sigRecognize();
|
||||||
void sigCalculateFullHash();
|
void sigCalculateFullHash();
|
||||||
void sigUpdateControllerInitialize(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
|
void sigUpdateControllerInitialize(CommonClientHandler* commonClientHandler,DataParser *dataParser,AssetsManager *assetManager);
|
||||||
QTcpSocket* sigGetSocket();
|
|
||||||
|
|
||||||
void signal_DocsChanged();
|
void signal_DocsChanged();
|
||||||
void signal_hasError(int code);
|
void signal_hasError(int code);
|
||||||
|
|
||||||
|
void signal_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void slot_LanguageChanged(QString language);
|
void slot_LanguageChanged(QString language);
|
||||||
void slot_UpdateListClients();
|
void slot_UpdateListClients();
|
||||||
@@ -101,6 +102,8 @@ public slots:
|
|||||||
|
|
||||||
void slot_setVersion(QString versionStr);
|
void slot_setVersion(QString versionStr);
|
||||||
|
|
||||||
|
void slot_trySetServerState(PacketType packetType);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QString getLanguage()
|
QString getLanguage()
|
||||||
{
|
{
|
||||||
@@ -141,8 +144,7 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void on_btnStartServer_clicked();
|
void on_btnStartServer_clicked();
|
||||||
void on_btnStopServer_clicked();
|
void on_btnStopServer_clicked();
|
||||||
void on_btnSettings_clicked();
|
void on_btnSettings_clicked();
|
||||||
void slot_trySetServerState(PacketType packetType);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setLanguageInterfase();
|
void setLanguageInterfase();
|
||||||
@@ -153,7 +155,9 @@ private:
|
|||||||
|
|
||||||
void tryConnectionToDB();
|
void tryConnectionToDB();
|
||||||
|
|
||||||
void updateStateServer();
|
void updateStateOnlyServer();
|
||||||
|
void updateStateOnlyDB();
|
||||||
|
void updateStateOnlyVersion();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::ServerLMSWidget *ui;
|
Ui::ServerLMSWidget *ui;
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
<string>Start</string>
|
<string>Start</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="ServerLMS.qrc">
|
<iconset resource="Server.qrc">
|
||||||
<normaloff>:/resources/icons/rocket.png</normaloff>:/resources/icons/rocket.png</iconset>
|
<normaloff>:/resources/icons/rocket.png</normaloff>:/resources/icons/rocket.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
<string>Stop</string>
|
<string>Stop</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="ServerLMS.qrc">
|
<iconset resource="Server.qrc">
|
||||||
<normaloff>:/resources/icons/stop.png</normaloff>:/resources/icons/stop.png</iconset>
|
<normaloff>:/resources/icons/stop.png</normaloff>:/resources/icons/stop.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
<string>Settings</string>
|
<string>Settings</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../InstructorsAndTrainees/InstructorsAndTrainees.qrc">
|
<iconset resource="../LibInstructorsAndTrainees/InstructorsAndTrainees.qrc">
|
||||||
<normaloff>:/resources/icons/settings.png</normaloff>:/resources/icons/settings.png</iconset>
|
<normaloff>:/resources/icons/settings.png</normaloff>:/resources/icons/settings.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
@@ -250,7 +250,7 @@
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap resource="../InstructorsAndTrainees/InstructorsAndTrainees.qrc">:/resources/icons/circleGray.png</pixmap>
|
<pixmap resource="../LibInstructorsAndTrainees/InstructorsAndTrainees.qrc">:/resources/icons/circleGray.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
<property name="scaledContents">
|
<property name="scaledContents">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@@ -268,7 +268,7 @@
|
|||||||
<widget class="QLabel" name="lblOnOffText">
|
<widget class="QLabel" name="lblOnOffText">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>100</width>
|
<width>200</width>
|
||||||
<height>0</height>
|
<height>0</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
@@ -305,7 +305,7 @@
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="pixmap">
|
<property name="pixmap">
|
||||||
<pixmap resource="../InstructorsAndTrainees/InstructorsAndTrainees.qrc">:/resources/icons/circleGray.png</pixmap>
|
<pixmap resource="../LibInstructorsAndTrainees/InstructorsAndTrainees.qrc">:/resources/icons/circleGray.png</pixmap>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -374,61 +374,6 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer_3">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_Block">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Authorization</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="lblBlockAuth">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>32</width>
|
|
||||||
<height>32</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>32</width>
|
|
||||||
<height>32</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="pixmap">
|
|
||||||
<pixmap resource="ServerLMS.qrc">:/resources/icons/lock.png</pixmap>
|
|
||||||
</property>
|
|
||||||
<property name="scaledContents">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
@@ -436,8 +381,8 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../InstructorsAndTrainees/InstructorsAndTrainees.qrc"/>
|
<include location="../LibInstructorsAndTrainees/InstructorsAndTrainees.qrc"/>
|
||||||
<include location="ServerLMS.qrc"/>
|
<include location="Server.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/">
|
<qresource prefix="/">
|
||||||
<file>resources/IcoGUIRRJ.ico</file>
|
|
||||||
<file>resources/PngGUIRRJ.png</file>
|
<file>resources/PngGUIRRJ.png</file>
|
||||||
|
<file>resources/IcoGUIRRJ.ico</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -2,5 +2,8 @@
|
|||||||
<qresource prefix="/">
|
<qresource prefix="/">
|
||||||
<file>resources/PngServerRRJ.png</file>
|
<file>resources/PngServerRRJ.png</file>
|
||||||
<file>resources/IcoServerRRJ.ico</file>
|
<file>resources/IcoServerRRJ.ico</file>
|
||||||
|
<file>resources/PngServerRRJ_lock.png</file>
|
||||||
|
<file>resources/PngServerRRJ_start.png</file>
|
||||||
|
<file>resources/PngServerRRJ_stop.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#include <QMessageBox>
|
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
@@ -30,6 +29,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_ShowWindow, this, &MainWindow::slot_TrayMenu_ShowWindow);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_ShowWindow, this, &MainWindow::slot_TrayMenu_ShowWindow);
|
||||||
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow);
|
connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow);
|
||||||
|
|
||||||
|
connect(serverLMSWidget, &ServerLMSWidget::signal_updateStateServer, this, &MainWindow::slot_updateStateServer);
|
||||||
|
|
||||||
qtLanguageTranslator.load(QString("translations/RRJServer_") + serverLMSWidget->getLanguage(), ".");
|
qtLanguageTranslator.load(QString("translations/RRJServer_") + serverLMSWidget->getLanguage(), ".");
|
||||||
qApp->installTranslator(&qtLanguageTranslator);
|
qApp->installTranslator(&qtLanguageTranslator);
|
||||||
|
|
||||||
@@ -38,7 +39,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
* */
|
* */
|
||||||
trayIcon = new QSystemTrayIcon(this);
|
trayIcon = new QSystemTrayIcon(this);
|
||||||
//trayIcon->setIcon(this->style()->standardIcon(QStyle::SP_ComputerIcon));
|
//trayIcon->setIcon(this->style()->standardIcon(QStyle::SP_ComputerIcon));
|
||||||
trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ.png"));
|
trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_stop.png"));
|
||||||
|
|
||||||
/* После чего создаем контекстное меню для иконки трея*/
|
/* После чего создаем контекстное меню для иконки трея*/
|
||||||
trayMenu = new QMenu(this);
|
trayMenu = new QMenu(this);
|
||||||
@@ -66,7 +67,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
|
|
||||||
slot_Tray_ShowMessage(tr("Starting the server..."));
|
slot_Tray_ShowMessage(tr("Starting the server..."));
|
||||||
|
|
||||||
QTimer::singleShot(1000,this,&MainWindow::slot_LazyInitialization);
|
QTimer::singleShot(1000, this, &MainWindow::slot_LazyInitialization);
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
@@ -151,11 +152,6 @@ void MainWindow::slot_TrayMenu_HideWindow()
|
|||||||
this->hide();
|
this->hide();
|
||||||
action_ShowWindow->setEnabled(true);
|
action_ShowWindow->setEnabled(true);
|
||||||
action_HideWindow->setEnabled(false);
|
action_HideWindow->setEnabled(false);
|
||||||
|
|
||||||
/*
|
|
||||||
slot_Tray_ShowMessage(tr("The application is minimized to the tray.\n"
|
|
||||||
"To maximize the application window, click the application icon in the tray."));
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::slot_TrayMenu_Exit()
|
void MainWindow::slot_TrayMenu_Exit()
|
||||||
@@ -167,9 +163,26 @@ void MainWindow::slot_TrayMenu_Exit()
|
|||||||
void MainWindow::slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg)
|
void MainWindow::slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg)
|
||||||
{
|
{
|
||||||
QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::MessageIcon(iconMsg);
|
QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::MessageIcon(iconMsg);
|
||||||
trayIcon->showMessage(tr("Server MPS"),
|
trayIcon->showMessage(tr("Server MPS"), textMsg, icon, 100);
|
||||||
textMsg,
|
}
|
||||||
icon, 100);
|
|
||||||
|
void MainWindow::slot_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization)
|
||||||
|
{
|
||||||
|
if(stateServer == EStateServer::started)
|
||||||
|
{
|
||||||
|
if(stateBlockAutorization == EStateBlockAutorization::unblocked)
|
||||||
|
{
|
||||||
|
trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_start.png"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_lock.png"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_stop.png"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::slot_LazyInitialization()
|
void MainWindow::slot_LazyInitialization()
|
||||||
@@ -209,7 +222,7 @@ void MainWindow::errorCheck()
|
|||||||
slot_TrayMenu_ShowWindow();
|
slot_TrayMenu_ShowWindow();
|
||||||
|
|
||||||
//выключение с задержкой, так как eventLoop инициализируется позже
|
//выключение с задержкой, так как eventLoop инициализируется позже
|
||||||
QTimer::singleShot(1000,this,&MainWindow::slot_TrayMenu_Exit);
|
QTimer::singleShot(1000, this, &MainWindow::slot_TrayMenu_Exit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,11 +52,14 @@ public slots:
|
|||||||
|
|
||||||
//Слот вывода сообщения из трея
|
//Слот вывода сообщения из трея
|
||||||
void slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
|
void slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information);
|
||||||
|
//Слот изменения иконки трея о статусе Сервера
|
||||||
|
void slot_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization);
|
||||||
|
|
||||||
//Слот отложенной инициализации
|
//Слот отложенной инициализации
|
||||||
void slot_LazyInitialization();
|
void slot_LazyInitialization();
|
||||||
|
|
||||||
void slot_hasError(int code);
|
void slot_hasError(int code);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void exit();
|
void exit();
|
||||||
void errorCheck();
|
void errorCheck();
|
||||||
|
|||||||
BIN
ProgramServerMPS/resources/PngServerRRJ_lock.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
ProgramServerMPS/resources/PngServerRRJ_start.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
ProgramServerMPS/resources/PngServerRRJ_stop.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
@@ -34,56 +34,56 @@
|
|||||||
<translation>Удалить</translation>
|
<translation>Удалить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="130"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="151"/>
|
||||||
<source>actual</source>
|
<source>actual</source>
|
||||||
<translation>актуально</translation>
|
<translation>актуально</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="136"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="157"/>
|
||||||
<source>update required</source>
|
<source>update required</source>
|
||||||
<translation>требуется обновление</translation>
|
<translation>требуется обновление</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="402"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="430"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="404"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="432"/>
|
||||||
<source>DM code</source>
|
<source>DM code</source>
|
||||||
<translation>DM код</translation>
|
<translation>DM код</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="402"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="430"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="404"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="432"/>
|
||||||
<source>ID</source>
|
<source>ID</source>
|
||||||
<translation>ID</translation>
|
<translation>ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="402"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="430"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="404"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="432"/>
|
||||||
<source>Procedure AMM</source>
|
<source>Procedure AMM</source>
|
||||||
<translation>Процедура AMM</translation>
|
<translation>Процедура AMM</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="402"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="430"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="404"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="432"/>
|
||||||
<source>Canplay</source>
|
<source>Canplay</source>
|
||||||
<translation>Режимы</translation>
|
<translation>Режимы</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.ui" line="144"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.ui" line="144"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="402"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="430"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="404"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="432"/>
|
||||||
<source>Status</source>
|
<source>Status</source>
|
||||||
<translation>Статус</translation>
|
<translation>Статус</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="509"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="537"/>
|
||||||
<source>The deletion will be irrevocable.
|
<source>The deletion will be irrevocable.
|
||||||
Delete it anyway?</source>
|
Delete it anyway?</source>
|
||||||
<translation>Удаление будет безвозвратным.
|
<translation>Удаление будет безвозвратным.
|
||||||
Всё равно удалить?</translation>
|
Всё равно удалить?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="330"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="358"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="352"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp" line="380"/>
|
||||||
<source>Assign this task?</source>
|
<source>Assign this task?</source>
|
||||||
<translation>Назначить эту задачу?</translation>
|
<translation>Назначить эту задачу?</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -109,73 +109,73 @@ Delete it anyway?</source>
|
|||||||
<translation>Задача</translation>
|
<translation>Задача</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="61"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="64"/>
|
||||||
<source>TextLabel</source>
|
<source>TextLabel</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="89"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="92"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Имя</translation>
|
<translation>Имя</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="96"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="99"/>
|
||||||
<source>DM Code</source>
|
<source>DM Code</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="111"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="114"/>
|
||||||
<source>Completion Report</source>
|
<source>Completion Report</source>
|
||||||
<translation>Отчет о выполнении</translation>
|
<translation>Отчет о выполнении</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="171"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="200"/>
|
||||||
|
<source>Checkup</source>
|
||||||
|
<translation>На проверке</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="226"/>
|
||||||
<source>Failed</source>
|
<source>Failed</source>
|
||||||
<translation>Неверно</translation>
|
<translation>Неверно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="197"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="252"/>
|
||||||
<source>Right</source>
|
|
||||||
<translation>Верно</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="35"/>
|
|
||||||
<source>Completed</source>
|
<source>Completed</source>
|
||||||
<translation>Выполнена</translation>
|
<translation>Выполнена</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="36"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.ui" line="174"/>
|
||||||
<source>New</source>
|
<source>New</source>
|
||||||
<translation>Новая</translation>
|
<translation>Новая</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="146"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="211"/>
|
||||||
<source>viewed</source>
|
<source>viewed</source>
|
||||||
<translation>Просмотрено</translation>
|
<translation>Просмотрено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="87"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="152"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="148"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="213"/>
|
||||||
<source>completed</source>
|
<source>completed</source>
|
||||||
<translation>выполнена</translation>
|
<translation>выполнена</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="92"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="157"/>
|
||||||
<source>failed</source>
|
<source>failed</source>
|
||||||
<translation>неверно</translation>
|
<translation>неверно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="97"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="162"/>
|
||||||
<source>checkup</source>
|
<source>checkup</source>
|
||||||
<translation>на проверке</translation>
|
<translation>на проверке</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="102"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="167"/>
|
||||||
<source>new</source>
|
<source>new</source>
|
||||||
<translation>новая</translation>
|
<translation>новая</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="170"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="236"/>
|
||||||
<source>Change task status?
|
<source>Change task status?
|
||||||
The status will be set:
|
The status will be set:
|
||||||
'failed'</source>
|
'failed'</source>
|
||||||
@@ -184,7 +184,8 @@ The status will be set:
|
|||||||
'неверно'</translation>
|
'неверно'</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="176"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="286"/>
|
||||||
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="292"/>
|
||||||
<source>Change task status?
|
<source>Change task status?
|
||||||
The status will be set:
|
The status will be set:
|
||||||
'new'</source>
|
'new'</source>
|
||||||
@@ -193,8 +194,17 @@ The status will be set:
|
|||||||
'новая'</translation>
|
'новая'</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="197"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="314"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="203"/>
|
<source>Change task status?
|
||||||
|
The status will be set:
|
||||||
|
'checkup'</source>
|
||||||
|
<translation>Изменить статус задачи?
|
||||||
|
Будет установлен статус:
|
||||||
|
'на проверке'</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="258"/>
|
||||||
|
<location filename="../LibInstructorsAndTrainees/tasks/checkertask.cpp" line="264"/>
|
||||||
<source>Change task status?
|
<source>Change task status?
|
||||||
The status will be set:
|
The status will be set:
|
||||||
'completed'</source>
|
'completed'</source>
|
||||||
@@ -328,56 +338,44 @@ The status will be set:
|
|||||||
<translation>Восстановить</translation>
|
<translation>Восстановить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="38"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="39"/>
|
||||||
<source>Installed</source>
|
<source>Installed</source>
|
||||||
<translation>Установлен</translation>
|
<translation>Установлен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="43"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="44"/>
|
||||||
<source>Not installed</source>
|
<source>Not installed</source>
|
||||||
<translation>Не установлен</translation>
|
<translation>Не установлен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="50"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="51"/>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="62"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="63"/>
|
||||||
<source>Exist</source>
|
<source>Exist</source>
|
||||||
<translation>Существует</translation>
|
<translation>Существует</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="55"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="56"/>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="67"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="68"/>
|
||||||
<source>Not exist</source>
|
<source>Not exist</source>
|
||||||
<translation>Не существует</translation>
|
<translation>Не существует</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="83"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="84"/>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="93"/>
|
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="104"/>
|
|
||||||
<source>Error!</source>
|
|
||||||
<translation>Ошибка!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="83"/>
|
|
||||||
<source>Install PostgreSQL.</source>
|
<source>Install PostgreSQL.</source>
|
||||||
<translation>Установите PostgreSQL.</translation>
|
<translation>Установите PostgreSQL.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="93"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="94"/>
|
||||||
<source>Failed to create user!</source>
|
<source>Failed to create user!</source>
|
||||||
<translation>Ошибка создания пользователя!</translation>
|
<translation>Ошибка создания пользователя!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="104"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="105"/>
|
||||||
<source>Failed to create Database!</source>
|
<source>Failed to create Database!</source>
|
||||||
<translation>Ошибка создания Базы данных!</translation>
|
<translation>Ошибка создания Базы данных!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="114"/>
|
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="115"/>
|
||||||
<source>Completed!</source>
|
|
||||||
<translation>Завершено!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../LibServer/settings/dialogcheckdb.cpp" line="114"/>
|
|
||||||
<source>The database has been successfully restored!</source>
|
<source>The database has been successfully restored!</source>
|
||||||
<translation>База данных успешно восстановлена!</translation>
|
<translation>База данных успешно восстановлена!</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -385,9 +383,14 @@ The status will be set:
|
|||||||
<context>
|
<context>
|
||||||
<name>DialogChekerTask</name>
|
<name>DialogChekerTask</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/dialogchekertask.cpp" line="16"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/dialogchekertask.cpp" line="20"/>
|
||||||
<source>Check Task</source>
|
<source>Check Task</source>
|
||||||
<translation>Проверка задачи</translation>
|
<translation>Проверка Задачи</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../LibInstructorsAndTrainees/tasks/dialogchekertask.cpp" line="25"/>
|
||||||
|
<source>Status Task</source>
|
||||||
|
<translation>Статус Задачи</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -722,52 +725,45 @@ The status will be set:
|
|||||||
<translation>Обновить Docs</translation>
|
<translation>Обновить Docs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="293"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="294"/>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="343"/>
|
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="348"/>
|
|
||||||
<source>Error!</source>
|
|
||||||
<translation>Ошибка!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="293"/>
|
|
||||||
<source>Driver PostgreSQL is not installed!</source>
|
<source>Driver PostgreSQL is not installed!</source>
|
||||||
<translation>Драйвер PostgreSQL не установлен!</translation>
|
<translation>Драйвер PostgreSQL не установлен!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="302"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="303"/>
|
||||||
<source>Superuser PostgreSQL authorization</source>
|
<source>Superuser PostgreSQL authorization</source>
|
||||||
<translation>Авторизация суперпользователя PostgreSQL</translation>
|
<translation>Авторизация суперпользователя PostgreSQL</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="343"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="344"/>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="348"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="349"/>
|
||||||
<source>Error connecting to PostgreSQL!</source>
|
<source>Error connecting to PostgreSQL!</source>
|
||||||
<translation>Ошибка соединения с PostgreSQL!</translation>
|
<translation>Ошибка соединения с PostgreSQL!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="344"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="345"/>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="349"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="350"/>
|
||||||
<source>Possible reasons:</source>
|
<source>Possible reasons:</source>
|
||||||
<translation>Возможные причины:</translation>
|
<translation>Возможные причины:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="345"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="346"/>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="350"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="351"/>
|
||||||
<source>*superuser PostgreSQL login or password is incorrect;</source>
|
<source>*superuser PostgreSQL login or password is incorrect;</source>
|
||||||
<translation>*логин или пароль суперпользователя PostgreSQL некорректен;</translation>
|
<translation>*логин или пароль суперпользователя PostgreSQL некорректен;</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="346"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="347"/>
|
||||||
<source>*Port is incorrect.</source>
|
<source>*Port is incorrect.</source>
|
||||||
<translation>*Порт некорректен.</translation>
|
<translation>*Порт некорректен.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="351"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="352"/>
|
||||||
<source>*Port is incorrect;</source>
|
<source>*Port is incorrect;</source>
|
||||||
<translation>*Порт некорректен;</translation>
|
<translation>*Порт некорректен;</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="352"/>
|
<location filename="../LibServer/settings/dialogsettingstray.cpp" line="353"/>
|
||||||
<source>*file 'pg_hba.conf' does not contain an entry for the IP address:</source>
|
<source>*file 'pg_hba.conf' does not contain an entry for the IP address:</source>
|
||||||
<translation>*файл 'pg_hba.conf не содержит записи доступа для IP адреса:</translation>
|
<translation>*файл 'pg_hba.conf не содержит записи доступа для IP адреса:</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1109,32 +1105,32 @@ The changes will not be accepted.</source>
|
|||||||
<translation>Удалить</translation>
|
<translation>Удалить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="310"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="313"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="312"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="315"/>
|
||||||
<source>ID</source>
|
<source>ID</source>
|
||||||
<translation>ID</translation>
|
<translation>ID</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="310"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="313"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="312"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="315"/>
|
||||||
<source>Status</source>
|
<source>Status</source>
|
||||||
<translation>Статус</translation>
|
<translation>Статус</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="310"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="313"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="312"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="315"/>
|
||||||
<source>Procedure FIM</source>
|
<source>Procedure FIM</source>
|
||||||
<translation>Процедура FIM</translation>
|
<translation>Процедура FIM</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="399"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="402"/>
|
||||||
<source>The deletion will be irrevocable.
|
<source>The deletion will be irrevocable.
|
||||||
Delete it anyway?</source>
|
Delete it anyway?</source>
|
||||||
<translation>Удаление будет безвозвратным.
|
<translation>Удаление будет безвозвратным.
|
||||||
Всё равно удалить?</translation>
|
Всё равно удалить?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="443"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp" line="446"/>
|
||||||
<source>Assign this task?</source>
|
<source>Assign this task?</source>
|
||||||
<translation>Назначить эту задачу?</translation>
|
<translation>Назначить эту задачу?</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1331,7 +1327,7 @@ Please reconnect to the server.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.ui" line="31"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.ui" line="31"/>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.cpp" line="124"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.cpp" line="126"/>
|
||||||
<source>DM code</source>
|
<source>DM code</source>
|
||||||
<translation>DM код</translation>
|
<translation>DM код</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1346,12 +1342,12 @@ Please reconnect to the server.</source>
|
|||||||
<translation>Назначить</translation>
|
<translation>Назначить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.cpp" line="124"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.cpp" line="126"/>
|
||||||
<source>Subprocedure</source>
|
<source>Subprocedure</source>
|
||||||
<translation>Подпроцедура</translation>
|
<translation>Подпроцедура</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.cpp" line="124"/>
|
<location filename="../LibInstructorsAndTrainees/tasks/listsubproc.cpp" line="126"/>
|
||||||
<source>Canplay</source>
|
<source>Canplay</source>
|
||||||
<translation>Режимы</translation>
|
<translation>Режимы</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1364,28 +1360,28 @@ Please reconnect to the server.</source>
|
|||||||
<translation>АРМ инструктора Тренажёра процедур технического обслуживания RRJ-95NEW-100</translation>
|
<translation>АРМ инструктора Тренажёра процедур технического обслуживания RRJ-95NEW-100</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ProgramServerMPS/mainwindow.cpp" line="170"/>
|
<location filename="../ProgramServerMPS/mainwindow.cpp" line="166"/>
|
||||||
<location filename="../ProgramServerMPS/mainwindow.cpp" line="218"/>
|
<location filename="../ProgramServerMPS/mainwindow.cpp" line="231"/>
|
||||||
<source>Server MPS</source>
|
<source>Server MPS</source>
|
||||||
<translation>Сервер ТПТО</translation>
|
<translation>Сервер ТПТО</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ProgramServerMPS/mainwindow.cpp" line="219"/>
|
<location filename="../ProgramServerMPS/mainwindow.cpp" line="232"/>
|
||||||
<source>Expand window</source>
|
<source>Expand window</source>
|
||||||
<translation>Развернуть окно</translation>
|
<translation>Развернуть окно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ProgramServerMPS/mainwindow.cpp" line="220"/>
|
<location filename="../ProgramServerMPS/mainwindow.cpp" line="233"/>
|
||||||
<source>Minimize window</source>
|
<source>Minimize window</source>
|
||||||
<translation>Свернуть окно</translation>
|
<translation>Свернуть окно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ProgramServerMPS/mainwindow.cpp" line="221"/>
|
<location filename="../ProgramServerMPS/mainwindow.cpp" line="234"/>
|
||||||
<source>Exit</source>
|
<source>Exit</source>
|
||||||
<translation>Выход</translation>
|
<translation>Выход</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ProgramServerMPS/mainwindow.cpp" line="67"/>
|
<location filename="../ProgramServerMPS/mainwindow.cpp" line="68"/>
|
||||||
<source>Starting the server...</source>
|
<source>Starting the server...</source>
|
||||||
<translation>Запуск сервера...</translation>
|
<translation>Запуск сервера...</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1414,12 +1410,12 @@ Please reconnect to the server.</source>
|
|||||||
<translation>Отправить</translation>
|
<translation>Отправить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/messanger/messangerwidget.cpp" line="120"/>
|
<location filename="../LibInstructorsAndTrainees/messanger/messangerwidget.cpp" line="123"/>
|
||||||
<source>Trainee</source>
|
<source>Trainee</source>
|
||||||
<translation>Обучаемый</translation>
|
<translation>Обучаемый</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibInstructorsAndTrainees/messanger/messangerwidget.cpp" line="129"/>
|
<location filename="../LibInstructorsAndTrainees/messanger/messangerwidget.cpp" line="132"/>
|
||||||
<source>Instructor</source>
|
<source>Instructor</source>
|
||||||
<translation>Инструктор</translation>
|
<translation>Инструктор</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -1609,92 +1605,81 @@ Please reconnect to the server.</source>
|
|||||||
<translation>Версия материалов: </translation>
|
<translation>Версия материалов: </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.ui" line="395"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="143"/>
|
||||||
<source>Authorization</source>
|
|
||||||
<translation>Авторизация</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="139"/>
|
|
||||||
<source>Error PostgreSQL!</source>
|
<source>Error PostgreSQL!</source>
|
||||||
<translation>Ошибка PostgreSQL!</translation>
|
<translation>Ошибка PostgreSQL!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="223"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="229"/>
|
||||||
<source>Server is started!</source>
|
<source>Server is started!</source>
|
||||||
<translation>Сервер запущен!</translation>
|
<translation>Сервер запущен!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="236"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="247"/>
|
||||||
<source>Server is stoped!</source>
|
<source>Server is stoped!</source>
|
||||||
<translation>Сервер остановлен!</translation>
|
<translation>Сервер остановлен!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="246"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="258"/>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="416"/>
|
|
||||||
<source>Error!</source>
|
|
||||||
<translation>Ошибка!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="246"/>
|
|
||||||
<source>Settings file could not be opened:</source>
|
<source>Settings file could not be opened:</source>
|
||||||
<translation>Файл настроек не открыт:</translation>
|
<translation>Файл настроек не открыт:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="275"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="287"/>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="338"/>
|
|
||||||
<source>Warning!</source>
|
|
||||||
<translation>Внимание!</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="275"/>
|
|
||||||
<source>Database settings have been changed.
|
<source>Database settings have been changed.
|
||||||
The server will be restarted.</source>
|
The server will be restarted.</source>
|
||||||
<translation>Настройки Базы Данных были изменены.
|
<translation>Настройки Базы Данных были изменены.
|
||||||
Сервер будет перезапущен.</translation>
|
Сервер будет перезапущен.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="338"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="350"/>
|
||||||
<source>The file could not be opened </source>
|
<source>The file could not be opened </source>
|
||||||
<translation>Файл не может быть открыт </translation>
|
<translation>Файл не может быть открыт </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="412"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="426"/>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="416"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="430"/>
|
||||||
<source>Database connection error!</source>
|
<source>Database connection error!</source>
|
||||||
<translation>Ошибка подключения Базы данных!</translation>
|
<translation>Ошибка подключения Базы данных!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="433"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="447"/>
|
||||||
<source>Database connection OK!</source>
|
<source>Database connection OK!</source>
|
||||||
<translation>База данных подключена!</translation>
|
<translation>База данных подключена!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="447"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="463"/>
|
||||||
|
<location filename="../LibServer/serverlmswidget.cpp" line="468"/>
|
||||||
<source>started</source>
|
<source>started</source>
|
||||||
<translation>запущен</translation>
|
<translation>запущен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="452"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="468"/>
|
||||||
|
<source>locked</source>
|
||||||
|
<translation>заблокирован</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../LibServer/serverlmswidget.cpp" line="474"/>
|
||||||
<source>stoped</source>
|
<source>stoped</source>
|
||||||
<translation>остановлен</translation>
|
<translation>остановлен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="472"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="490"/>
|
||||||
<source>connected</source>
|
<source>connected</source>
|
||||||
<translation>подключен</translation>
|
<translation>подключен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.cpp" line="481"/>
|
<location filename="../LibServer/serverlmswidget.cpp" line="499"/>
|
||||||
<source>not connected</source>
|
<source>not connected</source>
|
||||||
<translation>не подключен</translation>
|
<translation>не подключен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.h" line="114"/>
|
<location filename="../LibServer/serverlmswidget.h" line="117"/>
|
||||||
<source>No Client files found!</source>
|
<source>No Client files found!</source>
|
||||||
<translation>Файлы клиента не найдены!</translation>
|
<translation>Файлы клиента не найдены!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../LibServer/serverlmswidget.h" line="115"/>
|
<location filename="../LibServer/serverlmswidget.h" line="118"/>
|
||||||
<source>* check Application for the presence of a folder with a build
|
<source>* check Application for the presence of a folder with a build
|
||||||
* check SharedData for a folder with the base version and the name base</source>
|
* check SharedData for a folder with the base version and the name base</source>
|
||||||
<translation>* проверьте Application на наличие папки со сборкой
|
<translation>* проверьте Application на наличие папки со сборкой
|
||||||
|
|||||||