смена пароля админа + иконка в exe

This commit is contained in:
2025-12-02 15:10:23 +03:00
parent 2e807112f0
commit 75ffb5ceca
19 changed files with 243 additions and 197 deletions

View File

@@ -2,6 +2,12 @@ project(GUIdataBaseLMS LANGUAGES CXX)
common_info_for_project(GUIdataBaseLMS) common_info_for_project(GUIdataBaseLMS)
# Подключаем RC-файл (только для Windows)
if(WIN32)
# Предполагая, что файл app.rc расположен в корневом каталоге проекта
set(RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/app.rc)
endif()
add_executable(GUIdataBaseLMS WIN32 add_executable(GUIdataBaseLMS WIN32
main.cpp main.cpp
mainwindow.cpp mainwindow.cpp
@@ -10,6 +16,11 @@ mainwindow.ui
GUIdataBaseLMS.qrc GUIdataBaseLMS.qrc
) )
# Подключаем RC-файл к цели
if(RC_FILE)
target_sources(${PROJECT_NAME} PRIVATE ${RC_FILE})
endif()
target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Widgets) target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Widgets)
target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Sql) target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Sql)
target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Xml) target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Xml)

View File

@@ -1,5 +1,6 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>resources/lms.png</file> <file>resources/IcoGUIRRJ.ico</file>
<file>resources/PngGUIRRJ.png</file>
</qresource> </qresource>
</RCC> </RCC>

1
GUIdataBaseLMS/app.rc Normal file
View File

@@ -0,0 +1 @@
IDI_APP_ICON ICON "resources\IcoGUIRRJ.ico"

View File

@@ -20,7 +20,7 @@
</property> </property>
<property name="windowIcon"> <property name="windowIcon">
<iconset resource="GUIdataBaseLMS.qrc"> <iconset resource="GUIdataBaseLMS.qrc">
<normaloff>:/resources/lms.png</normaloff>:/resources/lms.png</iconset> <normaloff>:/resources/PngGUIRRJ.png</normaloff>:/resources/PngGUIRRJ.png</iconset>
</property> </property>
<property name="toolButtonStyle"> <property name="toolButtonStyle">
<enum>Qt::ToolButtonIconOnly</enum> <enum>Qt::ToolButtonIconOnly</enum>

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -54,9 +54,15 @@ void DialogEditInstructor::setInstructor(Instructor instructor)
ui->checkLoggedIn->setChecked(instructor.getLoggedIn()); ui->checkLoggedIn->setChecked(instructor.getLoggedIn());
if(instructor.getIsAdmin()) if(instructor.getIsAdmin())
{
ui->editName->setEnabled(false); ui->editName->setEnabled(false);
ui->editLogin->setEnabled(false);
}
else else
{
ui->editName->setEnabled(true); ui->editName->setEnabled(true);
ui->editLogin->setEnabled(true);
}
if(instructor.getNeedSetPassword()) if(instructor.getNeedSetPassword())
{ {

View File

@@ -162,7 +162,7 @@ void EditorInstructors::on_btnEdit_clicked()
int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt(); int id = treeItemCurrent->text(ColumnsTreeUsers::clmn_ID).toInt();
if(connectorToServer->isLoggedInInstructor(id)) if(connectorToServer->isLoggedInInstructor(id) && !adminMode)
{//Инструктор залогирован! {//Инструктор залогирован!
SpecMsgBox::CriticalClose(this, tr("You cannot edit a logged-in instructor.")); SpecMsgBox::CriticalClose(this, tr("You cannot edit a logged-in instructor."));
return; return;
@@ -233,9 +233,24 @@ void EditorInstructors::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current
ui->btnToOrFromArchive->setIcon(QIcon(QStringLiteral(":/resources/icons/instructorArchive.png"))); ui->btnToOrFromArchive->setIcon(QIcon(QStringLiteral(":/resources/icons/instructorArchive.png")));
} }
ui->btnNewInstructor->setEnabled(true); ui->btnNewInstructor->setEnabled(true);
if(connectorToServer->isAdminInstructor(id) || connectorToServer->isLoggedInInstructor(id)) if(connectorToServer->isAdminInstructor(id))
{//Это Админ! Удалять/Архивировать/Редактировать нельзя! (Только сменить пароль, если это он сам)
if(adminMode)
{
ui->btnDeleteInstructor->setEnabled(false);
ui->btnToOrFromArchive->setEnabled(false);
ui->btnEdit->setEnabled(true);
}
else
{
ui->btnDeleteInstructor->setEnabled(false);
ui->btnToOrFromArchive->setEnabled(false);
ui->btnEdit->setEnabled(false);
}
}
else if(connectorToServer->isLoggedInInstructor(id))
{//Это Админ или залогированный! Удалять/Архивировать/Редактировать нельзя! {//Это Админ или залогированный! Удалять/Архивировать/Редактировать нельзя!
ui->btnDeleteInstructor->setEnabled(false); ui->btnDeleteInstructor->setEnabled(false);
ui->btnToOrFromArchive->setEnabled(false); ui->btnToOrFromArchive->setEnabled(false);

View File

@@ -34,56 +34,56 @@
<translation>Удалить</translation> <translation>Удалить</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="129"/> <location filename="../tasks/ammtaskswidget.cpp" line="130"/>
<source>actual</source> <source>actual</source>
<translation>актуально</translation> <translation>актуально</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="135"/> <location filename="../tasks/ammtaskswidget.cpp" line="136"/>
<source>update required</source> <source>update required</source>
<translation>требуется обновление</translation> <translation>требуется обновление</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="400"/>
<location filename="../tasks/ammtaskswidget.cpp" line="402"/> <location filename="../tasks/ammtaskswidget.cpp" line="402"/>
<location filename="../tasks/ammtaskswidget.cpp" line="404"/>
<source>DM code</source> <source>DM code</source>
<translation>DM код</translation> <translation>DM код</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="400"/>
<location filename="../tasks/ammtaskswidget.cpp" line="402"/> <location filename="../tasks/ammtaskswidget.cpp" line="402"/>
<location filename="../tasks/ammtaskswidget.cpp" line="404"/>
<source>ID</source> <source>ID</source>
<translation>ID</translation> <translation>ID</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="400"/>
<location filename="../tasks/ammtaskswidget.cpp" line="402"/> <location filename="../tasks/ammtaskswidget.cpp" line="402"/>
<location filename="../tasks/ammtaskswidget.cpp" line="404"/>
<source>Procedure AMM</source> <source>Procedure AMM</source>
<translation>Процедура AMM</translation> <translation>Процедура AMM</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="400"/>
<location filename="../tasks/ammtaskswidget.cpp" line="402"/> <location filename="../tasks/ammtaskswidget.cpp" line="402"/>
<location filename="../tasks/ammtaskswidget.cpp" line="404"/>
<source>Canplay</source> <source>Canplay</source>
<translation>Режимы</translation> <translation>Режимы</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.ui" line="144"/> <location filename="../tasks/ammtaskswidget.ui" line="144"/>
<location filename="../tasks/ammtaskswidget.cpp" line="400"/>
<location filename="../tasks/ammtaskswidget.cpp" line="402"/> <location filename="../tasks/ammtaskswidget.cpp" line="402"/>
<location filename="../tasks/ammtaskswidget.cpp" line="404"/>
<source>Status</source> <source>Status</source>
<translation>Статус</translation> <translation>Статус</translation>
</message> </message>
<message> <message>
<location filename="../tasks/ammtaskswidget.cpp" line="507"/> <location filename="../tasks/ammtaskswidget.cpp" line="509"/>
<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="../tasks/ammtaskswidget.cpp" line="328"/> <location filename="../tasks/ammtaskswidget.cpp" line="330"/>
<location filename="../tasks/ammtaskswidget.cpp" line="350"/> <location filename="../tasks/ammtaskswidget.cpp" line="352"/>
<source>Assign this task?</source> <source>Assign this task?</source>
<translation>Назначить эту задачу?</translation> <translation>Назначить эту задачу?</translation>
</message> </message>
@@ -141,33 +141,33 @@ Delete it anyway?</source>
<translation>Новая</translation> <translation>Новая</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="145"/> <location filename="../tasks/checkertask.cpp" line="146"/>
<source>viewed</source> <source>viewed</source>
<translation>Просмотрено</translation> <translation>Просмотрено</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="86"/> <location filename="../tasks/checkertask.cpp" line="87"/>
<location filename="../tasks/checkertask.cpp" line="147"/> <location filename="../tasks/checkertask.cpp" line="148"/>
<source>completed</source> <source>completed</source>
<translation>выполнена</translation> <translation>выполнена</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="91"/> <location filename="../tasks/checkertask.cpp" line="92"/>
<source>failed</source> <source>failed</source>
<translation>неверно</translation> <translation>неверно</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="96"/> <location filename="../tasks/checkertask.cpp" line="97"/>
<source>checkup</source> <source>checkup</source>
<translation>на проверке</translation> <translation>на проверке</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="101"/> <location filename="../tasks/checkertask.cpp" line="102"/>
<source>new</source> <source>new</source>
<translation>новая</translation> <translation>новая</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="169"/> <location filename="../tasks/checkertask.cpp" line="170"/>
<source>Change task status? <source>Change task status?
The status will be set: The status will be set:
&apos;failed&apos;</source> &apos;failed&apos;</source>
@@ -176,7 +176,7 @@ The status will be set:
&apos;неверно&apos;</translation> &apos;неверно&apos;</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="175"/> <location filename="../tasks/checkertask.cpp" line="176"/>
<source>Change task status? <source>Change task status?
The status will be set: The status will be set:
&apos;new&apos;</source> &apos;new&apos;</source>
@@ -185,8 +185,8 @@ The status will be set:
&apos;новая&apos;</translation> &apos;новая&apos;</translation>
</message> </message>
<message> <message>
<location filename="../tasks/checkertask.cpp" line="196"/> <location filename="../tasks/checkertask.cpp" line="197"/>
<location filename="../tasks/checkertask.cpp" line="202"/> <location filename="../tasks/checkertask.cpp" line="203"/>
<source>Change task status? <source>Change task status?
The status will be set: The status will be set:
&apos;completed&apos;</source> &apos;completed&apos;</source>
@@ -364,7 +364,7 @@ The status will be set:
<translation>Сохранить</translation> <translation>Сохранить</translation>
</message> </message>
<message> <message>
<location filename="../instructors/dialogeditinstructor.cpp" line="151"/> <location filename="../instructors/dialogeditinstructor.cpp" line="157"/>
<source>Only Latin letters and numbers</source> <source>Only Latin letters and numbers</source>
<translation>Только латинские буквы и цифры</translation> <translation>Только латинские буквы и цифры</translation>
</message> </message>
@@ -617,40 +617,40 @@ The status will be set:
<translation>Управление версиями</translation> <translation>Управление версиями</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogversioncontrol.cpp" line="90"/> <location filename="../settings/dialogversioncontrol.cpp" line="91"/>
<source>Yes</source> <source>Yes</source>
<translation>Да</translation> <translation>Да</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogversioncontrol.cpp" line="91"/> <location filename="../settings/dialogversioncontrol.cpp" line="92"/>
<source>No</source> <source>No</source>
<translation>Нет</translation> <translation>Нет</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogversioncontrol.cpp" line="100"/> <location filename="../settings/dialogversioncontrol.cpp" line="101"/>
<source>Version name: </source> <source>Version name: </source>
<translation>Имя версии: </translation> <translation>Имя версии: </translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogversioncontrol.cpp" line="101"/> <location filename="../settings/dialogversioncontrol.cpp" line="102"/>
<source>Created: </source> <source>Created: </source>
<translation>Создан: </translation> <translation>Создан: </translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogversioncontrol.cpp" line="102"/> <location filename="../settings/dialogversioncontrol.cpp" line="103"/>
<source>Changeable: </source> <source>Changeable: </source>
<translation>Изменен: </translation> <translation>Изменен: </translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogversioncontrol.cpp" line="103"/> <location filename="../settings/dialogversioncontrol.cpp" line="104"/>
<source>Author: </source> <source>Author: </source>
<translation>Автор: </translation> <translation>Автор: </translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogversioncontrol.cpp" line="116"/> <location filename="../settings/dialogversioncontrol.cpp" line="117"/>
<location filename="../settings/dialogversioncontrol.cpp" line="129"/> <location filename="../settings/dialogversioncontrol.cpp" line="130"/>
<location filename="../settings/dialogversioncontrol.cpp" line="162"/> <location filename="../settings/dialogversioncontrol.cpp" line="163"/>
<location filename="../settings/dialogversioncontrol.cpp" line="174"/> <location filename="../settings/dialogversioncontrol.cpp" line="175"/>
<source>Version not selected</source> <source>Version not selected</source>
<translation>Версия не выбрана</translation> <translation>Версия не выбрана</translation>
</message> </message>
@@ -674,7 +674,7 @@ The status will be set:
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.ui" line="127"/> <location filename="../instructors/editorinstructors.ui" line="127"/>
<location filename="../instructors/editorinstructors.cpp" line="224"/> <location filename="../instructors/editorinstructors.cpp" line="232"/>
<source>To archive</source> <source>To archive</source>
<translation>Архивировать</translation> <translation>Архивировать</translation>
</message> </message>
@@ -689,60 +689,60 @@ The status will be set:
<translation>Показать архив</translation> <translation>Показать архив</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="77"/> <location filename="../instructors/editorinstructors.cpp" line="85"/>
<source>You cannot delete the Administrator.</source> <source>You cannot delete the Administrator.</source>
<translation>Нельзя удалить администратора.</translation> <translation>Нельзя удалить администратора.</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="83"/> <location filename="../instructors/editorinstructors.cpp" line="91"/>
<source>You cannot delete a logged-in instructor.</source> <source>You cannot delete a logged-in instructor.</source>
<translation>Вы не можете удалить инструктора, вошедшего в систему.</translation> <translation>Вы не можете удалить инструктора, вошедшего в систему.</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="87"/> <location filename="../instructors/editorinstructors.cpp" line="95"/>
<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="../instructors/editorinstructors.cpp" line="122"/> <location filename="../instructors/editorinstructors.cpp" line="130"/>
<source>You cannot archive a logged-in instructor.</source> <source>You cannot archive a logged-in instructor.</source>
<translation>Вы не можете заархивировать инструктора, вошедшего в систему.</translation> <translation>Вы не можете заархивировать инструктора, вошедшего в систему.</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="159"/> <location filename="../instructors/editorinstructors.cpp" line="167"/>
<source>You cannot edit a logged-in instructor.</source> <source>You cannot edit a logged-in instructor.</source>
<translation>Вы не можете редактировать инструктора, вошедшего в систему.</translation> <translation>Вы не можете редактировать инструктора, вошедшего в систему.</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="219"/> <location filename="../instructors/editorinstructors.cpp" line="227"/>
<source>From archive</source> <source>From archive</source>
<translation>Разархивировать</translation> <translation>Разархивировать</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="265"/> <location filename="../instructors/editorinstructors.cpp" line="288"/>
<source>Unacceptable instructor name has been entered. <source>Unacceptable instructor name has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введено неприемлемое имя инструктора. <translation>Введено неприемлемое имя инструктора.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="271"/> <location filename="../instructors/editorinstructors.cpp" line="294"/>
<source>Unacceptable instructor login has been entered. <source>Unacceptable instructor login has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введен неприемлемый логин инструктора. <translation>Введен неприемлемый логин инструктора.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="277"/> <location filename="../instructors/editorinstructors.cpp" line="300"/>
<source>Unacceptable instructor password has been entered. <source>Unacceptable instructor password has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введен неприемлемый пароль инструктора. <translation>Введен неприемлемый пароль инструктора.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../instructors/editorinstructors.cpp" line="286"/> <location filename="../instructors/editorinstructors.cpp" line="309"/>
<source>An existing instructor or trainee login has been entered. <source>An existing instructor or trainee login has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введен существующий логин инструктора или обучаемого. <translation>Введен существующий логин инструктора или обучаемого.
@@ -778,8 +778,8 @@ The changes will not be accepted.</source>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.ui" line="206"/> <location filename="../trainees/editortrainees.ui" line="206"/>
<location filename="../trainees/editortrainees.cpp" line="326"/> <location filename="../trainees/editortrainees.cpp" line="346"/>
<location filename="../trainees/editortrainees.cpp" line="351"/> <location filename="../trainees/editortrainees.cpp" line="371"/>
<source>To archive</source> <source>To archive</source>
<translation>Архивировать</translation> <translation>Архивировать</translation>
</message> </message>
@@ -794,76 +794,76 @@ The changes will not be accepted.</source>
<translation>Показать архив</translation> <translation>Показать архив</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="76"/> <location filename="../trainees/editortrainees.cpp" line="96"/>
<source>The group is not empty. <source>The group is not empty.
It is not possible to delete a non-empty group.</source> It is not possible to delete a non-empty group.</source>
<translation>Группа не пуста. Невозможно удалить непустую группу.</translation> <translation>Группа не пуста. Невозможно удалить непустую группу.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="81"/> <location filename="../trainees/editortrainees.cpp" line="101"/>
<location filename="../trainees/editortrainees.cpp" line="136"/> <location filename="../trainees/editortrainees.cpp" line="156"/>
<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="../trainees/editortrainees.cpp" line="132"/> <location filename="../trainees/editortrainees.cpp" line="152"/>
<source>You cannot delete a logged-in trainee.</source> <source>You cannot delete a logged-in trainee.</source>
<translation>Вы не можете удалить обучаемого, вошедшего в систему.</translation> <translation>Вы не можете удалить обучаемого, вошедшего в систему.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="171"/> <location filename="../trainees/editortrainees.cpp" line="191"/>
<source>You cannot archive a logged-in trainee.</source> <source>You cannot archive a logged-in trainee.</source>
<translation>Вы не можете заархивировать обучаемого, вошедшего в систему.</translation> <translation>Вы не можете заархивировать обучаемого, вошедшего в систему.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="217"/> <location filename="../trainees/editortrainees.cpp" line="237"/>
<source>You cannot edit a logged-in trainee.</source> <source>You cannot edit a logged-in trainee.</source>
<translation>Вы не можете редактировать обучаемого, вошедшего в систему.</translation> <translation>Вы не можете редактировать обучаемого, вошедшего в систему.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="344"/> <location filename="../trainees/editortrainees.cpp" line="364"/>
<source>From archive</source> <source>From archive</source>
<translation>Разархивировать</translation> <translation>Разархивировать</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="386"/> <location filename="../trainees/editortrainees.cpp" line="406"/>
<source>Unacceptable group name has been entered. <source>Unacceptable group name has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введено неприемлемое название группы. <translation>Введено неприемлемое название группы.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="396"/> <location filename="../trainees/editortrainees.cpp" line="416"/>
<source>An existing group name has been entered. <source>An existing group name has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введено существующее название группы. <translation>Введено существующее название группы.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="410"/> <location filename="../trainees/editortrainees.cpp" line="430"/>
<source>Unacceptable trainee name has been entered. <source>Unacceptable trainee name has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введено неприемлемое имя обучаемого. <translation>Введено неприемлемое имя обучаемого.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="416"/> <location filename="../trainees/editortrainees.cpp" line="436"/>
<source>Unacceptable trainee login has been entered. <source>Unacceptable trainee login has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введен неприемлемый логин обучаемого. <translation>Введен неприемлемый логин обучаемого.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="422"/> <location filename="../trainees/editortrainees.cpp" line="442"/>
<source>Unacceptable trainee password has been entered. <source>Unacceptable trainee password has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Был введен неприемлемый пароль обучаемого. <translation>Был введен неприемлемый пароль обучаемого.
Изменения приняты не будут.</translation> Изменения приняты не будут.</translation>
</message> </message>
<message> <message>
<location filename="../trainees/editortrainees.cpp" line="431"/> <location filename="../trainees/editortrainees.cpp" line="451"/>
<source>An existing instructor or trainee login has been entered. <source>An existing instructor or trainee login has been entered.
The changes will not be accepted.</source> The changes will not be accepted.</source>
<translation>Введен существующий логин инструктора или обучаемого. <translation>Введен существующий логин инструктора или обучаемого.
@@ -893,32 +893,32 @@ The changes will not be accepted.</source>
<translation>Удалить</translation> <translation>Удалить</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="307"/> <location filename="../tasks/fimtaskswidget.cpp" line="310"/>
<location filename="../tasks/fimtaskswidget.cpp" line="309"/> <location filename="../tasks/fimtaskswidget.cpp" line="312"/>
<source>ID</source> <source>ID</source>
<translation>ID</translation> <translation>ID</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="307"/> <location filename="../tasks/fimtaskswidget.cpp" line="310"/>
<location filename="../tasks/fimtaskswidget.cpp" line="309"/> <location filename="../tasks/fimtaskswidget.cpp" line="312"/>
<source>Status</source> <source>Status</source>
<translation>Статус</translation> <translation>Статус</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="307"/> <location filename="../tasks/fimtaskswidget.cpp" line="310"/>
<location filename="../tasks/fimtaskswidget.cpp" line="309"/> <location filename="../tasks/fimtaskswidget.cpp" line="312"/>
<source>Procedure FIM</source> <source>Procedure FIM</source>
<translation>Процедура FIM</translation> <translation>Процедура FIM</translation>
</message> </message>
<message> <message>
<location filename="../tasks/fimtaskswidget.cpp" line="396"/> <location filename="../tasks/fimtaskswidget.cpp" line="399"/>
<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="../tasks/fimtaskswidget.cpp" line="440"/> <location filename="../tasks/fimtaskswidget.cpp" line="443"/>
<source>Assign this task?</source> <source>Assign this task?</source>
<translation>Назначить эту задачу?</translation> <translation>Назначить эту задачу?</translation>
</message> </message>
@@ -1003,7 +1003,7 @@ Delete it anyway?</source>
<message> <message>
<location filename="../instructorsandtraineeswidget.ui" line="375"/> <location filename="../instructorsandtraineeswidget.ui" line="375"/>
<location filename="../instructorsandtraineeswidget.ui" line="467"/> <location filename="../instructorsandtraineeswidget.ui" line="467"/>
<location filename="../instructorsandtraineeswidget.cpp" line="594"/> <location filename="../instructorsandtraineeswidget.cpp" line="605"/>
<source>none</source> <source>none</source>
<translation>нет</translation> <translation>нет</translation>
</message> </message>
@@ -1013,73 +1013,75 @@ Delete it anyway?</source>
<translation>Файл не может быть открыт </translation> <translation>Файл не может быть открыт </translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="288"/> <location filename="../instructorsandtraineeswidget.cpp" line="289"/>
<location filename="../instructorsandtraineeswidget.cpp" line="320"/> <location filename="../instructorsandtraineeswidget.cpp" line="321"/>
<source>Instructor authorization.</source> <source>Instructor authorization.</source>
<translation>Авторизация инструктора.</translation> <translation>Авторизация инструктора.</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="276"/> <location filename="../instructorsandtraineeswidget.cpp" line="277"/>
<source>Instructor deauthorization</source> <source>Instructor deauthorization</source>
<translation>Деавторизация инструктора</translation> <translation>Деавторизация инструктора</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="276"/> <location filename="../instructorsandtraineeswidget.cpp" line="277"/>
<source>Error!</source> <source>Error!</source>
<translation>Ошибка!</translation> <translation>Ошибка!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="288"/> <location filename="../instructorsandtraineeswidget.cpp" line="289"/>
<source>Server blocked!</source> <source>Server blocked!</source>
<translation>Сервер заблокирован!</translation> <translation>Сервер заблокирован!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="305"/> <location filename="../instructorsandtraineeswidget.cpp" line="306"/>
<source>Database error!</source> <source>Database error!</source>
<translation>Ошибка базы данных!</translation> <translation>Ошибка базы данных!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="309"/> <location filename="../instructorsandtraineeswidget.cpp" line="310"/>
<source>The user is archived!</source> <source>The user is archived!</source>
<translation>Пользователь является архивным!</translation> <translation>Пользователь является архивным!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="313"/> <location filename="../instructorsandtraineeswidget.cpp" line="314"/>
<source>The user is already logged in!</source> <source>The user is already logged in!</source>
<translation>Пользователь уже в сети!</translation> <translation>Пользователь уже в сети!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="317"/> <location filename="../instructorsandtraineeswidget.cpp" line="318"/>
<source>Login or password error!</source> <source>Login or password error!</source>
<translation>Ошибка логина или пароля!</translation> <translation>Ошибка логина или пароля!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="409"/> <location filename="../instructorsandtraineeswidget.cpp" line="419"/>
<source>The server is not available!</source> <source>The server is not available!</source>
<translation>Сервер недоступен!</translation> <translation>Сервер недоступен!</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="606"/> <location filename="../instructorsandtraineeswidget.cpp" line="617"/>
<source>Connection attempt</source> <source>Connection attempt</source>
<translation>Попытка соединения</translation> <translation>Попытка соединения</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="613"/> <location filename="../instructorsandtraineeswidget.cpp" line="624"/>
<source>connected</source> <source>connected</source>
<translation>подключен</translation> <translation>подключен</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="616"/> <location filename="../instructorsandtraineeswidget.cpp" line="627"/>
<source>not connected</source> <source>not connected</source>
<translation>не подключен</translation> <translation>не подключен</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="657"/> <location filename="../instructorsandtraineeswidget.cpp" line="668"/>
<source>Server settings have been changed. Please reconnect to the server.</source> <source>Server settings have been changed.
<translation>Настройки сервера изменены. Выполните переподключение к серверу.</translation> Please reconnect to the server.</source>
<translation>Настройки сервера были изменены.
Пожалуйста, переподключитесь к серверу.</translation>
</message> </message>
<message> <message>
<location filename="../instructorsandtraineeswidget.cpp" line="469"/> <location filename="../instructorsandtraineeswidget.cpp" line="480"/>
<source>Instructor authorization</source> <source>Instructor authorization</source>
<translation>Авторизация инструктора</translation> <translation>Авторизация инструктора</translation>
</message> </message>
@@ -1297,6 +1299,36 @@ Delete it anyway?</source>
<translation>Это имя уже существует</translation> <translation>Это имя уже существует</translation>
</message> </message>
</context> </context>
<context>
<name>SpecMsgBox</name>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="18"/>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="23"/>
<source>Attention!</source>
<translation>Внимание!</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="25"/>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="32"/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="30"/>
<source>Error!</source>
<translation>Ошибка!</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="37"/>
<source>Information</source>
<translation>Информация</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="39"/>
<source>Ok</source>
<translation>Хорошо</translation>
</message>
</context>
<context> <context>
<name>SpecialMessageBox</name> <name>SpecialMessageBox</name>
<message> <message>
@@ -1319,33 +1351,6 @@ Delete it anyway?</source>
<source>No</source> <source>No</source>
<translation>Нет</translation> <translation>Нет</translation>
</message> </message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="16"/>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="21"/>
<source>Attention!</source>
<translation>Внимание!</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="23"/>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="30"/>
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="28"/>
<source>Error!</source>
<translation>Ошибка!</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="35"/>
<source>Information</source>
<translation>Информация</translation>
</message>
<message>
<location filename="../specialmessagebox/specialmessagebox.cpp" line="37"/>
<source>Ok</source>
<translation>Хорошо</translation>
</message>
</context> </context>
<context> <context>
<name>SubProcItemWidget</name> <name>SubProcItemWidget</name>

View File

@@ -118,101 +118,101 @@
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="77"/> <location filename="../settings/dialogsettingstray.ui" line="77"/>
<source>Host name</source> <source>Local</source>
<translation>Хост</translation> <translation>Локальная</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="97"/> <location filename="../settings/dialogsettingstray.ui" line="108"/>
<source>Localhost</source> <source>IP address</source>
<translation></translation> <translation>IP адрес</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="121"/> <location filename="../settings/dialogsettingstray.ui" line="132"/>
<source>Port</source> <source>Port</source>
<translation>Порт</translation> <translation>Порт</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="145"/> <location filename="../settings/dialogsettingstray.ui" line="156"/>
<source>Database name</source> <source>Database name</source>
<translation>Имя базы данных</translation> <translation>Имя базы данных</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="172"/> <location filename="../settings/dialogsettingstray.ui" line="183"/>
<source>User name</source> <source>User name</source>
<translation>Имя пользователя</translation> <translation>Имя пользователя</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="199"/> <location filename="../settings/dialogsettingstray.ui" line="210"/>
<source>User password</source> <source>User password</source>
<translation>Пароль пользователя</translation> <translation>Пароль пользователя</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="245"/> <location filename="../settings/dialogsettingstray.ui" line="248"/>
<source>Check</source>
<translation>Проверить</translation>
</message>
<message>
<location filename="../settings/dialogsettingstray.ui" line="293"/>
<source>Save</source> <source>Save</source>
<translation>Сохранить</translation> <translation>Сохранить</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="326"/> <location filename="../settings/dialogsettingstray.ui" line="281"/>
<source>Additional</source> <source>Additional</source>
<translation>Расширенные</translation> <translation>Расширенные</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.ui" line="340"/> <location filename="../settings/dialogsettingstray.ui" line="295"/>
<source>Check DB</source>
<translation>Проверить БД</translation>
</message>
<message>
<location filename="../settings/dialogsettingstray.ui" line="334"/>
<source>Update Docs</source> <source>Update Docs</source>
<translation>Обновить Docs</translation> <translation>Обновить Docs</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.cpp" line="288"/> <location filename="../settings/dialogsettingstray.cpp" line="293"/>
<location filename="../settings/dialogsettingstray.cpp" line="338"/>
<location filename="../settings/dialogsettingstray.cpp" line="343"/> <location filename="../settings/dialogsettingstray.cpp" line="343"/>
<location filename="../settings/dialogsettingstray.cpp" line="348"/>
<source>Error!</source> <source>Error!</source>
<translation>Ошибка!</translation> <translation>Ошибка!</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.cpp" line="288"/> <location filename="../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="../settings/dialogsettingstray.cpp" line="297"/> <location filename="../settings/dialogsettingstray.cpp" line="302"/>
<source>Superuser PostgreSQL authorization</source> <source>Superuser PostgreSQL authorization</source>
<translation>Авторизация суперпользователя PostgreSQL</translation> <translation>Авторизация суперпользователя PostgreSQL</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.cpp" line="338"/>
<location filename="../settings/dialogsettingstray.cpp" line="343"/> <location filename="../settings/dialogsettingstray.cpp" line="343"/>
<location filename="../settings/dialogsettingstray.cpp" line="348"/>
<source>Error connecting to PostgreSQL!</source> <source>Error connecting to PostgreSQL!</source>
<translation>Ошибка соединения с PostgreSQL!</translation> <translation>Ошибка соединения с PostgreSQL!</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.cpp" line="339"/>
<location filename="../settings/dialogsettingstray.cpp" line="344"/> <location filename="../settings/dialogsettingstray.cpp" line="344"/>
<location filename="../settings/dialogsettingstray.cpp" line="349"/>
<source>Possible reasons:</source> <source>Possible reasons:</source>
<translation>Возможные причины:</translation> <translation>Возможные причины:</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.cpp" line="340"/>
<location filename="../settings/dialogsettingstray.cpp" line="345"/> <location filename="../settings/dialogsettingstray.cpp" line="345"/>
<location filename="../settings/dialogsettingstray.cpp" line="350"/>
<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="../settings/dialogsettingstray.cpp" line="341"/> <location filename="../settings/dialogsettingstray.cpp" line="346"/>
<source>*Port is incorrect.</source> <source>*Port is incorrect.</source>
<translation>*Порт некорректен.</translation> <translation>*Порт некорректен.</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.cpp" line="346"/> <location filename="../settings/dialogsettingstray.cpp" line="351"/>
<source>*Port is incorrect;</source> <source>*Port is incorrect;</source>
<translation>*Порт некорректен;</translation> <translation>*Порт некорректен;</translation>
</message> </message>
<message> <message>
<location filename="../settings/dialogsettingstray.cpp" line="347"/> <location filename="../settings/dialogsettingstray.cpp" line="352"/>
<source>*file &apos;pg_hba.conf&apos; does not contain an entry for the IP address:</source> <source>*file &apos;pg_hba.conf&apos; does not contain an entry for the IP address:</source>
<translation>*файл &apos;pg_hba.conf не содержит записи доступа для IP адреса:</translation> <translation>*файл &apos;pg_hba.conf не содержит записи доступа для IP адреса:</translation>
</message> </message>
@@ -220,136 +220,148 @@
<context> <context>
<name>ServerLMSWidget</name> <name>ServerLMSWidget</name>
<message> <message>
<location filename="../serverlmswidget.ui" line="20"/> <location filename="../serverlmswidget.ui" line="26"/>
<source>Form</source> <source>Form</source>
<translation>Форма</translation> <translation>Форма</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="204"/> <location filename="../serverlmswidget.ui" line="210"/>
<source>Logger</source> <source>Logger</source>
<translation>Логгер</translation> <translation>Логгер</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="169"/> <location filename="../serverlmswidget.ui" line="175"/>
<source>Clients</source> <source>Clients</source>
<translation>Клиенты</translation> <translation>Клиенты</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="142"/> <location filename="../serverlmswidget.ui" line="148"/>
<source>Settings</source> <source>Settings</source>
<translation>Настройки</translation> <translation>Настройки</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="257"/> <location filename="../serverlmswidget.ui" line="263"/>
<source>Server: </source> <source>Server: </source>
<translation>Сервер: </translation> <translation>Сервер: </translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="315"/> <location filename="../serverlmswidget.ui" line="321"/>
<source>Data base: </source> <source>Data base: </source>
<translation>База данных: </translation> <translation>База данных: </translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="276"/> <location filename="../serverlmswidget.ui" line="282"/>
<location filename="../serverlmswidget.ui" line="328"/> <location filename="../serverlmswidget.ui" line="334"/>
<location filename="../serverlmswidget.ui" line="365"/> <location filename="../serverlmswidget.ui" line="371"/>
<source>...</source> <source>...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="352"/> <location filename="../serverlmswidget.ui" line="358"/>
<source>Version of materials: </source> <source>Version of materials: </source>
<translation>Версия материалов: </translation> <translation>Версия материалов: </translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="389"/> <location filename="../serverlmswidget.ui" line="395"/>
<source>Authorization</source> <source>Authorization</source>
<translation>Авторизация</translation> <translation>Авторизация</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="62"/> <location filename="../serverlmswidget.ui" line="68"/>
<source>Start</source> <source>Start</source>
<translation>Запустить</translation> <translation>Запустить</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.ui" line="103"/> <location filename="../serverlmswidget.ui" line="109"/>
<source>Stop</source> <source>Stop</source>
<translation>Остановить</translation> <translation>Остановить</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="217"/> <location filename="../serverlmswidget.cpp" line="223"/>
<source>Server is started!</source> <source>Server is started!</source>
<translation>Сервер запущен!</translation> <translation>Сервер запущен!</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="230"/> <location filename="../serverlmswidget.cpp" line="236"/>
<source>Server is stoped!</source> <source>Server is stoped!</source>
<translation>Сервер остановлен!</translation> <translation>Сервер остановлен!</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="269"/> <location filename="../serverlmswidget.cpp" line="275"/>
<location filename="../serverlmswidget.cpp" line="332"/> <location filename="../serverlmswidget.cpp" line="338"/>
<source>Warning!</source> <source>Warning!</source>
<translation>Внимание!</translation> <translation>Внимание!</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="269"/> <location filename="../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="../serverlmswidget.cpp" line="332"/> <location filename="../serverlmswidget.cpp" line="338"/>
<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="../serverlmswidget.cpp" line="406"/> <location filename="../serverlmswidget.cpp" line="412"/>
<location filename="../serverlmswidget.cpp" line="410"/> <location filename="../serverlmswidget.cpp" line="416"/>
<source>Database connection error!</source> <source>Database connection error!</source>
<translation>Ошибка подключения Базы данных!</translation> <translation>Ошибка подключения Базы данных!</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="240"/> <location filename="../serverlmswidget.cpp" line="246"/>
<location filename="../serverlmswidget.cpp" line="410"/> <location filename="../serverlmswidget.cpp" line="416"/>
<source>Error!</source> <source>Error!</source>
<translation>Ошибка!</translation> <translation>Ошибка!</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="134"/> <location filename="../serverlmswidget.cpp" line="139"/>
<source>Error PostgreSQL!</source> <source>Error PostgreSQL!</source>
<translation>Ошибка PostgreSQL!</translation> <translation>Ошибка PostgreSQL!</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="240"/> <location filename="../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="../serverlmswidget.cpp" line="427"/> <location filename="../serverlmswidget.cpp" line="433"/>
<source>Database connection OK!</source> <source>Database connection OK!</source>
<translation>База данных подключена!</translation> <translation>База данных подключена!</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="441"/> <location filename="../serverlmswidget.cpp" line="447"/>
<source>started</source> <source>started</source>
<translation>запущен</translation> <translation>запущен</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="446"/> <location filename="../serverlmswidget.cpp" line="452"/>
<source>stoped</source> <source>stoped</source>
<translation>остановлен</translation> <translation>остановлен</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="466"/> <location filename="../serverlmswidget.cpp" line="472"/>
<source>connected</source> <source>connected</source>
<translation>подключена</translation> <translation>подключена</translation>
</message> </message>
<message> <message>
<location filename="../serverlmswidget.cpp" line="475"/> <location filename="../serverlmswidget.cpp" line="481"/>
<source>not connected</source> <source>not connected</source>
<translation>не подключена</translation> <translation>не подключена</translation>
</message> </message>
<message>
<location filename="../serverlmswidget.h" line="114"/>
<source>No Client files found!</source>
<translation>Файлы клиента не найдены!</translation>
</message>
<message>
<location filename="../serverlmswidget.h" line="115"/>
<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>
<translation>* проверьте Application на наличие папки со сборкой
* проверьте SharedData на наличие папки с базовой версией и именем base</translation>
</message>
</context> </context>
</TS> </TS>

View File

@@ -2,6 +2,12 @@ project(TrayServerLMS LANGUAGES CXX)
common_info_for_project(TrayServerLMS) common_info_for_project(TrayServerLMS)
# Подключаем RC-файл (только для Windows)
if(WIN32)
# Предполагая, что файл app.rc расположен в корневом каталоге проекта
set(RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/app.rc)
endif()
add_executable(TrayServerLMS WIN32 add_executable(TrayServerLMS WIN32
main.cpp main.cpp
mainwindow.cpp mainwindow.cpp
@@ -10,6 +16,11 @@ mainwindow.ui
TrayServerLMS.qrc TrayServerLMS.qrc
) )
# Подключаем RC-файл к цели
if(RC_FILE)
target_sources(${PROJECT_NAME} PRIVATE ${RC_FILE})
endif()
target_link_libraries(TrayServerLMS PRIVATE Qt5::Widgets) target_link_libraries(TrayServerLMS PRIVATE Qt5::Widgets)
target_link_libraries(TrayServerLMS PRIVATE Qt5::Network) target_link_libraries(TrayServerLMS PRIVATE Qt5::Network)
target_link_libraries(TrayServerLMS PRIVATE Qt5::Sql) target_link_libraries(TrayServerLMS PRIVATE Qt5::Sql)

View File

@@ -1,6 +1,6 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>resources/PngServerRRJ.png</file>
<file>resources/IcoServerRRJ.ico</file> <file>resources/IcoServerRRJ.ico</file>
<file>resources/database-management.png</file>
</qresource> </qresource>
</RCC> </RCC>

1
TrayServerLMS/app.rc Normal file
View File

@@ -0,0 +1 @@
IDI_APP_ICON ICON "resources\IcoServerRRJ.ico"

View File

@@ -21,7 +21,7 @@
</property> </property>
<property name="windowIcon"> <property name="windowIcon">
<iconset resource="TrayServerLMS.qrc"> <iconset resource="TrayServerLMS.qrc">
<normaloff>:/resources/database-management.png</normaloff>:/resources/database-management.png</iconset> <normaloff>:/resources/PngServerRRJ.png</normaloff>:/resources/PngServerRRJ.png</iconset>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@@ -9,47 +9,30 @@
<translation>Сервер Системы управления обучением (СУО)</translation> <translation>Сервер Системы управления обучением (СУО)</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="171"/> <location filename="../mainwindow.cpp" line="170"/>
<location filename="../mainwindow.cpp" line="230"/> <location filename="../mainwindow.cpp" line="218"/>
<source>Server LMS</source> <source>Server LMS</source>
<translation>Сервер СУО</translation> <translation>Сервер СУО</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="231"/> <location filename="../mainwindow.cpp" line="219"/>
<source>Expand window</source> <source>Expand window</source>
<translation>Развернуть окно</translation> <translation>Развернуть окно</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="232"/> <location filename="../mainwindow.cpp" line="220"/>
<source>Minimize window</source> <source>Minimize window</source>
<translation>Свернуть окно</translation> <translation>Свернуть окно</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="233"/> <location filename="../mainwindow.cpp" line="221"/>
<source>Exit</source> <source>Exit</source>
<translation>Выход</translation> <translation>Выход</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="68"/> <location filename="../mainwindow.cpp" line="67"/>
<source>Starting the server...</source> <source>Starting the server...</source>
<translation>Запуск сервера...</translation> <translation>Запуск сервера...</translation>
</message> </message>
<message>
<location filename="../mainwindow.cpp" line="211"/>
<source>Error!</source>
<translation>Ошибка!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="213"/>
<source>No Client files found!</source>
<translation>Файлы Клиента не найдены!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="214"/>
<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>
<translation>* проверьте Application на наличие папки со сборкой
* проверьте SharedData на наличие папки с базовой версией и именем base</translation>
</message>
</context> </context>
</TS> </TS>