Индикация и возм обновл docs из ГУИ

This commit is contained in:
2025-11-12 15:22:15 +03:00
parent 650b0525a3
commit 98821a7533
22 changed files with 468 additions and 269 deletions

View File

@@ -272,6 +272,11 @@ void RecognizeSystem::recognize(QTcpSocket *socket)
emit sigHashReady();
}
if(packetType == PacketType::TYPE_XMLANSWER_DOCS_CHANGED)
{
emit signal_AnswerDocsChanged();
}
//xml-ответы на запросы к БД
switch(packetType)
{

View File

@@ -58,6 +58,8 @@ signals:
void sigAnimationActivated(bool flag);
void sigHashReady();
void signal_AnswerDocsChanged();
private:
QList<QString> *folderList;
//MainWindow *mainWindow;

View File

@@ -57,6 +57,9 @@ enum PacketType{
TYPE_XMLANSWER_QUERY_TASKS_XML_FIM = 130,
TYPE_XMLANSWER_QUERY_TASKS_XML_AMM = 131,
//оповещение об изменении docs.xml
TYPE_XMLANSWER_DOCS_CHANGED = 132,
HASH_READY = 150,
CHANGE_DATA_VERSION = 151,
COPY_VERSION = 152,

View File

@@ -122,6 +122,8 @@ void ConnectorToServer::bindConnection()
connect(recognizeSystem,&RecognizeSystem::sigNotify,notifyController,&NotifyController::showWarning,Qt::AutoConnection);
connect(recognizeSystem,&RecognizeSystem::sigHashReady,this,&ConnectorToServer::slot_HashReady);
connect(recognizeSystem,&RecognizeSystem::signal_AnswerDocsChanged,this,&ConnectorToServer::slot_AnswerDocsChanged);
}
void ConnectorToServer::createObjects()

View File

@@ -96,6 +96,8 @@ public slots:
void slot_AnswerQueryTasksXML_FIM(QByteArray array);
void slot_AnswerQueryTasksXML_AMM(QByteArray array);
void slot_AnswerDocsChanged();
public slots:
void slot_sendMessage(ClientMessage clientMessage);
void slot_showServerList(QList<StreamingVersionData*> *serverList);
@@ -125,7 +127,9 @@ signals:
void signal_reInitMessangerByUsers(QList<User> listUsers);
void signal_receiveMessage(ClientMessage clientMessage);
void sigSendAnswerToServer(QByteArray array);
void sigSendAnswerToServer(QByteArray array);
void signal_AnswerDocsChanged();
private:
void initialize();

View File

@@ -117,3 +117,8 @@ void ConnectorToServer::slot_AnswerQueryTasksXML_AMM(QByteArray array)
fl_GetedOfflineMessages = true;
}
}
void ConnectorToServer::slot_AnswerDocsChanged()
{
emit signal_AnswerDocsChanged();
}

View File

@@ -43,6 +43,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
connectorToServer = new ConnectorToServer(this);
connect(connectorToServer, &ConnectorToServer::sigLoginResult, this, &InstructorsAndTraineesWidget::slot_checkLoginResult);
connect(connectorToServer, &ConnectorToServer::sigDeLoginResult, this, &InstructorsAndTraineesWidget::slot_checkDeLoginResult);
connect(connectorToServer,&ConnectorToServer::signal_AnswerDocsChanged,this, &InstructorsAndTraineesWidget::slot_AnswerDocsChanged);
messangerController = new MessangerController(connectorToServer, this);
@@ -301,6 +302,11 @@ void InstructorsAndTraineesWidget::slot_instructorSelected(int id_instructor)
}
}
void InstructorsAndTraineesWidget::slot_AnswerDocsChanged()
{
viewerTrainees->getAmmTasksWidgetCommon()->setDocsActualed(false);
}
bool InstructorsAndTraineesWidget::authorizationInstructorDialog(QWidget* parent)
{
DialogAuthorization dlg(parent);

View File

@@ -55,6 +55,8 @@ public Q_SLOTS:
void slot_traineeSelected(int id_trainee);
void slot_instructorSelected(int id_instructor);
void slot_AnswerDocsChanged();
Q_SIGNALS:
//сигнал смены языка
void signal_LanguageChanged(QString language);

View File

@@ -59,6 +59,8 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
ui->btnOnlyActive->setEnabled(false);
ui->btnAssignTask->setObjectName("btnAssignTask");
ui->btnAssignTask->setEnabled(false);
ui->btnDocsUpdating->setObjectName("btnDocsUpdating");
ui->btnDocsUpdating->setEnabled(false);
if(type == TypeListTreeAMMFIM::listCommon)
{
@@ -76,6 +78,10 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
ui->btnOnlyActive->setVisible(false);
ui->btnAssignTask->setVisible(false);
ui->label_DocsActualed->setVisible(false);
ui->label_Actual->setVisible(false);
ui->btnDocsUpdating->setVisible(false);
//ui->verticalLayout->setAlignment(Qt::AlignmentFlag::AlignBottom);
//ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft);
}
@@ -113,6 +119,22 @@ void AMMtasksWidget::waitAnimationWidgetShowWithPlay()
waitAnimationWidget->showWithPlay();
}
void AMMtasksWidget::setDocsActualed(bool flActualed)
{
if(flActualed)
{
ui->label_DocsActualed->setPixmap(QPixmap(QStringLiteral(":/resources/icons/circleGreen.png")));
ui->label_Actual->setText(tr("actual"));
ui->btnDocsUpdating->setEnabled(false);
}
else
{
ui->label_DocsActualed->setPixmap(QPixmap(QStringLiteral(":/resources/icons/warning.png")));
ui->label_Actual->setText(tr("update required"));
ui->btnDocsUpdating->setEnabled(true);
}
}
void AMMtasksWidget::resizeEvent(QResizeEvent *event)
{
setWidthColumnsTree();
@@ -179,6 +201,7 @@ void AMMtasksWidget::slot_NeedUpdateUI()
{
qDebug() << "AMMtasksWidget::slot_NeedUpdateUI thread ID " << QThread::currentThreadId();
loadTasksAMM();
setDocsActualed(true);
}
void AMMtasksWidget::slot_traineeSelected(int id_trainee)
@@ -418,3 +441,8 @@ void AMMtasksWidget::on_btnOnlyActive_clicked()
}
loadTasksAMM(false);
}
void AMMtasksWidget::on_btnDocsUpdating_clicked()
{
connectorToServer->sendQueryTasksXML("amm");
}

View File

@@ -25,6 +25,8 @@ public:
void deactivate();
void waitAnimationWidgetShowWithPlay();
void setDocsActualed(bool flActualed);
public:
void resizeEvent(QResizeEvent *event) override;
void closeDlgCheckTask();
@@ -39,6 +41,8 @@ private Q_SLOTS:
void on_btnOnlyActive_clicked(); //AMM
void on_btnDocsUpdating_clicked();
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI();

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
<height>448</height>
</rect>
</property>
<property name="sizePolicy">
@@ -35,6 +35,86 @@
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_Btn">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_Actual">
<item>
<widget class="QLabel" name="label_DocsActualed">
<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="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../InstructorsAndTrainees.qrc">:/resources/icons/warning.png</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_Actual">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>48</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>40</height>
</size>
</property>
<property name="text">
<string>...</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QToolButton" name="btnDocsUpdating">
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="text">
<string>Update</string>
</property>
<property name="icon">
<iconset resource="../InstructorsAndTrainees.qrc">
<normaloff>:/resources/icons/exchange.png</normaloff>:/resources/icons/exchange.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>
<spacer name="verticalSpacer">
<property name="orientation">
@@ -60,7 +140,7 @@
<string>Status</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<iconset resource="../InstructorsAndTrainees.qrc">
<normaloff>:/resources/icons/check.png</normaloff>:/resources/icons/check.png</iconset>
</property>
<property name="iconSize">
@@ -86,7 +166,7 @@
<string>Delete</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<iconset resource="../InstructorsAndTrainees.qrc">
<normaloff>:/resources/icons/delete.png</normaloff>:/resources/icons/delete.png</iconset>
</property>
<property name="iconSize">
@@ -112,7 +192,7 @@
<string>Аvailable</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<iconset resource="../InstructorsAndTrainees.qrc">
<normaloff>:/resources/icons/filter.png</normaloff>:/resources/icons/filter.png</iconset>
</property>
<property name="iconSize">
@@ -141,7 +221,7 @@
<string>Assign</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<iconset resource="../InstructorsAndTrainees.qrc">
<normaloff>:/resources/icons/assignTask.png</normaloff>:/resources/icons/assignTask.png</iconset>
</property>
<property name="iconSize">
@@ -164,7 +244,7 @@
</layout>
</widget>
<resources>
<include location="../resources.qrc"/>
<include location="../InstructorsAndTrainees.qrc"/>
</resources>
<connections/>
</ui>