From 2a13f63fcc9fd9e60c168d54af7378d9592dd9fc Mon Sep 17 00:00:00 2001 From: krivoshein Date: Thu, 29 Jan 2026 16:23:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BB=D0=B0=D0=B2=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D1=81=D0=BA=D1=80=D0=BE=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DOCS/Андрей/Board.md | 6 +-- FILES/translations/RRJServer_ru_RU.qm | Bin 34365 -> 34371 bytes LibInstructorsAndTrainees/commonview.cpp | 5 +++ .../tasks/ammtaskswidget.cpp | 6 +++ .../tasks/fimtaskswidget.cpp | 5 +++ .../tasks/listsubproc.cpp | 5 +++ .../trainees/personalcardtrainee.cpp | 17 +++++-- LibServer/settings/dialogsettingstray.cpp | 8 ++++ translations/RRJServer_ru_RU.qm | Bin 34365 -> 34371 bytes translations/RRJServer_ru_RU.ts | 42 +++++++++--------- 10 files changed, 66 insertions(+), 28 deletions(-) diff --git a/DOCS/Андрей/Board.md b/DOCS/Андрей/Board.md index 2778313..84c40e3 100644 --- a/DOCS/Андрей/Board.md +++ b/DOCS/Андрей/Board.md @@ -9,10 +9,12 @@ kanban-plugin: board - [ ] GUI: Сделать кнопку перезапроса общих списков FIM (по аналогии с АММ) - [ ] /RUS/Scens/tasksFIM.xml возможно изменится структура - [ ] выгрузка назначенных задач с оценками в эксель таблицу или любой другой человекочитаемый вид +- [ ] Текстовый поиск в задачах ## Completed +- [ ] Не влазиют слишком большие сообщения - [ ] FIM процедура добавить кнопку сделать новой - [ ] Не видно новых пришедших сообщений, если выбран другой Юзер - [ ] При смене УЗ в ГУИ остается история переписки в мессенджере. При этом Имя инструктора в диалоге подменяется. (Путается только в ГУИ!) @@ -58,6 +60,7 @@ kanban-plugin: board - [ ] Учет ширины скрола на деревьях (появляется если дерево больше окна) - [ ] Универсальный пересчет ширин колонок деревьев - [ ] При обновлении деревьев слетает назначенная колонка сортировки +- [ ] В сообщение о неудачном подключении к PostgreSQL добавить: PSQL не установлен ## Server @@ -66,17 +69,14 @@ kanban-plugin: board (Так как сейчас может вызвать проблемы при смене логина юзера!!!) - [ ] Зарефакторить databaselms_PostgreSQL.cpp (возможно, нужно использовать транзакции при восстановлении БД!) -- [ ] В сообщение о неудачном подключении к PostgreSQL добавить: PSQL не установлен ## GUI Messenger -- [ ] Не влазиют слишком большие сообщения ## GUI общие -- [ ] Текстовый поиск в задачах - [ ] Общий список АММ. автопролистывание вниз, если раскрывается дерево внизу diff --git a/FILES/translations/RRJServer_ru_RU.qm b/FILES/translations/RRJServer_ru_RU.qm index e20a4a69170c81dc287e7b67904c66d60e8ca43a..76bba9dc53b84b34fc9ee90da1a181ac3c852786 100644 GIT binary patch delta 2037 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 diff --git a/LibInstructorsAndTrainees/commonview.cpp b/LibInstructorsAndTrainees/commonview.cpp index 8f0f5d9..3620bb1 100644 --- a/LibInstructorsAndTrainees/commonview.cpp +++ b/LibInstructorsAndTrainees/commonview.cpp @@ -26,6 +26,11 @@ CommonView::CommonView(ConnectorToServer* connectorToServer, TypeView type, QWid treeWidget->setSortingEnabled(false); + treeWidget->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->verticalScrollBar()->setSingleStep(10); + treeWidget->setHorizontalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->horizontalScrollBar()->setSingleStep(10); + waitAnimationWidget = new WaitAnimationWidget; QMovie *movie = new QMovie(":/resources/icons/762.gif"); waitAnimationWidget->initialize(movie,this); diff --git a/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp b/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp index 518ee66..9faaa33 100644 --- a/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp +++ b/LibInstructorsAndTrainees/tasks/ammtaskswidget.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include "ammtaskswidget.h" #include "ui_ammtaskswidget.h" #include "checkertask.h" @@ -100,6 +101,11 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre ui->label_Actual->setVisible(false); ui->btnDocsUpdating->setVisible(false); } + + treeWidget->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->verticalScrollBar()->setSingleStep(10); + treeWidget->setHorizontalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->horizontalScrollBar()->setSingleStep(10); } AMMtasksWidget::~AMMtasksWidget() diff --git a/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp b/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp index c65a41c..8f7ec24 100644 --- a/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp +++ b/LibInstructorsAndTrainees/tasks/fimtaskswidget.cpp @@ -85,6 +85,11 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre //ui->verticalLayout->setAlignment(Qt::AlignmentFlag::AlignBottom); //ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft); } + + treeWidget->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->verticalScrollBar()->setSingleStep(10); + treeWidget->setHorizontalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->horizontalScrollBar()->setSingleStep(10); } FIMtasksWidget::~FIMtasksWidget() diff --git a/LibInstructorsAndTrainees/tasks/listsubproc.cpp b/LibInstructorsAndTrainees/tasks/listsubproc.cpp index 4258eaf..f0be64f 100644 --- a/LibInstructorsAndTrainees/tasks/listsubproc.cpp +++ b/LibInstructorsAndTrainees/tasks/listsubproc.cpp @@ -16,6 +16,11 @@ ListSubProc::ListSubProc(QWidget *parent) : treeWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus); + treeWidget->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->verticalScrollBar()->setSingleStep(10); + treeWidget->setHorizontalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel); + treeWidget->horizontalScrollBar()->setSingleStep(10); + preparationTreeWidget(); } diff --git a/LibInstructorsAndTrainees/trainees/personalcardtrainee.cpp b/LibInstructorsAndTrainees/trainees/personalcardtrainee.cpp index 5e91df4..4b254af 100644 --- a/LibInstructorsAndTrainees/trainees/personalcardtrainee.cpp +++ b/LibInstructorsAndTrainees/trainees/personalcardtrainee.cpp @@ -98,9 +98,20 @@ void PersonalCardTrainee::loadInfo() TimingOfTrainee timing = trainee.getTiming(); - ui->lblTimeOperation->setText(timing.getOperatingTimeS()); - ui->lblLoginTime->setText(timing.getEntryTimeS()); - ui->lblTimeExit->setText(timing.getExitTimeS()); + QTime time0; + time0.setHMS(0, 0, 0); + if(timing.getOperatingTime() == time0) + { + ui->lblTimeOperation->setText(timing.getOperatingTimeS()); + ui->lblLoginTime->setText("---"); + ui->lblTimeExit->setText("---"); + } + else + { + ui->lblTimeOperation->setText(timing.getOperatingTimeS()); + ui->lblLoginTime->setText(timing.getEntryTimeS()); + ui->lblTimeExit->setText(timing.getExitTimeS()); + } } void PersonalCardTrainee::slot_countTasksAMMforTraineeChanged(int trainee_id, QString statAMM) diff --git a/LibServer/settings/dialogsettingstray.cpp b/LibServer/settings/dialogsettingstray.cpp index 04e1f51..07250f9 100644 --- a/LibServer/settings/dialogsettingstray.cpp +++ b/LibServer/settings/dialogsettingstray.cpp @@ -75,6 +75,7 @@ DialogSettingsTray::DialogSettingsTray(ProviderDBLMS* providerDBLMS, QWidget *pa ui->btnSave->setEnabled(false); ui->btnCheckDB->setEnabled(true); + ui->btnUpdateDocs->setEnabled(true); flSettingsServerChanged = false; } else @@ -90,6 +91,7 @@ DialogSettingsTray::DialogSettingsTray(ProviderDBLMS* providerDBLMS, QWidget *pa ui->btnSave->setEnabled(false); ui->btnCheckDB->setEnabled(false); + ui->btnUpdateDocs->setEnabled(false); flSettingsServerChanged = false; } } @@ -217,6 +219,7 @@ void DialogSettingsTray::on_btnSave_clicked() saveSettings(); ui->btnCheckDB->setEnabled(true); + ui->btnUpdateDocs->setEnabled(true); this->accept(); } @@ -242,6 +245,7 @@ void DialogSettingsTray::on_editNameDB_textChanged(const QString &arg1) { ui->btnSave->setEnabled(true); ui->btnCheckDB->setEnabled(false); + ui->btnUpdateDocs->setEnabled(false); flSettingsServerChanged = true; } @@ -249,6 +253,7 @@ void DialogSettingsTray::on_editHostName_textChanged(const QString &arg1) { ui->btnSave->setEnabled(true); ui->btnCheckDB->setEnabled(false); + ui->btnUpdateDocs->setEnabled(false); flSettingsServerChanged = true; } @@ -256,6 +261,7 @@ void DialogSettingsTray::on_editPort_textChanged(const QString &arg1) { ui->btnSave->setEnabled(true); ui->btnCheckDB->setEnabled(false); + ui->btnUpdateDocs->setEnabled(false); flSettingsServerChanged = true; } @@ -263,6 +269,7 @@ void DialogSettingsTray::on_editUserName_textChanged(const QString &arg1) { ui->btnSave->setEnabled(true); ui->btnCheckDB->setEnabled(false); + ui->btnUpdateDocs->setEnabled(false); flSettingsServerChanged = true; } @@ -270,6 +277,7 @@ void DialogSettingsTray::on_editPassword_textChanged(const QString &arg1) { ui->btnSave->setEnabled(true); ui->btnCheckDB->setEnabled(false); + ui->btnUpdateDocs->setEnabled(false); flSettingsServerChanged = true; } diff --git a/translations/RRJServer_ru_RU.qm b/translations/RRJServer_ru_RU.qm index e20a4a69170c81dc287e7b67904c66d60e8ca43a..76bba9dc53b84b34fc9ee90da1a181ac3c852786 100644 GIT binary patch delta 2037 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 diff --git a/translations/RRJServer_ru_RU.ts b/translations/RRJServer_ru_RU.ts index a9a535d..f5ab72f 100644 --- a/translations/RRJServer_ru_RU.ts +++ b/translations/RRJServer_ru_RU.ts @@ -927,7 +927,7 @@ Please try again later. Changeable: - Изменен: + Изменяемая: @@ -1487,14 +1487,12 @@ Please reconnect to the server. Maintenance training device RRJ-95NEW-100 Instructor's workstation - АРМ Инструктора Тренажёра процедур технического -обслуживания RRJ-95NEW-100 + АРМ Инструктора Тренажёра процедур технического обслуживания RRJ-95NEW-100 Maintenance training device RRJ-95NEW-100 Server - Сервер Тренажёра процедур технического -обслуживания RRJ-95NEW-100 + Сервер Тренажёра процедур технического обслуживания RRJ-95NEW-100 @@ -1747,81 +1745,81 @@ Please reconnect to the server. Версия материалов: - + Error PostgreSQL! Ошибка PostgreSQL! - + Server is started! Сервер запущен! - + Server is stoped! Сервер остановлен! - + Settings file could not be opened: Файл настроек не открыт: - + Database settings have been changed. The server will be restarted. Настройки Базы Данных были изменены. Сервер будет перезапущен. - + The file could not be opened Файл не может быть открыт - - + + Database connection error! Ошибка подключения Базы данных! - + Database connection OK! База данных подключена! - - + + started запущен - + locked заблокирован - + stoped остановлен - + connected подключена - + not connected не подключен - + No Client files found! Файлы клиента не найдены! - + * check Application for the presence of a folder with a build * check SharedData for a folder with the base version and the name base * проверьте Application на наличие папки со сборкой