mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Добавил виджет FIM
This commit is contained in:
@@ -90,6 +90,11 @@ add_library(InstructorsAndTrainees SHARED
|
|||||||
messanger/msgwidget.ui
|
messanger/msgwidget.ui
|
||||||
messanger/tabdialogmessenger.cpp
|
messanger/tabdialogmessenger.cpp
|
||||||
messanger/tabdialogmessenger.h
|
messanger/tabdialogmessenger.h
|
||||||
|
docTasks/fimtaskswidget.cpp
|
||||||
|
docTasks/fimtaskswidget.h
|
||||||
|
docTasks/fimtaskswidget.ui
|
||||||
|
docTasks/tasksAmmFim.cpp
|
||||||
|
docTasks/tasksAmmFim.h
|
||||||
resources.qrc
|
resources.qrc
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.11.1, 2024-12-25T13:38:13. -->
|
<!-- Written by QtCreator 4.11.1, 2024-12-28T11:57:36. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<widget class="QGroupBox" name="groupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Document</string>
|
<string>AMM</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
|
|||||||
122
DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.cpp
Normal file
122
DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.cpp
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
#include <QDomDocument>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include "fimtaskswidget.h"
|
||||||
|
#include "ui_fimtaskswidget.h"
|
||||||
|
#include "tasksAmmFim.h"
|
||||||
|
|
||||||
|
FIMtasksWidget::FIMtasksWidget(QWidget *parent) :
|
||||||
|
QWidget(parent),
|
||||||
|
ui(new Ui::FIMtasksWidget)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
loadTasksAmmFimFromXML();
|
||||||
|
updateListWidget();
|
||||||
|
}
|
||||||
|
|
||||||
|
FIMtasksWidget::~FIMtasksWidget()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FIMtasksWidget::loadTasksAmmFimFromXML()
|
||||||
|
{
|
||||||
|
QDomDocument docTasksDOM;
|
||||||
|
QString xmlFileName = "./tasksFIM.xml";
|
||||||
|
QFile xmlInFile(xmlFileName);
|
||||||
|
if (!xmlInFile.open(QFile::ReadOnly | QFile::Text))
|
||||||
|
{
|
||||||
|
QMessageBox::critical(nullptr, tr("Attention!"), tr("The file could not be opened ") + xmlFileName);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
docTasksDOM.setContent(xmlInFile.readAll());
|
||||||
|
xmlInFile.close();
|
||||||
|
|
||||||
|
QDomElement RRJTasksElement = docTasksDOM.firstChildElement("RRJTasks");
|
||||||
|
if(RRJTasksElement.isNull())
|
||||||
|
return;
|
||||||
|
|
||||||
|
QDomElement taskElement = RRJTasksElement.firstChildElement();
|
||||||
|
if(taskElement.isNull())
|
||||||
|
return;
|
||||||
|
|
||||||
|
do
|
||||||
|
{/*task*/
|
||||||
|
QString name = taskElement.nodeName();
|
||||||
|
QDomNamedNodeMap nodeMap = taskElement.attributes();
|
||||||
|
|
||||||
|
if(name == "task")
|
||||||
|
{
|
||||||
|
TaskAmmFim task;
|
||||||
|
|
||||||
|
task.initialize(nodeMap.namedItem("id").nodeValue().toInt(),
|
||||||
|
nodeMap.namedItem("type").nodeValue(),
|
||||||
|
nodeMap.namedItem("title").nodeValue(),
|
||||||
|
nodeMap.namedItem("status").nodeValue(),
|
||||||
|
nodeMap.namedItem("created").nodeValue(),
|
||||||
|
nodeMap.namedItem("changed").nodeValue());
|
||||||
|
|
||||||
|
QDomElement malfunctionElement = taskElement.firstChildElement();
|
||||||
|
if(malfunctionElement.isNull())
|
||||||
|
break;
|
||||||
|
|
||||||
|
do
|
||||||
|
{/*malfunction*/
|
||||||
|
QString name = malfunctionElement.nodeName();
|
||||||
|
QDomNamedNodeMap nodeMap = malfunctionElement.attributes();
|
||||||
|
|
||||||
|
if(name == "malfunction")
|
||||||
|
{
|
||||||
|
Malfunction malfunction;
|
||||||
|
|
||||||
|
malfunction.initialize(nodeMap.namedItem("dmCode").nodeValue(),
|
||||||
|
nodeMap.namedItem("num").nodeValue(),
|
||||||
|
nodeMap.namedItem("description").nodeValue());
|
||||||
|
|
||||||
|
QDomElement signElement = malfunctionElement.firstChildElement();
|
||||||
|
if(signElement.isNull())
|
||||||
|
break;
|
||||||
|
|
||||||
|
do
|
||||||
|
{/*malfunctionSign*/
|
||||||
|
QString name = signElement.nodeName();
|
||||||
|
QDomNamedNodeMap nodeMap = signElement.attributes();
|
||||||
|
|
||||||
|
if(name == "malfunctionSign")
|
||||||
|
{
|
||||||
|
MalfunctionSign sign;
|
||||||
|
|
||||||
|
sign.initialize(nodeMap.namedItem("type").nodeValue().toInt(),
|
||||||
|
nodeMap.namedItem("description").nodeValue());
|
||||||
|
|
||||||
|
malfunction.addMalfunctionSign(sign);
|
||||||
|
}
|
||||||
|
|
||||||
|
}while(! (signElement = signElement.nextSiblingElement()).isNull());
|
||||||
|
|
||||||
|
task.addMalfunction(malfunction);
|
||||||
|
}
|
||||||
|
|
||||||
|
}while(! (malfunctionElement = malfunctionElement.nextSiblingElement()).isNull());
|
||||||
|
|
||||||
|
listTaskAmmFim.append(task);
|
||||||
|
}
|
||||||
|
}while (! (taskElement = taskElement.nextSiblingElement()).isNull());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FIMtasksWidget::updateListWidget()
|
||||||
|
{
|
||||||
|
for(TaskAmmFim taskFim : listTaskAmmFim)
|
||||||
|
{
|
||||||
|
addTaskFimToListWidget(taskFim);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FIMtasksWidget::addTaskFimToListWidget(TaskAmmFim taskFim)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
33
DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.h
Normal file
33
DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.h
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#ifndef FIMTASKSWIDGET_H
|
||||||
|
#define FIMTASKSWIDGET_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include "tasksAmmFim.h"
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class FIMtasksWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
class FIMtasksWidget : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit FIMtasksWidget(QWidget *parent = nullptr);
|
||||||
|
~FIMtasksWidget();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void loadTasksAmmFimFromXML();
|
||||||
|
void updateListWidget();
|
||||||
|
void addTaskFimToListWidget(TaskAmmFim taskFim);
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
QString userName;
|
||||||
|
QList<TaskAmmFim> listTaskAmmFim;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::FIMtasksWidget *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FIMTASKSWIDGET_H
|
||||||
102
DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.ui
Normal file
102
DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.ui
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>FIMtasksWidget</class>
|
||||||
|
<widget class="QWidget" name="FIMtasksWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>409</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="title">
|
||||||
|
<string>FIM</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="5" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>ID</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEditID"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEditType"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>List of tasks</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QListWidget" name="listWidgetTasks"/>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Title</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEditTitle"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="0">
|
||||||
|
<widget class="QTableWidget" name="tableWidgetSigns"/>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="0">
|
||||||
|
<widget class="QListWidget" name="listWidgetMalfunctions"/>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Signs</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>Malfunctions</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
38
DB_IaT/InstructorsAndTrainees/docTasks/tasksAmmFim.cpp
Normal file
38
DB_IaT/InstructorsAndTrainees/docTasks/tasksAmmFim.cpp
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#include "tasksAmmFim.h"
|
||||||
|
#include <QDomDocument>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
|
||||||
|
void TaskAmmFim::initialize(int id, QString type, QString title, QString status, QString created_date, QString changed_date)
|
||||||
|
{
|
||||||
|
this->id = id;
|
||||||
|
this->type = type;
|
||||||
|
this->title = title;
|
||||||
|
this->status = status;
|
||||||
|
this->created_date = created_date;
|
||||||
|
this->changed_date = changed_date;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TaskAmmFim::addMalfunction(Malfunction malfunction)
|
||||||
|
{
|
||||||
|
malfunctionList.append(malfunction);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Malfunction::initialize(QString dmCode, QString num, QString description)
|
||||||
|
{
|
||||||
|
this->dmCode = dmCode;
|
||||||
|
this->num = num;
|
||||||
|
this->description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Malfunction::addMalfunctionSign(MalfunctionSign sign)
|
||||||
|
{
|
||||||
|
malfunctionSigns.append(sign);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MalfunctionSign::initialize(int type, QString description)
|
||||||
|
{
|
||||||
|
this->type = type;
|
||||||
|
this->description = description;
|
||||||
|
}
|
||||||
102
DB_IaT/InstructorsAndTrainees/docTasks/tasksAmmFim.h
Normal file
102
DB_IaT/InstructorsAndTrainees/docTasks/tasksAmmFim.h
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
#ifndef TASKSAMMFIM_H
|
||||||
|
#define TASKSAMMFIM_H
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
#include <QList>
|
||||||
|
|
||||||
|
class ProcedureID
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ProcedureID(){};
|
||||||
|
~ProcedureID(){};
|
||||||
|
public:
|
||||||
|
QString doc; // "amm", "fim"
|
||||||
|
QString dmCode;
|
||||||
|
QString title;
|
||||||
|
QString result; // "" - нет результата, "viewed" - процедура изучена (просмотрена при отсутствующем сценарии), "completed" - выполнена (в т.ч. режим "контроль" сценария)
|
||||||
|
};
|
||||||
|
|
||||||
|
class MalfunctionSign // признак неисправности
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MalfunctionSign(){};
|
||||||
|
~MalfunctionSign(){};
|
||||||
|
public:
|
||||||
|
void initialize(int type, QString description);
|
||||||
|
public:
|
||||||
|
int type; // "1" - аварийно-сигнальные сообщения, "2" - сообщения БСТО,
|
||||||
|
// "3" - сигнализация СЭИ, "4" - локальная сигнализация, "5" - наблюдаемая неисправность
|
||||||
|
QString description; // описание (напр. "ЭРРД, 25, DOOR_FAIL_TO_CLOSE" - для БСТО)
|
||||||
|
};
|
||||||
|
|
||||||
|
class Malfunction // неисправность
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Malfunction(){};
|
||||||
|
~Malfunction(){};
|
||||||
|
public:
|
||||||
|
void initialize(QString dmCode, QString num, QString description);
|
||||||
|
void addMalfunctionSign(MalfunctionSign sign);
|
||||||
|
public:
|
||||||
|
QString dmCode; // dmCode процедуры
|
||||||
|
QString num; // номер по-порядку в пункте "2. Возможные причины" процедуры
|
||||||
|
QString description; // описание
|
||||||
|
QList<MalfunctionSign> malfunctionSigns;// список соответствующих неисправности признаков
|
||||||
|
};
|
||||||
|
|
||||||
|
class FIMReportItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FIMReportItem(){};
|
||||||
|
~FIMReportItem(){};
|
||||||
|
public:
|
||||||
|
QString title; // текст, вводимый обучаемым
|
||||||
|
ProcedureID procedure; // ссылка на процедуру, при необходимости
|
||||||
|
};
|
||||||
|
|
||||||
|
class FIMReport
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FIMReport(){};
|
||||||
|
~FIMReport(){};
|
||||||
|
public:
|
||||||
|
QList<FIMReportItem> itemList;
|
||||||
|
};
|
||||||
|
|
||||||
|
class TaskAmmFim
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TaskAmmFim(){};
|
||||||
|
~TaskAmmFim(){};
|
||||||
|
public:
|
||||||
|
void initialize(int id, QString type, QString title, QString status, QString created_date, QString changed_date);
|
||||||
|
void addMalfunction(Malfunction malfunction);
|
||||||
|
public:
|
||||||
|
|
||||||
|
int id; // для идентификации в БД
|
||||||
|
|
||||||
|
QString type; // "amm" - процедура из Руководства по технической эксплуатации
|
||||||
|
// "fim" - поиск и устранение неисправностей
|
||||||
|
|
||||||
|
QString title; // название задания:
|
||||||
|
// для "amm" - берётся из титула процедуры
|
||||||
|
// для "fim" - вводится вручную
|
||||||
|
|
||||||
|
QString status; // "new" - задание не выполнено
|
||||||
|
// "checkup" - выполнено, на проверке у инструктора (только для "fim")
|
||||||
|
// "failed" - инструктором проверено, выполнено неверно (только для "fim")
|
||||||
|
// "completed" - выполнено корректно
|
||||||
|
|
||||||
|
QString created_date; // дата создания задания инструктором ("new")
|
||||||
|
// (при записи в базу, даты ставить по времени сервера, а не те, что присланы от клиента)
|
||||||
|
QString changed_date; // дата крайнего изменения статуса ("checkup", "failed", "completed")
|
||||||
|
|
||||||
|
// amm:
|
||||||
|
ProcedureID ammProcedure; // ссылка на процедуру в AMM
|
||||||
|
|
||||||
|
// fim:
|
||||||
|
QList<Malfunction> malfunctionList; // список неисправностей
|
||||||
|
FIMReport report; // отчет по выполнению "fim"
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // TASKSAMMFIM_H
|
||||||
@@ -54,12 +54,14 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
|||||||
|
|
||||||
|
|
||||||
docTasksWidget = new DocTasksWidget(this);
|
docTasksWidget = new DocTasksWidget(this);
|
||||||
|
fIMtasksWidget = new FIMtasksWidget(this);
|
||||||
|
|
||||||
ui->horizontalLayout_3->addWidget(viewerTrainees);
|
ui->horizontalLayout_3->addWidget(viewerTrainees);
|
||||||
ui->horizontalLayout_3->addWidget(messangerWidget);
|
ui->horizontalLayout_3->addWidget(messangerWidget);
|
||||||
|
|
||||||
ui->verticalLayout_1->addWidget(viewerInstructors);
|
ui->verticalLayout_1->addWidget(viewerInstructors);
|
||||||
ui->verticalLayout_2->addWidget(docTasksWidget);
|
ui->verticalLayout_2->addWidget(docTasksWidget);
|
||||||
|
ui->verticalLayout_2->addWidget(fIMtasksWidget);
|
||||||
|
|
||||||
viewerTrainees->setMinimumHeight(800);
|
viewerTrainees->setMinimumHeight(800);
|
||||||
viewerInstructors->setMinimumSize(1800, 300);
|
viewerInstructors->setMinimumSize(1800, 300);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#include "viewerinstructors.h"
|
#include "viewerinstructors.h"
|
||||||
#include "messangerwidget.h"
|
#include "messangerwidget.h"
|
||||||
#include "doctaskswidget.h"
|
#include "doctaskswidget.h"
|
||||||
|
#include "fimtaskswidget.h"
|
||||||
#include "connectortoserver.h"
|
#include "connectortoserver.h"
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QList<Instructor>)
|
Q_DECLARE_METATYPE(QList<Instructor>)
|
||||||
@@ -76,6 +77,7 @@ private:
|
|||||||
ViewerInstructors* viewerInstructors;
|
ViewerInstructors* viewerInstructors;
|
||||||
MessangerWidget* messangerWidget;
|
MessangerWidget* messangerWidget;
|
||||||
DocTasksWidget* docTasksWidget;
|
DocTasksWidget* docTasksWidget;
|
||||||
|
FIMtasksWidget* fIMtasksWidget;
|
||||||
|
|
||||||
bool adminMode;
|
bool adminMode;
|
||||||
QString loginInstructorLoggedInLocal;
|
QString loginInstructorLoggedInLocal;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.11.1, 2024-12-25T13:38:13. -->
|
<!-- Written by QtCreator 4.11.1, 2024-12-28T11:57:36. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.11.1, 2024-12-25T13:38:13. -->
|
<!-- Written by QtCreator 4.11.1, 2024-12-28T11:57:36. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.11.1, 2024-12-25T13:38:13. -->
|
<!-- Written by QtCreator 4.11.1, 2024-12-28T11:57:36. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.11.1, 2024-12-25T13:38:13. -->
|
<!-- Written by QtCreator 4.11.1, 2024-12-28T11:57:36. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
|||||||
Reference in New Issue
Block a user