From 73fd93a8344373485d51bedf19e84aae5cf34260 Mon Sep 17 00:00:00 2001 From: semenov Date: Fri, 21 Nov 2025 10:16:06 +0300 Subject: [PATCH] feat: link busy state with lock icon --- DOCS/Алексей/Board.md | 19 ++++++++++++------- ServerLMS/Systems/commonclienthandler.cpp | 5 ++--- ServerLMS/Systems/commonclienthandler.h | 2 +- ServerLMS/Systems/sendsystem.cpp | 1 + ServerLMS/serverlmswidget.cpp | 15 +++++++++++++++ ServerLMS/serverlmswidget.h | 1 + 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/DOCS/Алексей/Board.md b/DOCS/Алексей/Board.md index d197cd5..f558238 100644 --- a/DOCS/Алексей/Board.md +++ b/DOCS/Алексей/Board.md @@ -12,21 +12,18 @@ kanban-plugin: board - [ ] Перезаполнять имя на offline, если клиент отключился - [ ] QT клиент, если сервер занят повторно не появляется окно авторизации -- [ ] не отправлять updateDocs если не залогинен -- [ ] Отменить изменения работает некрасиво -- [ ] BUSY не меняет иконку блокировки -- [ ] не работают ссылки при выгрузке в QT Client -- [ ] починить поведение окон при включенном обновлении у 2х пользователей +- [ ] поправить верстку в управлении серверами +- [ ] Подчищать креды при переходе из QT в UNITY ## feature client Unity -- [ ] перетащить наименования хинтов в XML и забирать из оттуда при старте +- [ ] добавить переход на сценарий из PDF по типу списка окон +- [ ] Читать сабпроцедуры из тасок ## feature client QT -- [ ] убрать из XML все настройки для мат модели ## feature server @@ -39,6 +36,14 @@ kanban-plugin: board ## Complete +- [ ] BUSY не меняет иконку блокировки +- [ ] не работают ссылки при выгрузке в QT Client +- [ ] убрать из XML все настройки для мат модели +- [ ] не отправлять updateDocs если не залогинен и запретить все операции +- [ ] Завести CLIENT с состояние залогигнен или нет +- [ ] перетащить наименования хинтов в XML и забирать из оттуда при старте +- [ ] починить поведение окон при включенном обновлении у 2х пользователей +- [ ] Отменить изменения работает некрасиво - [ ] увеличить размер текста в окне обновлений - [ ] Делить по группам траэйнисы и инструкторы - [ ] Проверить Максимальный объем пересылаемых позже сообщений 4 тысячи знаков diff --git a/ServerLMS/Systems/commonclienthandler.cpp b/ServerLMS/Systems/commonclienthandler.cpp index b624983..6e20894 100644 --- a/ServerLMS/Systems/commonclienthandler.cpp +++ b/ServerLMS/Systems/commonclienthandler.cpp @@ -116,6 +116,8 @@ void CommonClientHandler::slot_sendPacketToAllClients(PacketType packetType) handler->sendPacketType(packetType); Logger::instance().log("AllSending " + handler->getClient()->getLogin() + " " + enumToString(packetType)); } + + emit sigSetServerState(packetType); } @@ -135,9 +137,6 @@ void CommonClientHandler::slot_sendTaskToClient(QString fullNameClient,QString t QString peerAddress = handler->getSocket()->peerAddress().toString(); QString peerPort = QString::number(handler->getSocket()->peerPort()); - - QString str = "Task To Client [" + peerAddress + ":" + peerPort + "] : " + textTask; - emit sigSendToLogger(str); } } } diff --git a/ServerLMS/Systems/commonclienthandler.h b/ServerLMS/Systems/commonclienthandler.h index d2e0809..cef1732 100644 --- a/ServerLMS/Systems/commonclienthandler.h +++ b/ServerLMS/Systems/commonclienthandler.h @@ -28,7 +28,7 @@ public: void slot_DocsChanged(); signals: - void sigSendToLogger(QString text); + void sigSetServerState(PacketType packetType); private: QMap *clientsMap; ProcessingSystem *processingSystem; diff --git a/ServerLMS/Systems/sendsystem.cpp b/ServerLMS/Systems/sendsystem.cpp index ad8a8c8..7bed218 100644 --- a/ServerLMS/Systems/sendsystem.cpp +++ b/ServerLMS/Systems/sendsystem.cpp @@ -228,6 +228,7 @@ void SendSystem::sendPacketType(PacketType packetType) message.append(reinterpret_cast(&type), sizeof(int)); socket->write(message); } + } void SendSystem::sendHello() diff --git a/ServerLMS/serverlmswidget.cpp b/ServerLMS/serverlmswidget.cpp index c10cf35..1a26690 100644 --- a/ServerLMS/serverlmswidget.cpp +++ b/ServerLMS/serverlmswidget.cpp @@ -234,6 +234,20 @@ void ServerLMSWidget::on_btnSettings_clicked() } } +void ServerLMSWidget::slot_trySetServerState(PacketType packetType) +{ + if (packetType == PacketType::BUSY) + { + server->blockAutorization(); + updateStateServer(); + } + else if (packetType == PacketType::FREE) + { + server->unBlockAutorization(); + updateStateServer(); + } +} + void ServerLMSWidget::setLanguageInterfase() { ServerDBSettings settings; @@ -311,6 +325,7 @@ void ServerLMSWidget::startInitialization() commonClientHandler = new CommonClientHandler; connect(this,&ServerLMSWidget::signal_DocsChanged,commonClientHandler, &CommonClientHandler::slot_DocsChanged); + connect(commonClientHandler,&CommonClientHandler::sigSetServerState,this,&ServerLMSWidget::slot_trySetServerState); server = new MultiThreadServer(this,updateController,processingSystem,dataParser,6000); diff --git a/ServerLMS/serverlmswidget.h b/ServerLMS/serverlmswidget.h index 4c81cd7..973dd40 100644 --- a/ServerLMS/serverlmswidget.h +++ b/ServerLMS/serverlmswidget.h @@ -123,6 +123,7 @@ private slots: void on_btnStartServer_clicked(); void on_btnStopServer_clicked(); void on_btnSettings_clicked(); + void slot_trySetServerState(PacketType packetType); private: void setLanguageInterfase();