From 75ffb5cecadc910e39e0a372678505a81b8d9e2f Mon Sep 17 00:00:00 2001 From: krivoshein Date: Tue, 2 Dec 2025 15:10:23 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BC=D0=B5=D0=BD=D0=B0=20=D0=BF=D0=B0?= =?UTF-8?q?=D1=80=D0=BE=D0=BB=D1=8F=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=B0?= =?UTF-8?q?=20+=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D0=B0=20=D0=B2=20exe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GUIdataBaseLMS/CMakeLists.txt | 11 + GUIdataBaseLMS/GUIdataBaseLMS.qrc | 3 +- GUIdataBaseLMS/app.rc | 1 + GUIdataBaseLMS/mainwindow.ui | 2 +- GUIdataBaseLMS/resources/IcoGUIRRJ.ico | Bin 0 -> 20963 bytes .../resources/{lms.png => PngGUIRRJ.png} | Bin .../instructors/dialogeditinstructor.cpp | 6 + .../instructors/editorinstructors.cpp | 21 +- .../InstructorsAndTraineesWidget_ru_RU.qm | Bin 23780 -> 23761 bytes .../InstructorsAndTraineesWidget_ru_RU.ts | 225 +++++++++--------- ServerLMS/translations/ServerLMS_ru_RU.qm | Bin 5956 -> 6530 bytes ServerLMS/translations/ServerLMS_ru_RU.ts | 126 +++++----- TrayServerLMS/CMakeLists.txt | 11 + TrayServerLMS/TrayServerLMS.qrc | 2 +- TrayServerLMS/app.rc | 1 + TrayServerLMS/mainwindow.ui | 2 +- TrayServerLMS/resources/IcoServerRRJ.ico | Bin 9103 -> 31278 bytes ...tabase-management.png => PngServerRRJ.png} | Bin .../translations/TrayServerLMS_ru_RU.ts | 29 +-- 19 files changed, 243 insertions(+), 197 deletions(-) create mode 100644 GUIdataBaseLMS/app.rc create mode 100644 GUIdataBaseLMS/resources/IcoGUIRRJ.ico rename GUIdataBaseLMS/resources/{lms.png => PngGUIRRJ.png} (100%) create mode 100644 TrayServerLMS/app.rc rename TrayServerLMS/resources/{database-management.png => PngServerRRJ.png} (100%) diff --git a/GUIdataBaseLMS/CMakeLists.txt b/GUIdataBaseLMS/CMakeLists.txt index b37ea64..2164fab 100644 --- a/GUIdataBaseLMS/CMakeLists.txt +++ b/GUIdataBaseLMS/CMakeLists.txt @@ -2,6 +2,12 @@ project(GUIdataBaseLMS LANGUAGES CXX) 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 main.cpp mainwindow.cpp @@ -10,6 +16,11 @@ mainwindow.ui 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::Sql) target_link_libraries(GUIdataBaseLMS PRIVATE Qt5::Xml) diff --git a/GUIdataBaseLMS/GUIdataBaseLMS.qrc b/GUIdataBaseLMS/GUIdataBaseLMS.qrc index 9b4a837..491b03b 100644 --- a/GUIdataBaseLMS/GUIdataBaseLMS.qrc +++ b/GUIdataBaseLMS/GUIdataBaseLMS.qrc @@ -1,5 +1,6 @@ - resources/lms.png + resources/IcoGUIRRJ.ico + resources/PngGUIRRJ.png diff --git a/GUIdataBaseLMS/app.rc b/GUIdataBaseLMS/app.rc new file mode 100644 index 0000000..37f5cba --- /dev/null +++ b/GUIdataBaseLMS/app.rc @@ -0,0 +1 @@ +IDI_APP_ICON ICON "resources\IcoGUIRRJ.ico" diff --git a/GUIdataBaseLMS/mainwindow.ui b/GUIdataBaseLMS/mainwindow.ui index 31303b8..4ea6216 100644 --- a/GUIdataBaseLMS/mainwindow.ui +++ b/GUIdataBaseLMS/mainwindow.ui @@ -20,7 +20,7 @@ - :/resources/lms.png:/resources/lms.png + :/resources/PngGUIRRJ.png:/resources/PngGUIRRJ.png Qt::ToolButtonIconOnly diff --git a/GUIdataBaseLMS/resources/IcoGUIRRJ.ico b/GUIdataBaseLMS/resources/IcoGUIRRJ.ico new file mode 100644 index 0000000000000000000000000000000000000000..662894cebb6d32ad0a67777a5dc3d8e53effe9ae GIT binary patch literal 20963 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 LNkvXXu0mjfrg;vb literal 0 HcmV?d00001 diff --git a/GUIdataBaseLMS/resources/lms.png b/GUIdataBaseLMS/resources/PngGUIRRJ.png similarity index 100% rename from GUIdataBaseLMS/resources/lms.png rename to GUIdataBaseLMS/resources/PngGUIRRJ.png diff --git a/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp b/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp index 1eb1547..61ffbad 100644 --- a/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp +++ b/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp @@ -54,9 +54,15 @@ void DialogEditInstructor::setInstructor(Instructor instructor) ui->checkLoggedIn->setChecked(instructor.getLoggedIn()); if(instructor.getIsAdmin()) + { ui->editName->setEnabled(false); + ui->editLogin->setEnabled(false); + } else + { ui->editName->setEnabled(true); + ui->editLogin->setEnabled(true); + } if(instructor.getNeedSetPassword()) { diff --git a/InstructorsAndTrainees/instructors/editorinstructors.cpp b/InstructorsAndTrainees/instructors/editorinstructors.cpp index 223358a..5e7bc76 100644 --- a/InstructorsAndTrainees/instructors/editorinstructors.cpp +++ b/InstructorsAndTrainees/instructors/editorinstructors.cpp @@ -162,7 +162,7 @@ void EditorInstructors::on_btnEdit_clicked() 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.")); return; @@ -233,9 +233,24 @@ void EditorInstructors::on_treeWidgetCurrentItemChanged(QTreeWidgetItem *current 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->btnToOrFromArchive->setEnabled(false); diff --git a/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.qm b/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.qm index 08040d36c206f2bc04fdb6f5c23be19a5a1b6346..1d4405d5b19dc66ea09f2a5b067c38c69f5732b7 100644 GIT binary patch delta 846 zcmYL{ZAg<*6vzMf*?qRTNj7_#%hoD2Gs`AAZP}WdZFBBLoi?#dA|$l1$jUxc7QIOj zXeTN|Bh1Lc`p^(ETuS!xslX3LZx)0R6oNuQNLd%24}LiO_@DpfoO92;69a5?fVC}U zJ?-XH(=9;W4g|e`CI}Q|C@gPmuUWtA72q-hp}l~2T*N|!q02zUOL4FRs2u?;>l6k@ zfkPs%ol#hx1+)mis9It9Rqz{U0J}+H@t5{Vr#%V$%|+2@LZK&3q1UOfbhW}zRAI$= z$kra9B%bP6ZcHU)k4>lm-DbJ0ipH5StqYpIpW;rlu*Uuc+<#zAUnDxzW7C)eDE4C0 z2a)&uCbMK@cgQ9=O|z)JkRv z$uU2=Z;FKn6qeQK670)?{CtJJ{p3&^*B#a!@y-HSjk)B#^o%*|V1wg?=`l`0D zERr=A!@k%nJQHyIi|rgP1)L3J)1lY$Te+FFQKKtGlgUeX9^XK1u0?hoxA4t8 zhg(Hv3%BzEUdXLji{;$OZ9HFuQ~23@qwoXV%{K_&CQkY2t*emfB8l#UaavvIK;3SC k(;n*Fwq{PSaQd9c3+K#<2jP@CF}5w6TEiKU@8KE#A0v delta 817 zcmXAnSxA&o6vzMfoBPeEBig7nPBxB9Dk17b4&yeCinF+msX3*Y^x#85CT&JUE-hFj zq$i>zB}_3zDKa5TLy(q-2o=kRGJ8-G%IG0qr0weWaQJcl|9j6loO@@+*wPrgv4h=g zH^v!S0J#eAJOVTxAU9lLX>)sZ(%}ifX#~nH0Qn0dxWcl2p!~Hscn7GN0!#@CJxjnT zq5G^WEOi2n!q3fDSUL#aeF;c4D9oE}U$v(OgMVlfjph`(g}IUECn+pRS6DW!u)Gtp zxfdvqsFqoM9gy7?k!4aJvobd=F#WDJXoh|PB|4b>{{XJO5;j*33V$*6L%=TxgQ8BX)tdE>%s-Y+yY0?0BeEUY1$TAxtscP9TYu&2)NO2ecmKIivp?K4o6p$(c5`>=9t z(4yD}8`p+5byKrCjJ>5Uwchukwv{i7*~4i9PaT9X+CJY=HYL6SF<0QB6{KOJGOTdGQ9v z0%ty51R{F_zYc8y!W>7$-M+&#{3~u4J%_u-3B6tul;C7zL z(}kMCbGSulcHw7<*wB-Cn(&IbYx7PDx6q0+heeFUyG{gBhgVO-6;XmAbk3VZixttE UT97wU&_N|$<3>I*?_KBr0nvWh-T(jq diff --git a/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts b/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts index 5e0aa97..4380d59 100644 --- a/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts +++ b/InstructorsAndTrainees/translations/InstructorsAndTraineesWidget_ru_RU.ts @@ -34,56 +34,56 @@ Удалить - + actual актуально - + update required требуется обновление - + DM code DM код - + ID ID - + Procedure AMM Процедура AMM - + Canplay Режимы - + Status Статус - + The deletion will be irrevocable. Delete it anyway? Удаление будет безвозвратным. Всё равно удалить? - - + + Assign this task? Назначить эту задачу? @@ -141,33 +141,33 @@ Delete it anyway? Новая - + viewed Просмотрено - - + + completed выполнена - + failed неверно - + checkup на проверке - + new новая - + Change task status? The status will be set: 'failed' @@ -176,7 +176,7 @@ The status will be set: 'неверно' - + Change task status? The status will be set: 'new' @@ -185,8 +185,8 @@ The status will be set: 'новая' - - + + Change task status? The status will be set: 'completed' @@ -364,7 +364,7 @@ The status will be set: Сохранить - + Only Latin letters and numbers Только латинские буквы и цифры @@ -617,40 +617,40 @@ The status will be set: Управление версиями - + Yes Да - + No Нет - + Version name: Имя версии: - + Created: Создан: - + Changeable: Изменен: - + Author: Автор: - - - - + + + + Version not selected Версия не выбрана @@ -674,7 +674,7 @@ The status will be set: - + To archive Архивировать @@ -689,60 +689,60 @@ The status will be set: Показать архив - + You cannot delete the Administrator. Нельзя удалить администратора. - + You cannot delete a logged-in instructor. Вы не можете удалить инструктора, вошедшего в систему. - + The deletion will be irrevocable. Delete it anyway? Удаление будет безвозвратным. Всё равно удалить? - + You cannot archive a logged-in instructor. Вы не можете заархивировать инструктора, вошедшего в систему. - + You cannot edit a logged-in instructor. Вы не можете редактировать инструктора, вошедшего в систему. - + From archive Разархивировать - + Unacceptable instructor name has been entered. The changes will not be accepted. Введено неприемлемое имя инструктора. Изменения приняты не будут. - + Unacceptable instructor login has been entered. The changes will not be accepted. Введен неприемлемый логин инструктора. Изменения приняты не будут. - + Unacceptable instructor password has been entered. The changes will not be accepted. Введен неприемлемый пароль инструктора. Изменения приняты не будут. - + An existing instructor or trainee login has been entered. The changes will not be accepted. Введен существующий логин инструктора или обучаемого. @@ -778,8 +778,8 @@ The changes will not be accepted. - - + + To archive Архивировать @@ -794,76 +794,76 @@ The changes will not be accepted. Показать архив - + The group is not empty. It is not possible to delete a non-empty group. Группа не пуста. Невозможно удалить непустую группу. - - + + The deletion will be irrevocable. Delete it anyway? Удаление будет безвозвратным. Всё равно удалить? - + You cannot delete a logged-in trainee. Вы не можете удалить обучаемого, вошедшего в систему. - + You cannot archive a logged-in trainee. Вы не можете заархивировать обучаемого, вошедшего в систему. - + You cannot edit a logged-in trainee. Вы не можете редактировать обучаемого, вошедшего в систему. - + From archive Разархивировать - + Unacceptable group name has been entered. The changes will not be accepted. Введено неприемлемое название группы. Изменения приняты не будут. - + An existing group name has been entered. The changes will not be accepted. Введено существующее название группы. Изменения приняты не будут. - + Unacceptable trainee name has been entered. The changes will not be accepted. Введено неприемлемое имя обучаемого. Изменения приняты не будут. - + Unacceptable trainee login has been entered. The changes will not be accepted. Введен неприемлемый логин обучаемого. Изменения приняты не будут. - + Unacceptable trainee password has been entered. The changes will not be accepted. Был введен неприемлемый пароль обучаемого. Изменения приняты не будут. - + An existing instructor or trainee login has been entered. The changes will not be accepted. Введен существующий логин инструктора или обучаемого. @@ -893,32 +893,32 @@ The changes will not be accepted. Удалить - - + + ID ID - - + + Status Статус - - + + Procedure FIM Процедура FIM - + The deletion will be irrevocable. Delete it anyway? Удаление будет безвозвратным. Всё равно удалить? - + Assign this task? Назначить эту задачу? @@ -1003,7 +1003,7 @@ Delete it anyway? - + none нет @@ -1013,73 +1013,75 @@ Delete it anyway? Файл не может быть открыт - - + + Instructor authorization. Авторизация инструктора. - + Instructor deauthorization Деавторизация инструктора - + Error! Ошибка! - + Server blocked! Сервер заблокирован! - + Database error! Ошибка базы данных! - + The user is archived! Пользователь является архивным! - + The user is already logged in! Пользователь уже в сети! - + Login or password error! Ошибка логина или пароля! - + The server is not available! Сервер недоступен! - + Connection attempt Попытка соединения - + connected подключен - + not connected не подключен - - Server settings have been changed. Please reconnect to the server. - Настройки сервера изменены. Выполните переподключение к серверу. + + Server settings have been changed. +Please reconnect to the server. + Настройки сервера были изменены. +Пожалуйста, переподключитесь к серверу. - + Instructor authorization Авторизация инструктора @@ -1297,6 +1299,36 @@ Delete it anyway? Это имя уже существует + + SpecMsgBox + + + + Attention! + Внимание! + + + + + Close + Закрыть + + + + Error! + Ошибка! + + + + Information + Информация + + + + Ok + Хорошо + + SpecialMessageBox @@ -1319,33 +1351,6 @@ Delete it anyway? No Нет - - - - Attention! - Внимание! - - - - - Close - Закрыть - - - - Error! - Ошибка! - - - - Information - Информация - - - - Ok - Хорошо - SubProcItemWidget diff --git a/ServerLMS/translations/ServerLMS_ru_RU.qm b/ServerLMS/translations/ServerLMS_ru_RU.qm index 0da8f085a91d2fbb64fff47195d661625a2d636e..7263c525b6a3666f8460f1a0ab541cac3aea81d3 100644 GIT binary patch delta 1171 zcmZ`%Z)h839Db6#mt1d2(`H$mTIzLkY*f&8Yi!zewP}m9G|Y}7u0zJIxeEzPFEPnF z7=z+m>z6s5omGYi17`yrn==y~11VVx7Lhrr`boq;Fu&Qc4gBKRb9Y-A6FJ`ZclW-} z`#jI@d2iv_qubsMkJJIJwE*@xH3*2G-UdQ1L2ADXC~rX;KgC*w^x-0~W;dj{{XqCO zq@^msUm&sa3E+AU!y`wC8^GQ&@!`uS#~LRh$K2_3yfd@cfwg&WHMBwlv)&u$yGZEqZ3#57?KgdM zDGEO(`!1MQY3RDV>vI}XLh|H(7tb}w@4ILqBFVGIqr_izs_*ZbufCZBq}{AvGlp9= z)x9Ukzgbz|p#tk#lr6t*oB;f3<+;UM+%T1vBlUFrnKE@~o`AE;$#EK}|57O*{gcik zO8N8xg|4mHqw_A9wDGaY`I>)c!&&lN@_#fxL_?K5X+ zWMkmiUj~!hSL<5d@Gandr}pyqA;4Fz{qECdUQA!GI?9ecr!#E(#mW=zbG~QRi>E}7 z=oVW=lr<)LMFOg*7h&0Q;^mP0(nj)t+TS~U(brHB%I~gCbr`@9VJ)JKhoU0B3RVV& zR87|lMzLtYryKoko5&FoPg0|k2eylZ*unbp>JcfCOKMr0eA2({W^(uk&18S!A!7*| zi$X;lc|KWWkc5U3YYrx{q;zHq#KcYxqRG(0(J5klkBe@5Zl#ePu62tJ@+tpOns^{J zj5H+*FrcH~7SkLFXa0X7?zd97-A>h(xu0&_vSrEIhGL?NUpqLuXk?TMMHn*wTqpLa zW;JOCAJ6BrnWR?AW9?F!`{2D!&$?B@|;P`M_ zD;RpeRit9Y7ib+GY4w$Nz@ yU^UQtKYJ^2>uNjrS6J(VXj;AG$gZ5)m(3VvNlj(4Mv-0)ntBt-AFue=#>71^tO7m& delta 622 zcmYLGT}YEr7=FI*JKwM0e%;awu}mUSFjlP@g>360t08q^nM7DNUE~j8CtXBqg;G74}`<(ZAp7%s{WomCZP6BY5 z={Q|LQ$5)GVZb^F(X$R{9T5AXgbyIz%>qR(h{;yK{u1J18ep?H^nC)569}w41i0I1 zNf6(DeWa^A>^RO(&AR~e7@v1uC9DEyf7BQw3Cq3utW=-5*KaIwu}U(JWYJN)I zYG<37m({bK%uQIw{4AhsXiBuj1EFBs1%uPpxe|qKBbJZ(|5eq7p59BNHcQ2*SKnRo ght~g6pr`FjXK17TTrM+a^&D^1*bKoq?5tyd0k*80i2wiq diff --git a/ServerLMS/translations/ServerLMS_ru_RU.ts b/ServerLMS/translations/ServerLMS_ru_RU.ts index 191ce40..0c1d494 100644 --- a/ServerLMS/translations/ServerLMS_ru_RU.ts +++ b/ServerLMS/translations/ServerLMS_ru_RU.ts @@ -118,101 +118,101 @@ - Host name - Хост + Local + Локальная - - Localhost - + + IP address + IP адрес - + Port Порт - + Database name Имя базы данных - + User name Имя пользователя - + User password Пароль пользователя - - Check - Проверить - - - + Save Сохранить - + Additional Расширенные - + + Check DB + Проверить БД + + + Update Docs Обновить Docs - - + + Error! Ошибка! - + Driver PostgreSQL is not installed! Драйвер PostgreSQL не установлен! - + Superuser PostgreSQL authorization Авторизация суперпользователя PostgreSQL - + Error connecting to PostgreSQL! Ошибка соединения с PostgreSQL! - + Possible reasons: Возможные причины: - + *superuser PostgreSQL login or password is incorrect; *логин или пароль суперпользователя PostgreSQL некорректен; - + *Port is incorrect. *Порт некорректен. - + *Port is incorrect; *Порт некорректен; - + *file 'pg_hba.conf' does not contain an entry for the IP address: *файл 'pg_hba.conf не содержит записи доступа для IP адреса: @@ -220,136 +220,148 @@ ServerLMSWidget - + Form Форма - + Logger Логгер - + Clients Клиенты - + Settings Настройки - + Server: Сервер: - + Data base: База данных: - - - + + + ... - + Version of materials: Версия материалов: - + Authorization Авторизация - + Start Запустить - + Stop Остановить - + Server is started! Сервер запущен! - + Server is stoped! Сервер остановлен! - - + + Warning! Внимание! - + Database settings have been changed. The server will be restarted. Настройки Базы Данных были изменены. Сервер будет перезапущен. - + The file could not be opened Файл не может быть открыт - - + + Database connection error! Ошибка подключения Базы данных! - - + + Error! Ошибка! - + Error PostgreSQL! Ошибка PostgreSQL! - + Settings file could not be opened: Файл настроек не открыт: - + Database connection OK! База данных подключена! - + started запущен - + 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 на наличие папки со сборкой +* проверьте SharedData на наличие папки с базовой версией и именем base + diff --git a/TrayServerLMS/CMakeLists.txt b/TrayServerLMS/CMakeLists.txt index 6b5a501..53d3865 100644 --- a/TrayServerLMS/CMakeLists.txt +++ b/TrayServerLMS/CMakeLists.txt @@ -2,6 +2,12 @@ project(TrayServerLMS LANGUAGES CXX) 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 main.cpp mainwindow.cpp @@ -10,6 +16,11 @@ mainwindow.ui 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::Network) target_link_libraries(TrayServerLMS PRIVATE Qt5::Sql) diff --git a/TrayServerLMS/TrayServerLMS.qrc b/TrayServerLMS/TrayServerLMS.qrc index 5a7d4c1..a5f38ce 100644 --- a/TrayServerLMS/TrayServerLMS.qrc +++ b/TrayServerLMS/TrayServerLMS.qrc @@ -1,6 +1,6 @@ + resources/PngServerRRJ.png resources/IcoServerRRJ.ico - resources/database-management.png diff --git a/TrayServerLMS/app.rc b/TrayServerLMS/app.rc new file mode 100644 index 0000000..927cf9a --- /dev/null +++ b/TrayServerLMS/app.rc @@ -0,0 +1 @@ +IDI_APP_ICON ICON "resources\IcoServerRRJ.ico" diff --git a/TrayServerLMS/mainwindow.ui b/TrayServerLMS/mainwindow.ui index 7fa747d..8c4a832 100644 --- a/TrayServerLMS/mainwindow.ui +++ b/TrayServerLMS/mainwindow.ui @@ -21,7 +21,7 @@ - :/resources/database-management.png:/resources/database-management.png + :/resources/PngServerRRJ.png:/resources/PngServerRRJ.png diff --git a/TrayServerLMS/resources/IcoServerRRJ.ico b/TrayServerLMS/resources/IcoServerRRJ.ico index f6934b2e4f9349bad806b58e8945d1f9d0d2679f..bd8461b1cdfa28bd1e21f358bca674e07e8edd1e 100644 GIT binary patch literal 31278 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 T8eajcoudj9_dNpUnG literal 9103 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Сервер Системы управления обучением (СУО) - - + + Server LMS Сервер СУО - + Expand window Развернуть окно - + Minimize window Свернуть окно - + Exit Выход - + Starting the server... Запуск сервера... - - - Error! - Ошибка! - - - - 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 на наличие папки со сборкой -* проверьте SharedData на наличие папки с базовой версией и именем base -