before task parser

This commit is contained in:
krivoshein
2024-11-25 15:25:55 +03:00
parent 2ed1eac956
commit 7637922872
401 changed files with 39759 additions and 1630 deletions

4
.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
#
/TestServerLMS/Debug64/Application/

Binary file not shown.

View File

@@ -1,84 +1,157 @@
# ninja log v5 # ninja log v5
13 48 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
13 48 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
1259 1589 7531967299846854 libInstructorsAndTrainees.dll cd38f6c1daa989e3 1441 1785 7542296074365226 libInstructorsAndTrainees.dll cd38f6c1daa989e3
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
340 1451 7531891592368819 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e 99 1744 7542228778869859 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e
13 48 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
13 48 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 89 1816 7542228779531400 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
1259 1589 7531967299846854 libInstructorsAndTrainees.dll.a cd38f6c1daa989e3
13 48 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
13 48 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
370 2084 7531889428326638 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
938 2940 7531867532885084 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogedittrainee.cpp.obj 544a146272360182
51 1215 7531967296138667 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
13 48 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
47 1327 7531963604681452 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
13 48 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
1012 3479 7520793522676004 CMakeFiles/InstructorsAndTrainees.dir/instructorsAndTrainees.cpp.obj ff3fcdc370580ca2 1012 3479 7520793522676004 CMakeFiles/InstructorsAndTrainees.dir/instructorsAndTrainees.cpp.obj ff3fcdc370580ca2
973 1182 7531867515312420 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf 946 1175 7538984294876218 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp.obj 54d07c59b3f7a2cf
961 2858 7531867532057401 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7 912 2938 7538984312513836 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogedittrainee.cpp.obj 544a146272360182
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 79 1720 7542228778631666 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f
930 2864 7531867532107266 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 3bdbb777b1ca4f9f 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
13 48 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
935 2871 7531867532186950 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
13 48 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 81 1925 7542228780671452 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173
372 1824 7531894999707827 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f 17 55 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 96 1787 7542228779301133 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 934 2858 7538984311680650 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogauthorizationinstructor.cpp.obj f1f85077e88e8c7
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 853 899 7538984292135969 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
377 1605 7531894997516144 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b 92 1969 7542228781131073 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8
13 36 0 CMakeFiles/clean.additional 7155004b3956b606 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
50 1294 7531963604356798 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8 853 899 7538984292135969 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c
879 926 7531867512750692 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c 15 39 0 CMakeFiles/clean.additional 7155004b3956b606
379 1604 7531894997494205 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b 84 1829 7542228779720009 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b
957 2932 7531867532805295 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f 931 2946 7538984312596574 CMakeFiles/InstructorsAndTrainees.dir/instructors/dialogeditinstructor.cpp.obj e02fcfe10480c54f
36 45 0 clean 9c4b4372737ab8da 39 49 0 clean 9c4b4372737ab8da
13 253 7531890272071193 build.ninja 76aa11f472515be0 17 55 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
48 1258 7531967296567511 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
941 2002 7531867523395468 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301 17 55 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
13 48 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 17 55 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
13 48 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
13 48 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 350 1721 7542294613242973 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
13 48 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
879 926 7531867512750692 InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp f2ed85aad0f78c7c 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
18 51 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 51 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 909 2877 7538984311906395 CMakeFiles/InstructorsAndTrainees.dir/trainees/dialogeditgroup.cpp.obj 4bd8bab8b1110ba7
18 51 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 56 1441 7542296070953843 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
18 51 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 17 55 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 51 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 915 1958 7538984302730092 CMakeFiles/InstructorsAndTrainees.dir/trainees/computersLocations.cpp.obj 7aaac6302b47a301
18 51 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 86 1672 7542228778131275 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881
18 51 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 13 238 7542179980182826 build.ninja 76aa11f472515be0
18 51 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 1441 1785 7542296074365226 libInstructorsAndTrainees.dll.a cd38f6c1daa989e3
18 51 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 51 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 17 55 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 51 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 51 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 17 55 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77 18 360 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 51 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77 18 360 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
72 1496 7532064782900759 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 187ec526627f696e 18 360 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
63 1588 7532064783819090 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj 2aa58696f5232c4b 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
58 1603 7532064783969569 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 99b246ecbf2b6f9b 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
66 1703 7532064784979828 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj b8e3d2e3a65912a8 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
61 1727 7532064785210452 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj a6ea1bfa14213881 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
69 1784 7532064785778944 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj d1fea9a96fa095b1 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
54 1830 7532064786249528 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
56 1842 7532064786369203 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 2e9a885629b6e173 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
51 1888 7532064786840646 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
1888 2228 7532064790207416 libInstructorsAndTrainees.dll cd38f6c1daa989e3 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
1888 2228 7532064790207416 libInstructorsAndTrainees.dll.a cd38f6c1daa989e3 18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 360 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
361 1770 7542311570035956 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
364 1797 7542311570307587 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
1797 2167 7542311573994272 libInstructorsAndTrainees.dll cd38f6c1daa989e3
1797 2167 7542311573994272 libInstructorsAndTrainees.dll.a cd38f6c1daa989e3
18 350 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 350 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 350 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
350 1716 7542315176774947 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
353 1797 7542315177582824 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
1797 2143 7542315181010505 libInstructorsAndTrainees.dll cd38f6c1daa989e3
1797 2143 7542315181010505 libInstructorsAndTrainees.dll.a cd38f6c1daa989e3
18 359 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 359 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
18 359 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
360 1753 7542366833691044 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj 639ec716a2902c9f
362 1818 7542366834343736 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 8e8beb29ba6ba100
1818 2166 7542366837794215 libInstructorsAndTrainees.dll cd38f6c1daa989e3
1818 2166 7542366837794215 libInstructorsAndTrainees.dll.a cd38f6c1daa989e3
17 49 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
17 49 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
17 49 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77

View File

@@ -11,6 +11,7 @@
"D:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/instructors.xml", "D:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/instructors.xml",
"D:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/groupsTrainees.xml", "D:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/groupsTrainees.xml",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorArchive.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorArchive.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/login-user.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/newGroup.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/newGroup.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/traineeFromArchive.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/traineeFromArchive.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteGroup.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteGroup.png",
@@ -29,6 +30,7 @@
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-instructors.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-instructors.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/edit.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/edit.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructor.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructor.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/connectDB.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteInstructor.png", "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteInstructor.png",
"D:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-trainees.png" "D:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-trainees.png"
], ],

View File

@@ -1 +1 @@
rcc:dfa86f2f94529b76e2e7a6864a3462d5073d6c64745b566d86cfa7ec82b46f30 rcc:9871ac8b163da5e3d028c19ac0bfaed1c08caf687619231e1a9ada3450949a0f

View File

@@ -1,4 +1,31 @@
# Generated by CMake. Changes will be overwritten. # Generated by CMake. Changes will be overwritten.
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
uic:ui_editortrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp
uic:ui_viewertrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_viewerinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.cpp
uic:ui_dialogedittrainee.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.cpp
uic:ui_editorinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.cpp
uic:ui_taskswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.h
mmc:Q_OBJECT
uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.h
mmc:Q_OBJECT mmc:Q_OBJECT
uic:ui_dialogeditinstructor.h uic:ui_dialogeditinstructor.h
@@ -6,15 +33,15 @@ D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
uic:ui_instructorsandtraineeswidget.h uic:ui_instructorsandtraineeswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h
mmc:Q_OBJECT
uic:ui_dialogeditgroup.h
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp
uic:ui_dialogauthorizationinstructor.h uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h
mmc:Q_OBJECT
uic:ui_dialogeditgroup.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h
mmc:Q_OBJECT mmc:Q_OBJECT
@@ -26,30 +53,3 @@ D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.h
mmc:Q_OBJECT
uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.cpp
uic:ui_taskswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.cpp
uic:ui_editorinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.cpp
uic:ui_dialogedittrainee.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_viewerinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp
uic:ui_viewertrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
uic:ui_editortrainees.h

View File

@@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_TraineesView_t { struct qt_meta_stringdata_TraineesView_t {
QByteArrayData data[1]; QByteArrayData data[5];
char stringdata0[13]; char stringdata0[59];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -32,10 +32,15 @@ struct qt_meta_stringdata_TraineesView_t {
) )
static const qt_meta_stringdata_TraineesView_t qt_meta_stringdata_TraineesView = { static const qt_meta_stringdata_TraineesView_t qt_meta_stringdata_TraineesView = {
{ {
QT_MOC_LITERAL(0, 0, 12) // "TraineesView" QT_MOC_LITERAL(0, 0, 12), // "TraineesView"
QT_MOC_LITERAL(1, 13, 17), // "slot_NeedUpdateUI"
QT_MOC_LITERAL(2, 31, 0), // ""
QT_MOC_LITERAL(3, 32, 14), // "treeInstructor"
QT_MOC_LITERAL(4, 47, 11) // "treeTrainee"
}, },
"TraineesView" "TraineesView\0slot_NeedUpdateUI\0\0"
"treeInstructor\0treeTrainee"
}; };
#undef QT_MOC_LITERAL #undef QT_MOC_LITERAL
@@ -45,22 +50,32 @@ static const uint qt_meta_data_TraineesView[] = {
8, // revision 8, // revision
0, // classname 0, // classname
0, 0, // classinfo 0, 0, // classinfo
0, 0, // methods 1, 14, // methods
0, 0, // properties 0, 0, // properties
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
0, // flags 0, // flags
0, // signalCount 0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 2, 19, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::Bool, QMetaType::Bool, 3, 4,
0 // eod 0 // eod
}; };
void TraineesView::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) void TraineesView::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{ {
Q_UNUSED(_o); if (_c == QMetaObject::InvokeMetaMethod) {
Q_UNUSED(_id); auto *_t = static_cast<TraineesView *>(_o);
Q_UNUSED(_c); Q_UNUSED(_t)
Q_UNUSED(_a); switch (_id) {
case 0: _t->slot_NeedUpdateUI((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break;
default: ;
}
}
} }
QT_INIT_METAOBJECT const QMetaObject TraineesView::staticMetaObject = { { QT_INIT_METAOBJECT const QMetaObject TraineesView::staticMetaObject = { {
@@ -89,6 +104,17 @@ void *TraineesView::qt_metacast(const char *_clname)
int TraineesView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) int TraineesView::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{ {
_id = CommonView::qt_metacall(_c, _id, _a); _id = CommonView::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id; return _id;
} }
QT_WARNING_POP QT_WARNING_POP

View File

@@ -23,7 +23,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ViewerTrainees_t { struct qt_meta_stringdata_ViewerTrainees_t {
QByteArrayData data[12]; QByteArrayData data[12];
char stringdata0[184]; char stringdata0[197];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -33,23 +33,24 @@ struct qt_meta_stringdata_ViewerTrainees_t {
static const qt_meta_stringdata_ViewerTrainees_t qt_meta_stringdata_ViewerTrainees = { static const qt_meta_stringdata_ViewerTrainees_t qt_meta_stringdata_ViewerTrainees = {
{ {
QT_MOC_LITERAL(0, 0, 14), // "ViewerTrainees" QT_MOC_LITERAL(0, 0, 14), // "ViewerTrainees"
QT_MOC_LITERAL(1, 15, 22), // "signal_traineeSelected" QT_MOC_LITERAL(1, 15, 24), // "signal_BlockAutorization"
QT_MOC_LITERAL(2, 38, 0), // "" QT_MOC_LITERAL(2, 40, 0), // ""
QT_MOC_LITERAL(3, 39, 5), // "login" QT_MOC_LITERAL(3, 41, 5), // "block"
QT_MOC_LITERAL(4, 45, 20), // "slot_LanguageChanged" QT_MOC_LITERAL(4, 47, 22), // "signal_traineeSelected"
QT_MOC_LITERAL(5, 66, 8), // "language" QT_MOC_LITERAL(5, 70, 5), // "login"
QT_MOC_LITERAL(6, 75, 25), // "on_treeWidget_itemClicked" QT_MOC_LITERAL(6, 76, 28), // "on_btnEditorTrainees_clicked"
QT_MOC_LITERAL(7, 101, 16), // "QTreeWidgetItem*" QT_MOC_LITERAL(7, 105, 32), // "on_treeWidget_currentItemChanged"
QT_MOC_LITERAL(8, 118, 4), // "item" QT_MOC_LITERAL(8, 138, 16), // "QTreeWidgetItem*"
QT_MOC_LITERAL(9, 123, 6), // "column" QT_MOC_LITERAL(9, 155, 7), // "current"
QT_MOC_LITERAL(10, 130, 28), // "on_btnEditorTrainees_clicked" QT_MOC_LITERAL(10, 163, 8), // "previous"
QT_MOC_LITERAL(11, 159, 24) // "slot_tabMessengerChanged" QT_MOC_LITERAL(11, 172, 24) // "slot_tabMessengerChanged"
}, },
"ViewerTrainees\0signal_traineeSelected\0" "ViewerTrainees\0signal_BlockAutorization\0"
"\0login\0slot_LanguageChanged\0language\0" "\0block\0signal_traineeSelected\0login\0"
"on_treeWidget_itemClicked\0QTreeWidgetItem*\0" "on_btnEditorTrainees_clicked\0"
"item\0column\0on_btnEditorTrainees_clicked\0" "on_treeWidget_currentItemChanged\0"
"QTreeWidgetItem*\0current\0previous\0"
"slot_tabMessengerChanged" "slot_tabMessengerChanged"
}; };
#undef QT_MOC_LITERAL #undef QT_MOC_LITERAL
@@ -65,25 +66,25 @@ static const uint qt_meta_data_ViewerTrainees[] = {
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
0, // flags 0, // flags
1, // signalCount 2, // signalCount
// signals: name, argc, parameters, tag, flags // signals: name, argc, parameters, tag, flags
1, 1, 39, 2, 0x06 /* Public */, 1, 1, 39, 2, 0x06 /* Public */,
4, 1, 42, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags // slots: name, argc, parameters, tag, flags
4, 1, 42, 2, 0x0a /* Public */, 6, 0, 45, 2, 0x08 /* Private */,
6, 2, 45, 2, 0x08 /* Private */, 7, 2, 46, 2, 0x08 /* Private */,
10, 0, 50, 2, 0x08 /* Private */,
11, 1, 51, 2, 0x0a /* Public */, 11, 1, 51, 2, 0x0a /* Public */,
// signals: parameters // signals: parameters
QMetaType::Void, QMetaType::QString, 3, QMetaType::Void, QMetaType::Bool, 3,
QMetaType::Void, QMetaType::QString, 5,
// slots: parameters // slots: parameters
QMetaType::Void, QMetaType::QString, 5,
QMetaType::Void, 0x80000000 | 7, QMetaType::Int, 8, 9,
QMetaType::Void, QMetaType::Void,
QMetaType::Void, QMetaType::QString, 3, QMetaType::Void, 0x80000000 | 8, 0x80000000 | 8, 9, 10,
QMetaType::Void, QMetaType::QString, 5,
0 // eod 0 // eod
}; };
@@ -94,19 +95,26 @@ void ViewerTrainees::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _
auto *_t = static_cast<ViewerTrainees *>(_o); auto *_t = static_cast<ViewerTrainees *>(_o);
Q_UNUSED(_t) Q_UNUSED(_t)
switch (_id) { switch (_id) {
case 0: _t->signal_traineeSelected((*reinterpret_cast< QString(*)>(_a[1]))); break; case 0: _t->signal_BlockAutorization((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 1: _t->slot_LanguageChanged((*reinterpret_cast< QString(*)>(_a[1]))); break; case 1: _t->signal_traineeSelected((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 2: _t->on_treeWidget_itemClicked((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 2: _t->on_btnEditorTrainees_clicked(); break;
case 3: _t->on_btnEditorTrainees_clicked(); break; case 3: _t->on_treeWidget_currentItemChanged((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< QTreeWidgetItem*(*)>(_a[2]))); break;
case 4: _t->slot_tabMessengerChanged((*reinterpret_cast< QString(*)>(_a[1]))); break; case 4: _t->slot_tabMessengerChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
default: ; default: ;
} }
} else if (_c == QMetaObject::IndexOfMethod) { } else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]); int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (ViewerTrainees::*)(bool );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ViewerTrainees::signal_BlockAutorization)) {
*result = 0;
return;
}
}
{ {
using _t = void (ViewerTrainees::*)(QString ); using _t = void (ViewerTrainees::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ViewerTrainees::signal_traineeSelected)) { if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ViewerTrainees::signal_traineeSelected)) {
*result = 0; *result = 1;
return; return;
} }
} }
@@ -154,10 +162,17 @@ int ViewerTrainees::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
} }
// SIGNAL 0 // SIGNAL 0
void ViewerTrainees::signal_traineeSelected(QString _t1) void ViewerTrainees::signal_BlockAutorization(bool _t1)
{ {
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) }; void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a); QMetaObject::activate(this, &staticMetaObject, 0, _a);
} }
// SIGNAL 1
void ViewerTrainees::signal_traineeSelected(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
QT_WARNING_POP QT_WARNING_POP
QT_END_MOC_NAMESPACE QT_END_MOC_NAMESPACE

View File

@@ -10,6 +10,7 @@
#include "../../../InstructorsAndTrainees/instructorsandtraineeswidget.h" #include "../../../InstructorsAndTrainees/instructorsandtraineeswidget.h"
#include <QtCore/qbytearray.h> #include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h> #include <QtCore/qmetatype.h>
#include <QtCore/QList>
#if !defined(Q_MOC_OUTPUT_REVISION) #if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'instructorsandtraineeswidget.h' doesn't include <QObject>." #error "The header file 'instructorsandtraineeswidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67 #elif Q_MOC_OUTPUT_REVISION != 67
@@ -22,8 +23,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_InstructorsAndTraineesWidget_t { struct qt_meta_stringdata_InstructorsAndTraineesWidget_t {
QByteArrayData data[1]; QByteArrayData data[18];
char stringdata0[29]; char stringdata0[333];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -32,10 +33,36 @@ struct qt_meta_stringdata_InstructorsAndTraineesWidget_t {
) )
static const qt_meta_stringdata_InstructorsAndTraineesWidget_t qt_meta_stringdata_InstructorsAndTraineesWidget = { static const qt_meta_stringdata_InstructorsAndTraineesWidget_t qt_meta_stringdata_InstructorsAndTraineesWidget = {
{ {
QT_MOC_LITERAL(0, 0, 28) // "InstructorsAndTraineesWidget" QT_MOC_LITERAL(0, 0, 28), // "InstructorsAndTraineesWidget"
QT_MOC_LITERAL(1, 29, 22), // "signal_LanguageChanged"
QT_MOC_LITERAL(2, 52, 0), // ""
QT_MOC_LITERAL(3, 53, 8), // "language"
QT_MOC_LITERAL(4, 62, 19), // "signal_NeedUpdateUI"
QT_MOC_LITERAL(5, 82, 14), // "treeInstructor"
QT_MOC_LITERAL(6, 97, 11), // "treeTrainee"
QT_MOC_LITERAL(7, 109, 24), // "signal_BlockAutorization"
QT_MOC_LITERAL(8, 134, 5), // "block"
QT_MOC_LITERAL(9, 140, 22), // "signal_traineeSelected"
QT_MOC_LITERAL(10, 163, 5), // "login"
QT_MOC_LITERAL(11, 169, 26), // "signal_tabMessengerChanged"
QT_MOC_LITERAL(12, 196, 20), // "signal_InitMessanger"
QT_MOC_LITERAL(13, 217, 14), // "QList<Trainee>"
QT_MOC_LITERAL(14, 232, 12), // "listTrainees"
QT_MOC_LITERAL(15, 245, 20), // "slot_LanguageChanged"
QT_MOC_LITERAL(16, 266, 28), // "on_btnConnectionToDB_clicked"
QT_MOC_LITERAL(17, 295, 37) // "on_btnAuthorizationInstructor..."
}, },
"InstructorsAndTraineesWidget" "InstructorsAndTraineesWidget\0"
"signal_LanguageChanged\0\0language\0"
"signal_NeedUpdateUI\0treeInstructor\0"
"treeTrainee\0signal_BlockAutorization\0"
"block\0signal_traineeSelected\0login\0"
"signal_tabMessengerChanged\0"
"signal_InitMessanger\0QList<Trainee>\0"
"listTrainees\0slot_LanguageChanged\0"
"on_btnConnectionToDB_clicked\0"
"on_btnAuthorizationInstructor_clicked"
}; };
#undef QT_MOC_LITERAL #undef QT_MOC_LITERAL
@@ -45,22 +72,104 @@ static const uint qt_meta_data_InstructorsAndTraineesWidget[] = {
8, // revision 8, // revision
0, // classname 0, // classname
0, 0, // classinfo 0, 0, // classinfo
0, 0, // methods 9, 14, // methods
0, 0, // properties 0, 0, // properties
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
0, // flags 0, // flags
0, // signalCount 6, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 59, 2, 0x06 /* Public */,
4, 2, 62, 2, 0x06 /* Public */,
7, 1, 67, 2, 0x06 /* Public */,
9, 1, 70, 2, 0x06 /* Public */,
11, 1, 73, 2, 0x06 /* Public */,
12, 1, 76, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
15, 1, 79, 2, 0x0a /* Public */,
16, 0, 82, 2, 0x08 /* Private */,
17, 0, 83, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void, QMetaType::Bool, QMetaType::Bool, 5, 6,
QMetaType::Void, QMetaType::Bool, 8,
QMetaType::Void, QMetaType::QString, 10,
QMetaType::Void, QMetaType::QString, 10,
QMetaType::Void, 0x80000000 | 13, 14,
// slots: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void,
QMetaType::Void,
0 // eod 0 // eod
}; };
void InstructorsAndTraineesWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) void InstructorsAndTraineesWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{ {
Q_UNUSED(_o); if (_c == QMetaObject::InvokeMetaMethod) {
Q_UNUSED(_id); auto *_t = static_cast<InstructorsAndTraineesWidget *>(_o);
Q_UNUSED(_c); Q_UNUSED(_t)
Q_UNUSED(_a); switch (_id) {
case 0: _t->signal_LanguageChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 1: _t->signal_NeedUpdateUI((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break;
case 2: _t->signal_BlockAutorization((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 3: _t->signal_traineeSelected((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 4: _t->signal_tabMessengerChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 5: _t->signal_InitMessanger((*reinterpret_cast< QList<Trainee>(*)>(_a[1]))); break;
case 6: _t->slot_LanguageChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 7: _t->on_btnConnectionToDB_clicked(); break;
case 8: _t->on_btnAuthorizationInstructor_clicked(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (InstructorsAndTraineesWidget::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&InstructorsAndTraineesWidget::signal_LanguageChanged)) {
*result = 0;
return;
}
}
{
using _t = void (InstructorsAndTraineesWidget::*)(bool , bool );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&InstructorsAndTraineesWidget::signal_NeedUpdateUI)) {
*result = 1;
return;
}
}
{
using _t = void (InstructorsAndTraineesWidget::*)(bool );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&InstructorsAndTraineesWidget::signal_BlockAutorization)) {
*result = 2;
return;
}
}
{
using _t = void (InstructorsAndTraineesWidget::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&InstructorsAndTraineesWidget::signal_traineeSelected)) {
*result = 3;
return;
}
}
{
using _t = void (InstructorsAndTraineesWidget::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&InstructorsAndTraineesWidget::signal_tabMessengerChanged)) {
*result = 4;
return;
}
}
{
using _t = void (InstructorsAndTraineesWidget::*)(QList<Trainee> );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&InstructorsAndTraineesWidget::signal_InitMessanger)) {
*result = 5;
return;
}
}
}
} }
QT_INIT_METAOBJECT const QMetaObject InstructorsAndTraineesWidget::staticMetaObject = { { QT_INIT_METAOBJECT const QMetaObject InstructorsAndTraineesWidget::staticMetaObject = { {
@@ -89,7 +198,60 @@ void *InstructorsAndTraineesWidget::qt_metacast(const char *_clname)
int InstructorsAndTraineesWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) int InstructorsAndTraineesWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{ {
_id = QWidget::qt_metacall(_c, _id, _a); _id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 9)
qt_static_metacall(this, _c, _id, _a);
_id -= 9;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 9)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 9;
}
return _id; return _id;
} }
// SIGNAL 0
void InstructorsAndTraineesWidget::signal_LanguageChanged(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void InstructorsAndTraineesWidget::signal_NeedUpdateUI(bool _t1, bool _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
// SIGNAL 2
void InstructorsAndTraineesWidget::signal_BlockAutorization(bool _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 2, _a);
}
// SIGNAL 3
void InstructorsAndTraineesWidget::signal_traineeSelected(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 3, _a);
}
// SIGNAL 4
void InstructorsAndTraineesWidget::signal_tabMessengerChanged(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 4, _a);
}
// SIGNAL 5
void InstructorsAndTraineesWidget::signal_InitMessanger(QList<Trainee> _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 5, _a);
}
QT_WARNING_POP QT_WARNING_POP
QT_END_MOC_NAMESPACE QT_END_MOC_NAMESPACE

View File

@@ -225,6 +225,182 @@ static const unsigned char qt_resource_data[] = {
0x7d,0x5e,0xa4,0x99,0x45,0x10,0xaf,0x41,0x14,0xca,0xe8,0x58,0x9,0x4d,0xf1,0xc5, 0x7d,0x5e,0xa4,0x99,0x45,0x10,0xaf,0x41,0x14,0xca,0xe8,0x58,0x9,0x4d,0xf1,0xc5,
0x56,0x8d,0x4d,0x39,0x39,0x2f,0x65,0x56,0xf0,0x73,0x2c,0x0,0xf0,0x3f,0x16,0x77, 0x56,0x8d,0x4d,0x39,0x39,0x2f,0x65,0x56,0xf0,0x73,0x2c,0x0,0xf0,0x3f,0x16,0x77,
0x75,0x59,0x4d,0x63,0xa1,0x7d,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42, 0x75,0x59,0x4d,0x63,0xa1,0x7d,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,
0x60,0x82,
// D:/LMS/DB_IaT/InstructorsAndTrainees/icons/login-user.png
0x0,0x0,0xa,0xc3,
0x89,
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
0x0,0x0,0x40,0x0,0x0,0x0,0x40,0x8,0x6,0x0,0x0,0x0,0xaa,0x69,0x71,0xde,
0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x1,0xd8,0x0,0x0,0x1,0xd8,
0x1,0xfa,0x5c,0xa6,0x72,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66,
0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,
0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0xa,0x50,0x49,0x44,
0x41,0x54,0x78,0x9c,0xed,0x5b,0xcf,0xab,0x5d,0x57,0x15,0xfe,0xd6,0xb9,0x37,0x9,
0x6d,0xd2,0x90,0x12,0x4a,0x2c,0x6d,0x7e,0x4c,0x9c,0xb4,0x14,0x27,0xf5,0xf,0x48,
0x6b,0x91,0x16,0xc4,0xc0,0x33,0x9,0xb6,0x15,0x8c,0x29,0x76,0x60,0x1e,0x98,0x56,
0xa9,0x98,0xc9,0x99,0xb4,0xd2,0x81,0x3f,0x48,0x22,0xb4,0xcf,0xc6,0x2a,0x3c,0x90,
0xfa,0x8,0x74,0x22,0x42,0x8c,0x3a,0x77,0xe4,0xa0,0x16,0xa4,0x51,0x1e,0x69,0x48,
0xa2,0xd1,0xb6,0x98,0x5a,0x69,0xee,0xbd,0x7b,0x39,0x38,0x67,0xef,0xbd,0xd6,0xda,
0x6b,0xdf,0x73,0x5f,0x14,0x27,0xbe,0xd,0x2f,0xef,0xb1,0xcf,0x3b,0xe7,0xac,0xf5,
0xed,0x6f,0x7f,0xeb,0x5b,0xfb,0xbe,0x0,0x9b,0x63,0x73,0x6c,0x8e,0xff,0xe7,0x41,
0x43,0xbf,0x70,0xf2,0xd5,0xf7,0x1e,0x1a,0x5,0x7e,0x86,0x1b,0x7a,0xb4,0x21,0x1c,
0x0,0x61,0x3b,0x81,0xba,0x3b,0x89,0x40,0xd4,0x3d,0x85,0xa8,0x9b,0xcb,0xd7,0xc4,
0x5c,0xba,0xd6,0xdd,0xd3,0xcd,0xc9,0xfb,0xbb,0x30,0xec,0x5c,0x7c,0x36,0xe0,0xcc,
0xc5,0x9f,0x51,0xbc,0xe7,0x9f,0x20,0xac,0x13,0xd1,0xc5,0x0,0xbc,0x76,0xea,0x20,
0xbd,0x75,0x5b,0x0,0x2c,0x9f,0x7e,0x67,0xdb,0x96,0xf1,0xdd,0xdf,0x27,0xe0,0x59,
0x10,0x35,0x7d,0x1c,0xe9,0x65,0x2a,0xf9,0xb9,0x80,0xc8,0xa4,0x75,0xf2,0x3a,0xf8,
0x21,0x40,0x64,0xd2,0xe5,0x7b,0x3c,0x40,0x40,0x34,0x3,0xe1,0x95,0x5b,0x37,0xf0,
0x5c,0x7b,0x84,0x6e,0x2d,0xc,0xc0,0xf2,0xe9,0x77,0xb6,0x8d,0xb1,0xeb,0x97,0x44,
0x38,0x38,0x84,0x7a,0x91,0xb4,0xba,0x66,0x56,0x7,0x76,0x4e,0x27,0xe5,0x2,0x21,
0x40,0x74,0x1,0x81,0x13,0x83,0x59,0x18,0x22,0xfa,0xcd,0xc7,0x7f,0xc3,0xe3,0x1e,
0x8,0x8d,0x7,0x40,0x13,0x76,0xfd,0x0,0xcc,0x7,0x99,0x19,0xe9,0x2b,0x0,0x8,
0xc,0xe,0xc,0x66,0xf4,0xf3,0x0,0xb8,0x9b,0x43,0x80,0xb9,0xc6,0x0,0xa3,0xbf,
0x16,0xef,0xeb,0xe7,0xba,0x5f,0x2,0xc7,0x7b,0x82,0x98,0x4b,0xcf,0x14,0xf7,0xc6,
0xb9,0x14,0x8b,0x88,0x27,0xdd,0xd7,0xbf,0x3b,0x88,0x78,0x38,0xc5,0xf3,0xc8,0xd6,
0x7b,0xc2,0x77,0x17,0x62,0xc0,0xc9,0xef,0x5d,0x7f,0x28,0x10,0xfd,0x9e,0x8,0xcd,
0xfc,0xbd,0xe7,0xcc,0xdd,0x16,0xb,0xfe,0x67,0xfa,0x30,0x6b,0x1a,0xfa,0xd4,0xb7,
0x1e,0xa1,0x3f,0xcc,0x65,0x40,0x60,0x3c,0x83,0xc0,0xd,0x7,0xa4,0x15,0x29,0x50,
0xf,0x62,0x35,0x38,0xcf,0xb9,0x2c,0x90,0xab,0x6c,0x59,0x10,0x9f,0x25,0xee,0x81,
0x5a,0xc9,0x9e,0x5,0x92,0x19,0x62,0x95,0x73,0x8c,0x3e,0x53,0xc1,0x8a,0x5,0xa3,
0xd9,0x2c,0x1c,0xb7,0xf9,0x8e,0xed,0x4,0x7,0xfe,0x4c,0x7,0x5f,0xf7,0x80,0xb8,
0x22,0x1c,0xe7,0xfa,0x25,0x24,0x66,0x30,0x11,0x88,0x18,0x1c,0xf7,0x70,0x7f,0x43,
0x77,0xad,0x43,0x9f,0x89,0xa1,0xae,0x72,0x3f,0x97,0x56,0x97,0x41,0x20,0x30,0x18,
0xc4,0xfd,0x7b,0x88,0xbb,0x7b,0xc1,0x88,0xbf,0x1,0x8e,0xf7,0xf4,0xf1,0xa4,0xbb,
0x0,0x70,0x8c,0xa3,0xff,0x2e,0xdf,0xc8,0x39,0x46,0x22,0x7a,0x6c,0x1,0x0,0xb0,
0xaf,0xb,0xa0,0xb,0x26,0x85,0xc1,0x62,0xae,0x7f,0x59,0x2,0x44,0xbd,0x4,0x1a,
0x10,0x16,0x40,0xf4,0xc9,0xf5,0x10,0x82,0x99,0xc5,0x35,0x9,0x48,0x97,0x6f,0x9a,
0x8b,0xf1,0xc4,0xa4,0xb9,0x7f,0x4e,0xa2,0x7b,0x86,0xaa,0x43,0xd9,0xc4,0x13,0x1,
0x61,0xde,0x3f,0xc,0x0,0xf3,0x8e,0x79,0xa8,0xe7,0xa4,0xa1,0x1,0xa9,0xa0,0x9e,
0xd8,0x94,0x82,0x87,0x4e,0x3a,0x73,0xaa,0xdb,0x2,0x32,0x69,0x8,0x16,0xa4,0xa4,
0xe3,0x35,0x98,0xa4,0x61,0x16,0x2d,0x25,0x2d,0x1,0xb9,0x6b,0x1,0x6,0x70,0x81,
0x7a,0x7a,0x83,0x65,0x81,0x2,0x44,0x26,0xad,0xd2,0x8a,0x31,0x18,0x40,0x7c,0x16,
0xe4,0xa4,0x3d,0x40,0x52,0x24,0x9,0x10,0x8f,0xa9,0x8a,0x19,0xa4,0xb7,0xca,0x20,
0x0,0x1d,0xa0,0x6c,0x5e,0xd2,0x5,0xa8,0x0,0xb1,0xa8,0xb,0x16,0x14,0xfa,0x20,
0x59,0x60,0xf5,0x41,0xb2,0x40,0xe9,0x3,0x34,0x20,0x42,0x1f,0xa,0x16,0x70,0xb9,
0x68,0x39,0x69,0x28,0x40,0x16,0x64,0x40,0x89,0x7a,0x5c,0x65,0x17,0xf5,0x62,0xef,
0x79,0x82,0xe9,0xe8,0x83,0x4a,0xda,0xe8,0x3,0xb8,0x22,0x98,0x10,0x89,0xc9,0xa4,
0x61,0x0,0x11,0xf1,0xe8,0x2c,0x6,0x0,0x60,0x85,0x9f,0x48,0xba,0x67,0x81,0xc,
0xc3,0x0,0x52,0xd5,0x7,0x25,0x8a,0x4a,0x95,0xfb,0x2a,0xe1,0xea,0xc3,0xf9,0x66,
0x3c,0x5e,0x7e,0xe9,0x4b,0xdb,0xaf,0x79,0x81,0xb7,0xab,0x1f,0xdd,0x3f,0x19,0x85,
0x15,0x2,0x1e,0x2f,0xf4,0x41,0x9,0x26,0x4c,0x25,0xd3,0xa3,0x74,0x82,0xa9,0x6e,
0x67,0x37,0x95,0xea,0xa9,0xac,0xcd,0xca,0x85,0x89,0x39,0xeb,0x1f,0x54,0x6d,0x8e,
0xd7,0xb4,0xbf,0x28,0x1d,0x26,0x23,0x60,0x7c,0xa2,0x96,0x3c,0x0,0xb4,0x4f,0xdf,
0x79,0x5,0x68,0x9e,0xd5,0x2e,0xd2,0x3a,0x4c,0xe3,0x1f,0xb8,0x64,0x41,0x1,0x80,
0xb2,0xb1,0x29,0x69,0x6d,0x2c,0xe6,0x99,0x15,0xae,0x2,0xb2,0x31,0x5b,0xd,0x7c,
0x54,0xcb,0x3d,0x8d,0x17,0xbf,0x78,0xe7,0xbb,0x43,0xb6,0x9a,0xc5,0x35,0x84,0x45,
0x0,0x8,0x1a,0xc1,0x9c,0xb4,0x40,0x35,0x25,0xad,0x57,0x59,0xae,0x66,0xdd,0x45,
0x8a,0x7b,0x58,0x30,0xc3,0x3a,0xc2,0xd9,0x96,0xb3,0xdf,0x7e,0xf5,0xc6,0xbd,0x43,
0x20,0xe8,0xa4,0x21,0x1c,0xa6,0xcf,0x54,0x3b,0x1c,0xd,0x40,0x52,0x0,0x5d,0x8a,
0x60,0xca,0x14,0xc4,0xfe,0x1a,0xd6,0x7,0xe5,0xeb,0xd8,0xea,0x43,0x1c,0x42,0x30,
0x19,0x4b,0x13,0x1a,0x2d,0x7d,0xf3,0x47,0xef,0xe7,0x3e,0x3,0x84,0x97,0x8f,0xef,
0xd2,0x1b,0x39,0x56,0x2d,0x8e,0x65,0x16,0x46,0x30,0x75,0x95,0x18,0x4,0x20,0x21,
0x95,0x4a,0xce,0x50,0x6d,0xf6,0x4,0xb3,0xff,0x51,0x1,0x2,0x23,0x46,0xb6,0x4a,
0x78,0x82,0x69,0xfc,0x83,0x93,0x80,0xaa,0x5a,0xb5,0x18,0x85,0xad,0x1e,0x4,0x20,
0x1a,0xa1,0xc4,0x2,0x5b,0xa6,0x4,0x20,0xb9,0xc6,0x3a,0x2c,0xb0,0xb5,0x59,0x78,
0x81,0xd2,0x56,0xcb,0x0,0x4c,0x95,0x30,0x2e,0xb2,0x5c,0xaf,0x9c,0x74,0x6,0xcb,
0x67,0x2a,0x9c,0x2a,0xe0,0x6f,0x1,0xe6,0x2,0xf5,0x14,0xbe,0xa8,0xcd,0x19,0x59,
0x9,0x48,0x89,0xba,0xee,0x25,0xe0,0xd8,0xea,0xc5,0x9a,0x19,0x2f,0x1,0x4,0x8,
0x43,0x35,0x87,0x5,0x92,0xa9,0x62,0xf8,0x22,0xe8,0xa8,0x32,0x1b,0x1,0xcb,0xa2,
0xe8,0x9,0x26,0x3b,0x82,0x19,0x5,0x2e,0x5c,0xc,0xd3,0xe9,0xde,0xd9,0xa4,0xb9,
0xf,0x81,0xdf,0xdc,0x68,0xdb,0xed,0x31,0x60,0x23,0x6d,0xf7,0x20,0x0,0xb1,0xa4,
0xcc,0x2b,0x53,0xfa,0x25,0x16,0x90,0x52,0x95,0x75,0x95,0x8,0xc7,0xce,0xbc,0x70,
0xff,0x95,0xb3,0x2f,0xdc,0x73,0xf5,0xee,0x9b,0x7b,0xe,0x7,0xe6,0x37,0xb2,0xef,
0x30,0xfe,0xc1,0x56,0x9,0x67,0xf,0xe8,0xd3,0x1f,0x11,0x8f,0xf1,0x2,0x31,0x9e,
0x5,0x18,0x60,0x2,0x30,0x5e,0x20,0x1b,0xb,0x87,0x5,0x12,0x75,0x1,0x8,0x44,
0x6d,0x9e,0x4c,0x72,0x16,0x6d,0x4b,0xd3,0xdd,0x37,0xf7,0x3c,0x1d,0x18,0x6f,0x28,
0xb3,0xa2,0x92,0x36,0xf1,0x94,0xeb,0xe5,0xb3,0xc0,0xc4,0x18,0xaf,0xd,0x3,0x60,
0x3,0x30,0x6e,0xa,0x72,0x95,0x2d,0xb,0x24,0xea,0x6,0x90,0x78,0x4f,0xd3,0x34,
0x67,0xdb,0x96,0x93,0xf6,0xb4,0x2d,0x4d,0x77,0x7f,0xd8,0x81,0xe0,0xb2,0x20,0xe8,
0x78,0x8a,0x61,0x58,0xe7,0x6e,0x5d,0xce,0x5f,0x83,0x0,0xd4,0x69,0x28,0xf7,0x24,
0x9c,0xa4,0xd,0xea,0x82,0xf6,0x52,0x1f,0x88,0xf9,0xd0,0x8d,0xad,0xd7,0x7e,0x66,
0x41,0xb8,0xbe,0x6f,0xcf,0x53,0x60,0xac,0x72,0x5a,0x31,0x76,0x6d,0xb5,0xb7,0x60,
0x3a,0x69,0xbb,0x75,0x35,0xb,0x16,0x62,0x80,0x75,0x53,0x3a,0xe9,0x39,0xa8,0x1b,
0x16,0x54,0xf5,0x21,0x84,0x2f,0xdc,0xd8,0xa2,0x41,0x58,0x3b,0x42,0xb3,0x6b,0xfb,
0xf7,0x7c,0x19,0x1,0xab,0xa5,0x28,0xa,0x40,0x6c,0xbc,0x35,0xbd,0x92,0xdb,0x4f,
0xea,0x80,0x19,0xde,0x91,0x98,0x6a,0x69,0xbb,0x3a,0x2a,0xda,0x5c,0x51,0x72,0x8,
0x8c,0xc0,0x38,0x3f,0x1a,0xd1,0xf2,0xca,0x8b,0x7,0xaa,0x8d,0xcb,0xa2,0x63,0xed,
0x8,0xcd,0xda,0x96,0x8f,0xfd,0xfd,0x8e,0xbf,0xec,0x0,0xf1,0x21,0xb7,0xed,0xb6,
0xf1,0xa6,0xa4,0x86,0xda,0x6e,0x18,0xd7,0xd9,0x8d,0xa,0x3,0x34,0xd,0xd5,0x1e,
0x32,0x55,0x62,0x16,0xe8,0xc4,0xca,0x4b,0xff,0x79,0xf2,0x71,0xb4,0x2d,0x4d,0x81,
0xe9,0xb2,0x66,0x41,0x8e,0xa7,0x18,0xa6,0x4a,0x54,0x59,0x50,0x11,0xd1,0xd2,0xa,
0x7,0x16,0xc7,0x5a,0x9e,0x77,0x97,0x96,0xb4,0xf7,0xbb,0xff,0xe5,0x31,0x9b,0x10,
0x35,0x23,0x54,0x6c,0xb5,0x1e,0x5d,0x52,0x15,0x43,0xe5,0xd8,0x6a,0x3b,0x1c,0x6,
0x40,0xed,0x65,0x98,0xbd,0x65,0xab,0x44,0xc3,0xd3,0xb3,0x5f,0xfd,0xfa,0xfa,0x60,
0xd7,0xb6,0xe8,0x68,0x5b,0x1e,0x83,0x70,0xba,0xda,0x76,0xdb,0x78,0xb,0xc1,0x14,
0x5f,0x5e,0x97,0x69,0x86,0xdb,0xb,0xe4,0x3d,0x4,0x68,0x16,0x38,0xcd,0x4c,0xa0,
0xa5,0x69,0x33,0x5d,0xfa,0xca,0xf3,0x7f,0x4a,0xcd,0x4e,0x77,0x14,0xd5,0x7f,0x8f,
0x8f,0x48,0x73,0x9d,0x85,0x26,0xc2,0xda,0x27,0x9a,0x7d,0x4f,0x76,0x94,0xef,0xc6,
0xe1,0x9f,0xf3,0xe8,0xaf,0x7f,0xbc,0xfa,0x13,0x30,0x1f,0x62,0x46,0x61,0xab,0xdd,
0xc1,0x42,0x1f,0x38,0xbe,0x87,0xb,0x5b,0x1d,0x1b,0xae,0x61,0x0,0xba,0x37,0x3,
0x6c,0xe,0x43,0x2b,0xcd,0x4c,0x16,0x45,0x18,0xc1,0x8c,0x89,0xf7,0x1,0xe8,0x23,
0xaf,0xb5,0x7b,0xb7,0xec,0xd7,0xc9,0x1f,0xe6,0xd1,0xee,0xb7,0xaf,0xfc,0x94,0x9,
0x4f,0xe9,0x3e,0xa3,0xa7,0x79,0x3f,0x57,0x2e,0x18,0xaa,0x6d,0xb7,0x6,0xc4,0xc7,
0xcf,0xd1,0x0,0xf4,0x49,0x4b,0xd4,0xeb,0xcd,0x8c,0x5b,0x25,0x22,0xea,0x60,0x3,
0x8,0x1,0xe0,0x37,0xef,0xdb,0xba,0xfe,0x64,0xdb,0x1e,0x48,0xc9,0xb7,0x2d,0x8f,
0xaf,0x85,0xcb,0xab,0x60,0x3a,0xca,0xf1,0x4e,0xe6,0x85,0x9a,0x99,0xae,0x1b,0x84,
0x49,0xba,0xde,0x76,0xf,0x2,0xa0,0xf6,0x49,0x5e,0x31,0x73,0x24,0x6e,0xda,0xdc,
0xfe,0x60,0xb3,0x14,0x4c,0x8,0x91,0xec,0x2,0x98,0x61,0xfc,0xb5,0xb6,0x3d,0xa8,
0x92,0xbf,0x3a,0xbd,0xbc,0x4a,0xc0,0xd1,0x45,0xda,0xee,0x22,0xde,0x90,0xef,0xd9,
0x50,0xdb,0x5d,0x5,0x20,0x48,0xea,0xd7,0x4f,0x87,0x63,0x52,0x73,0xf5,0xc1,0x39,
0xec,0x18,0x37,0x13,0xe1,0x0,0x7f,0x3b,0xbe,0xfa,0xf1,0xfa,0x2a,0x13,0x1d,0x55,
0xdb,0x8,0xf5,0xb6,0xbb,0x44,0x0,0x1b,0x6a,0xbb,0x7,0x1,0x88,0xf,0x8c,0x8,
0x96,0x87,0x1d,0x7d,0xa0,0x5c,0xd1,0x7,0xaf,0x6c,0xa,0x40,0x66,0x1,0x3f,0x3e,
0xfe,0xfc,0x9f,0x8f,0x7,0xe,0xe1,0xca,0xbf,0x9a,0x33,0x20,0x7c,0xbe,0x7a,0xf8,
0x2,0xc9,0x2,0xb9,0xbd,0x44,0xb8,0x9c,0xf7,0x7a,0xf1,0x69,0x96,0x3d,0x96,0xdb,
0xc8,0x7,0x23,0xb9,0xfe,0x56,0xe,0x3b,0x24,0xb,0xaa,0x82,0x89,0x54,0x7f,0x85,
0x60,0x3e,0xa,0xc2,0x7a,0xd3,0x90,0x70,0x9d,0x10,0x49,0xcb,0xf3,0x7c,0xb1,0x1d,
0xc8,0xf3,0x81,0x82,0xb1,0x15,0xa6,0x16,0xfa,0x30,0x8,0x0,0x73,0x89,0xba,0xa0,
0xa1,0x36,0x16,0x52,0x1f,0xe2,0x70,0xaa,0xc4,0xc2,0x82,0x29,0x6c,0xac,0x3c,0x96,
0x4b,0xa2,0x58,0xd9,0x2,0x73,0x98,0x5a,0x7e,0x78,0x33,0x4,0x40,0x5f,0x56,0x24,
0xea,0x92,0x5,0x79,0x7f,0x79,0x55,0xa2,0x14,0xcc,0x42,0x1f,0x4,0xd,0x4b,0xc1,
0xcc,0x5b,0xa9,0x38,0x96,0xeb,0x1,0x29,0xe3,0xf5,0x4,0xb3,0xc2,0x82,0x45,0xaa,
0x40,0x67,0x2c,0xc,0xea,0x1e,0xb,0x2c,0xea,0x34,0xf,0xf5,0xc5,0xf4,0x21,0x27,
0xd,0xed,0x1f,0x12,0x58,0x45,0xb4,0xbd,0x6,0x94,0x31,0xfa,0x80,0x94,0xf7,0xcf,
0xfd,0x78,0x5c,0xd2,0x50,0x27,0x6d,0xf4,0x41,0x25,0xed,0x55,0x89,0x8a,0x3e,0xa4,
0xc4,0xb4,0x77,0x27,0x30,0x98,0xe8,0xfc,0xa8,0xa1,0xe5,0xa1,0x46,0x2b,0x39,0x57,
0x9,0x97,0x28,0x9b,0xc5,0xe1,0xec,0x20,0x0,0x8c,0x12,0x75,0x11,0x60,0x55,0x1f,
0x48,0xa3,0xae,0x45,0x31,0xa5,0xeb,0xd4,0x66,0x5d,0xa6,0xe2,0x5c,0x0,0x9d,0x38,
0xf7,0xf2,0x81,0xeb,0xf3,0x92,0xef,0xee,0x41,0x95,0xa9,0x9e,0xa1,0x1a,0x4,0x20,
0x77,0x83,0x46,0x95,0xfb,0x0,0x13,0x33,0x88,0x7,0x51,0xd7,0x49,0x3b,0x86,0xca,
0x15,0xcc,0xc5,0xc7,0xb1,0x53,0x97,0xf6,0x16,0x9f,0x63,0xa8,0xa4,0xa1,0xf5,0xc1,
0x19,0xd5,0xf3,0x0,0xdd,0x89,0xe9,0x6e,0x2b,0x75,0x5d,0xce,0x91,0x97,0x3c,0xc9,
0x49,0x1d,0x65,0xba,0x66,0xcf,0x1a,0x74,0xf,0x2f,0xcf,0x1a,0x30,0x9d,0xdf,0x65,
0x1e,0x3b,0x75,0x69,0xef,0x28,0x8c,0x56,0xf4,0xb1,0x37,0x9c,0x23,0x71,0x11,0xa3,
0x73,0xa2,0x34,0xb7,0xa,0xe4,0x4a,0xe0,0xd5,0x66,0xc3,0x2,0x16,0x73,0x96,0x5,
0xc,0xa8,0xad,0xa2,0xaa,0x84,0xd1,0x87,0x54,0x36,0xb1,0x34,0xc1,0x64,0xe9,0xd8,
0xc9,0x4b,0x9d,0x78,0xa5,0xad,0xd8,0x7f,0x9f,0x74,0x71,0xb2,0xc3,0xd4,0xb9,0x86,
0x6a,0x10,0x0,0xd1,0x5c,0xc4,0x66,0x46,0xfd,0x45,0x96,0x74,0x3,0xd6,0xac,0x20,
0xee,0x66,0xa7,0x4a,0x2c,0x2c,0x98,0xa6,0x6c,0x16,0x55,0x42,0xc4,0x93,0x9e,0xea,
0x94,0x4d,0x88,0x78,0x64,0xe,0x43,0x0,0x74,0xf4,0x96,0x49,0x23,0x3,0x52,0xa9,
0xcd,0xae,0x3e,0x14,0xb5,0x59,0xb3,0x20,0xbf,0xcf,0xa,0xa6,0xaf,0xf,0xf5,0x73,
0xca,0xfc,0xec,0xf4,0x46,0xf1,0x4c,0xcb,0xd4,0x61,0x6,0xc4,0xfe,0x5a,0x25,0x3d,
0x8c,0x7a,0x7e,0x49,0x89,0xba,0x57,0x9b,0xdd,0x86,0x4b,0x25,0xd,0xb5,0x55,0x32,
0x58,0x56,0x30,0xab,0x6d,0x77,0x66,0x81,0x64,0xea,0x20,0x0,0xcc,0x37,0x89,0x71,
0x97,0xfa,0x8b,0x2c,0x58,0x40,0x1c,0xd4,0x3d,0x16,0xc8,0xab,0xae,0xad,0xae,0xb0,
0x60,0x6e,0x95,0x98,0xc3,0x2,0x5,0x88,0x48,0x3a,0x33,0xf5,0x1f,0xb,0x30,0x80,
0xdf,0x5,0xd1,0x3,0xf9,0x25,0x6,0x75,0x45,0x35,0xa3,0xf,0x24,0xd6,0xd9,0xea,
0x3,0xcd,0xd1,0x87,0x39,0xcd,0x4c,0x7c,0x9f,0xab,0xf,0x92,0x5,0xa6,0xed,0xce,
0x49,0xcb,0xe3,0x72,0xba,0x3c,0x8,0x0,0x18,0xbf,0x62,0xe6,0x7,0xe6,0xa1,0x9e,
0x98,0x41,0x56,0x30,0x5,0x33,0x2a,0xcd,0x4c,0xa1,0xf,0xae,0x60,0xa,0xe9,0xbb,
0xcd,0xb6,0xdb,0x63,0x2a,0x10,0x2e,0xd8,0x74,0xb,0x1f,0x30,0x9b,0xd2,0x6b,0xcc,
0x3c,0xcb,0xb5,0x59,0xd6,0x6d,0x51,0xaf,0x45,0xdd,0xf6,0xfe,0x22,0xb,0x6c,0x6b,
0x33,0xd2,0x7d,0xca,0x3f,0x54,0x3e,0x43,0xb4,0x9f,0xfa,0x66,0xff,0x20,0xe2,0x91,
0xfe,0x42,0xc6,0x68,0x3f,0xcd,0xea,0xbc,0xc5,0x6c,0x8a,0xd1,0xb9,0x41,0x0,0x7e,
0x71,0xe1,0xd3,0x6f,0x51,0xa0,0x57,0xaa,0x66,0x45,0xbe,0xc4,0xfe,0x47,0x87,0x50,
0x3,0x84,0xe1,0x1b,0x2a,0x94,0x80,0xa4,0xa4,0x3c,0x43,0xc5,0xe,0x20,0xf2,0x99,
0xa5,0xa1,0x8a,0x31,0x6,0xe0,0x87,0xaf,0x7f,0x67,0xff,0xdb,0x83,0x0,0x0,0xc0,
0xb6,0x9d,0xdb,0x9f,0x63,0xe,0xbf,0xce,0x49,0xeb,0xa4,0xf4,0x27,0xc2,0x16,0x75,
0xb,0x88,0xe,0xb0,0x64,0x81,0x7,0x48,0x6,0xdf,0x77,0x91,0x12,0x10,0xb8,0x80,
0x98,0x4f,0xb3,0x2e,0x8e,0x3f,0x78,0xef,0x1b,0x5e,0xae,0x2e,0x0,0x6b,0x6b,0xf,
0xde,0xba,0x63,0xe7,0xce,0x27,0x78,0x16,0xce,0x22,0xf0,0xac,0xfc,0x94,0x55,0x53,
0xdb,0x45,0xbd,0xa0,0x61,0x8d,0x5,0x66,0xab,0x58,0x16,0x98,0xf,0x39,0x15,0xb,
0xcc,0x9f,0xe6,0x39,0x4c,0x9d,0x81,0x71,0x7a,0x7c,0xf3,0x83,0x27,0x56,0x56,0x1e,
0x9e,0x78,0xb9,0x3a,0xde,0x48,0x8f,0xcf,0x7d,0xf6,0x77,0xf,0x6,0x9e,0x1d,0x6f,
0xa8,0x79,0xc,0x84,0x3,0x20,0xec,0xb0,0xff,0x5,0x26,0xda,0xd3,0xa8,0xf6,0xc9,
0xb2,0xc2,0x99,0x4b,0xd7,0x9c,0xb9,0x24,0x9e,0xc8,0xcf,0x17,0xdf,0xd1,0x8b,0x67,
0x31,0x17,0x7f,0xaf,0xfb,0xe7,0x43,0x22,0x5a,0x27,0xa2,0xb,0x4,0x9c,0x7b,0xfd,
0xcc,0x27,0xb,0xda,0x6f,0x8e,0xcd,0xb1,0x39,0x36,0x47,0x1c,0xff,0x6,0x11,0x1,
0x8,0xa9,0x83,0x79,0x44,0x46,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,
0x60,0x82, 0x60,0x82,
// D:/LMS/DB_IaT/InstructorsAndTrainees/icons/newGroup.png // D:/LMS/DB_IaT/InstructorsAndTrainees/icons/newGroup.png
0x0,0x0,0xc,0xe5, 0x0,0x0,0xc,0xe5,
@@ -3087,6 +3263,212 @@ static const unsigned char qt_resource_data[] = {
0xf5,0x3f,0x9f,0x57,0x5c,0x40,0xb8,0x80,0xe2,0x30,0xc2,0x1,0x11,0x4a,0x2d,0x55, 0xf5,0x3f,0x9f,0x57,0x5c,0x40,0xb8,0x80,0xe2,0x30,0xc2,0x1,0x11,0x4a,0x2d,0x55,
0xd5,0x9b,0x37,0xbf,0x98,0x7f,0xc6,0x97,0xfe,0xfd,0xf,0xae,0xc2,0x77,0x8,0x6f, 0xd5,0x9b,0x37,0xbf,0x98,0x7f,0xc6,0x97,0xfe,0xfd,0xf,0xae,0xc2,0x77,0x8,0x6f,
0x22,0xa7,0xd5,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, 0x22,0xa7,0xd5,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
// D:/LMS/DB_IaT/InstructorsAndTrainees/icons/connectDB.png
0x0,0x0,0xc,0xa9,
0x89,
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
0x0,0x0,0x40,0x0,0x0,0x0,0x40,0x8,0x6,0x0,0x0,0x0,0xaa,0x69,0x71,0xde,
0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88,
0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x1,0xd8,0x0,0x0,0x1,0xd8,
0x1,0xfa,0x5c,0xa6,0x72,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66,
0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61,
0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0xc,0x26,0x49,0x44,
0x41,0x54,0x78,0x9c,0xdd,0x9b,0x79,0x74,0x54,0xd5,0x1d,0xc7,0x3f,0x6f,0x32,0x33,
0xc9,0x24,0x99,0x4c,0x56,0xb2,0x91,0x44,0x30,0x9,0x49,0x58,0xa,0x24,0x1a,0x10,
0xc4,0xb5,0x75,0xc1,0x85,0x28,0xa2,0x28,0x52,0xad,0x3d,0x88,0x9e,0xaa,0xd5,0x83,
0x7a,0xaa,0x70,0xb4,0x95,0xba,0xb4,0x2e,0x3d,0x56,0x5,0xb5,0xe8,0xa9,0xdb,0x39,
0x6a,0x11,0x10,0x6b,0xa9,0x8a,0x8,0x45,0x14,0x4c,0x8,0x8b,0x12,0x22,0x3b,0x9,
0x99,0x6c,0x90,0x99,0x4c,0x96,0x49,0x66,0x26,0xaf,0x7f,0xfc,0x66,0x26,0x93,0xbc,
0x24,0x24,0x30,0x9,0xcb,0xf7,0x9c,0xdf,0x99,0xc9,0xcd,0xbd,0xef,0xde,0xfb,0x9d,
0xf7,0x7e,0xeb,0x7d,0x70,0xf6,0x21,0x9,0x58,0x7,0xb8,0x0,0x15,0x68,0x7,0xfe,
0xd,0x44,0x9f,0xca,0x45,0xd,0x25,0x5e,0x43,0x36,0xde,0x5d,0x16,0xf7,0xd4,0x59,
0x37,0x74,0xeb,0x1a,0x32,0x64,0x1,0x8c,0xc8,0x9b,0x4b,0xe1,0xaf,0x96,0x91,0x96,
0x35,0xd3,0xd7,0x9e,0xdd,0x53,0xe7,0xb3,0x91,0x0,0x0,0xc,0xa1,0x16,0xc2,0x22,
0x92,0x30,0x18,0xcd,0x7d,0xf6,0x3b,0x6b,0x9,0xe8,0x2f,0xf4,0x3,0xec,0x1f,0xe,
0xa4,0x2,0x89,0x40,0xa,0x10,0x83,0x28,0x17,0xb,0x10,0x5,0x18,0x10,0x52,0x2d,
0xde,0xfe,0x1d,0x80,0xdd,0xfb,0xbd,0x15,0x68,0xc,0x90,0x1a,0xa0,0x16,0x38,0xe2,
0xfd,0xde,0x76,0xa2,0x9b,0x38,0x19,0xf4,0x46,0x80,0x11,0x98,0xc,0x14,0x0,0xa3,
0x80,0x5c,0xaf,0xc4,0xd,0xe2,0x5a,0x2a,0x81,0xdd,0x5e,0xd9,0x5,0x7c,0xf,0x6c,
0x43,0x14,0xd8,0xa0,0x21,0x90,0x80,0x68,0xe0,0x36,0xe0,0x2a,0xe0,0x62,0x20,0xa2,
0xa7,0x1,0x61,0xa1,0x3a,0xd2,0x52,0x8d,0x24,0xc4,0x19,0x88,0xb6,0xe8,0x89,0xb6,
0x84,0x10,0x6d,0xd1,0x63,0x8e,0xc,0x1,0xc0,0x68,0x50,0x88,0x8,0xf,0xf1,0xf7,
0x6f,0x74,0x78,0xf0,0x74,0xc8,0x1e,0x6c,0x76,0x37,0x36,0xbb,0x47,0x3e,0x1b,0x3d,
0x58,0x6b,0xda,0xb1,0xd6,0xb4,0xe3,0x72,0xa9,0x0,0xc3,0xbd,0x72,0x79,0xc0,0x74,
0xb5,0xc0,0x57,0xc0,0x6a,0xe0,0x13,0xc4,0xa4,0x5,0x15,0x7a,0x20,0x4,0x58,0x0,
0x2c,0x4,0x22,0x7d,0xff,0x88,0x8b,0xd5,0x33,0xb9,0xc0,0xcc,0xb8,0xbc,0x8,0x46,
0xe7,0x84,0x93,0x9b,0x6d,0x22,0x2d,0xd5,0x48,0x7c,0xac,0x21,0xa8,0xb,0x50,0x55,
0xa8,0xae,0x6d,0xe7,0xe0,0xe1,0x36,0x76,0xfd,0xdc,0xc2,0xee,0x3d,0xad,0x14,0x6f,
0x6b,0xa6,0x78,0x5b,0x13,0x4d,0xcd,0x9e,0x61,0xc0,0xad,0x5e,0xa9,0x2,0xee,0x7,
0x96,0x7,0x73,0x7e,0x3d,0xf0,0x2c,0x42,0x0,0x63,0x72,0xc3,0x99,0x33,0x33,0x81,
0xeb,0xae,0x8c,0x25,0x27,0xcb,0x84,0xa2,0x4,0x73,0xaa,0x9e,0xa1,0x28,0x90,0x9c,
0x68,0x24,0x39,0xd1,0xc8,0xe4,0xf3,0x3a,0x35,0xb6,0xdb,0xad,0x52,0xb2,0xbd,0x89,
0x55,0x6b,0x1a,0x78,0xf7,0xa3,0x5a,0x2a,0xab,0xda,0x53,0x80,0x8f,0x81,0xd9,0xc0,
0x87,0xc1,0x9a,0x5f,0x7,0xcc,0x3,0x78,0x66,0x61,0x6,0x3b,0xd6,0x8f,0xe7,0xd1,
0xfb,0x53,0xc9,0xcd,0x1e,0x9a,0xcd,0xf7,0x5,0xbd,0x5e,0xa1,0x30,0xdf,0xcc,0xd3,
0x8f,0xa7,0xb3,0xbf,0x38,0x9f,0x5b,0x8a,0xe2,0x1,0x14,0xbc,0xeb,0xd,0xda,0x3c,
0x88,0xf6,0xe6,0x95,0x65,0x56,0xd5,0x60,0x50,0x94,0x9b,0x67,0xc4,0x33,0x3c,0xc5,
0x18,0xcc,0x39,0x4e,0x18,0xaa,0xa,0xa5,0x3b,0x9b,0x59,0xf6,0x7e,0xd,0x2b,0x3f,
0x3f,0xe6,0x6b,0xb6,0xf4,0x35,0x66,0xa0,0xf0,0x2b,0xc1,0x23,0xd6,0x76,0x65,0xc1,
0x13,0x7,0x79,0xf8,0xc9,0x83,0x8c,0xcb,0x8b,0x60,0x4a,0xa1,0x99,0xc2,0x89,0x66,
0xc6,0xe6,0x85,0x93,0x93,0x65,0xc2,0x14,0x36,0xf8,0x2e,0x43,0x83,0xcd,0x4d,0xf9,
0xde,0x56,0x4a,0xb6,0x37,0xf3,0x5d,0xb1,0x83,0xf5,0x9b,0xec,0x54,0x56,0xd,0x58,
0xef,0x19,0x0,0x9c,0x2d,0xb5,0x38,0x6c,0x7b,0x69,0x73,0xd6,0x77,0x69,0xef,0xe,
0x5,0xaf,0x99,0xf9,0xdb,0x42,0xf8,0x62,0x23,0xfc,0xf7,0x7f,0xe0,0xf1,0x74,0xed,
0xa4,0xd3,0x41,0x7a,0x6a,0x28,0x69,0xa9,0xa1,0xa4,0xf,0xf,0x25,0x35,0xd9,0x48,
0x62,0x82,0xd7,0xa,0x44,0x89,0x15,0xb0,0x44,0x89,0xe6,0xf,0x9,0x51,0x88,0x32,
0x77,0x5a,0x81,0x6,0x9b,0x1b,0x90,0x5f,0xd3,0x66,0xf7,0xd0,0x60,0x77,0x63,0xb3,
0xbb,0x69,0xb0,0xb9,0xb1,0xd6,0xb4,0x73,0xc4,0x2a,0xb2,0xef,0xa0,0x93,0x9a,0x3a,
0x97,0x66,0x81,0xe1,0x26,0x98,0x79,0x25,0x24,0xc6,0xc3,0x5f,0xdf,0x4,0xa0,0x4,
0x31,0xcf,0x81,0x88,0x4,0x1e,0x5,0x7e,0x8b,0x4,0x43,0xbd,0xa1,0x2,0x58,0x2,
0xbc,0x88,0xd7,0xef,0xf0,0x13,0xb0,0x6f,0x1d,0x8c,0x4c,0x83,0x9a,0x7a,0x58,0xbf,
0x5,0x36,0x16,0xc3,0xa6,0xad,0xb0,0x7b,0x1f,0x34,0xb7,0xf6,0x71,0xc9,0x20,0x23,
0x36,0x1a,0xc6,0x64,0xc1,0x94,0x7c,0x98,0x5a,0x0,0x17,0x9e,0x7,0xe6,0x8,0xf8,
0xf8,0x3f,0x30,0xeb,0x3e,0x40,0x4b,0x40,0x3a,0xf0,0x25,0x81,0xbe,0x7e,0x44,0x40,
0xe0,0xa7,0xaa,0xd0,0xe1,0x1,0x67,0x53,0xe0,0x34,0xa5,0xc0,0x15,0x40,0x9d,0xc6,
0x11,0x4a,0x8c,0x87,0x59,0x57,0x8b,0xf8,0xc6,0x57,0x58,0xe1,0xe7,0x3,0x50,0x59,
0x2d,0xdf,0xab,0xeb,0xa0,0xee,0x18,0xd8,0x1c,0xe0,0x68,0x82,0xc6,0x26,0x70,0x34,
0x43,0x53,0xb,0xb4,0x3a,0xc1,0x19,0xe0,0xd3,0x45,0x98,0xc0,0x68,0x84,0x68,0x33,
0x98,0x23,0x65,0x33,0xe6,0x8,0xb0,0x98,0x65,0xae,0xd4,0x44,0x48,0x1e,0x6,0x23,
0x86,0xc3,0xa8,0x91,0x90,0x10,0x3b,0x20,0xbe,0x4c,0x48,0xa8,0x9b,0x8d,0x65,0x18,
0xca,0x9c,0xc5,0x28,0x85,0x33,0x20,0x34,0xbc,0x6b,0x2f,0x4f,0x7,0x94,0x95,0xc0,
0xe6,0x95,0x74,0xac,0x5f,0x6,0x6d,0x4d,0x13,0x80,0x15,0xc0,0x45,0x1a,0x2,0x16,
0xbf,0xa,0x2f,0xbe,0x5,0x6b,0xdf,0x85,0x9,0x79,0x62,0xa6,0xd2,0x53,0x44,0x4e,
0x43,0xdc,0x3,0x8c,0xc1,0x1c,0x87,0xee,0xa9,0xb5,0x90,0x38,0xa2,0xe7,0x5e,0x21,
0x3a,0x18,0x35,0x1e,0xc5,0x3,0xba,0xe1,0xa3,0xe9,0x78,0xef,0x1,0x68,0x6f,0x9d,
0x2,0xdc,0xa6,0xd1,0x6c,0x75,0xc7,0xe4,0x17,0x6d,0x6a,0x1e,0xdc,0x95,0x7,0x9,
0x73,0x1,0x94,0xa2,0x87,0x7b,0xdf,0xbc,0xf,0x6,0x3,0xc4,0x26,0xa0,0x24,0x8c,
0x44,0xc9,0xbf,0xc1,0x3f,0x5e,0x43,0xc0,0x4b,0x8f,0x43,0xed,0x66,0x79,0xf6,0x4e,
0x73,0x84,0x0,0x63,0x1,0x94,0x89,0x57,0xf5,0x6b,0x80,0x1a,0x29,0x8e,0x96,0x92,
0x39,0xc9,0xd7,0x34,0x41,0x43,0x80,0x4e,0x27,0x8a,0xe8,0xc,0x80,0x19,0x5f,0x38,
0x1f,0xd5,0xcf,0x18,0x4d,0x2f,0x4f,0xbc,0x12,0xee,0xdf,0x60,0xac,0x86,0x80,0xd5,
0x5f,0x8b,0xb6,0xb5,0xd6,0x6,0x61,0x89,0x83,0x8b,0xa0,0xf8,0xaa,0x1a,0x25,0xf8,
0xca,0x3b,0xe2,0xf,0x5c,0x31,0xd,0xee,0xba,0x29,0x18,0x53,0xc,0xc,0x75,0xc7,
0xa0,0x74,0x17,0x94,0xfe,0x24,0x16,0xe7,0x91,0x79,0xc7,0x57,0xc0,0xea,0x6b,0xf3,
0x41,0x6f,0x80,0x98,0x24,0x94,0xdb,0x16,0x83,0x21,0x14,0xe,0xff,0x84,0xba,0xea,
0x5,0x70,0x7,0xf8,0x16,0x6e,0x17,0x6a,0x93,0x3,0x5c,0x4e,0x7f,0x93,0x86,0x0,
0x6f,0xe4,0xaa,0x71,0x86,0x82,0x8d,0xd2,0x5d,0xf0,0xc3,0xe,0x31,0xad,0x87,0x8e,
0xc8,0xa7,0xcf,0xd4,0x6,0x22,0x2d,0x19,0x1e,0xbd,0xbb,0xef,0x6b,0xa9,0xc5,0x9f,
0xf9,0xbf,0x2b,0xd3,0x66,0xc3,0xc8,0x89,0xa8,0x1b,0x3e,0x40,0xdd,0xf8,0xd1,0x71,
0xd7,0xa1,0x21,0x20,0x2c,0x54,0x3e,0x4d,0x61,0xc7,0xdf,0xc4,0x89,0xe2,0x98,0xd,
0xce,0x2f,0x2,0x77,0x2f,0x24,0xf,0x4f,0x12,0x13,0x9c,0x3f,0x6,0xee,0x9e,0x7d,
0xfc,0xeb,0x29,0x33,0x1f,0x3,0x63,0x18,0xc4,0xa6,0xc0,0xc8,0x89,0xd2,0x76,0xfd,
0x43,0x10,0x93,0xc,0xee,0x0,0x57,0xba,0xcd,0x89,0x52,0x5f,0x8b,0xea,0x74,0xa0,
0x6e,0x96,0x80,0xd2,0x4f,0x40,0x85,0x55,0x3c,0xc1,0x67,0x1f,0x86,0xb,0xb,0xc4,
0xfd,0x1c,0x2c,0x58,0xcc,0x70,0x7b,0x11,0x54,0xd5,0x40,0x6a,0x92,0xfc,0xca,0x69,
0xc9,0x90,0x91,0x2,0xe3,0xf3,0x20,0x3e,0x46,0x3b,0xa6,0xc2,0xda,0xfb,0xf5,0x94,
0xab,0xef,0xed,0xea,0xfd,0x1,0x98,0xe3,0x50,0xa6,0xff,0xae,0x6b,0x9b,0xc3,0x8e,
0xb2,0xa7,0xc,0xc5,0x66,0xc5,0xe3,0x25,0xc0,0xef,0xa,0x87,0x1a,0x51,0xe7,0x16,
0xa1,0xcc,0xbe,0x56,0x4c,0xa0,0x3e,0x84,0x53,0x8e,0x56,0x27,0x7c,0xf9,0x2d,0xbc,
0xfd,0x2f,0xf8,0xf4,0x2b,0xff,0xe3,0xe9,0x73,0x85,0xcd,0x48,0x6e,0x11,0xe5,0xd7,
0xcf,0x81,0xd1,0x74,0xfc,0xb,0x3a,0x5b,0x51,0x6a,0xab,0xa1,0xd5,0x4e,0xc7,0x86,
0xb7,0x0,0xdc,0x7e,0x2,0x2,0x11,0x15,0x9,0x93,0x27,0xc0,0xa4,0x9,0x30,0x36,
0x1b,0xf2,0xb2,0x20,0x33,0x3,0xc,0x3,0x4d,0xa1,0xe,0x0,0xce,0x36,0x28,0xdf,
0xf,0xbb,0xf7,0xc3,0xb6,0x32,0xd8,0x54,0x2,0x3f,0xec,0x14,0x12,0xba,0x21,0x30,
0x16,0xd8,0xa,0x4c,0x38,0x89,0x69,0xd7,0xfa,0x9,0x58,0x7e,0xb7,0xc2,0xba,0x72,
0x95,0xf7,0xb7,0x40,0x43,0x8b,0xb6,0xa7,0x3e,0x4,0x92,0x12,0x44,0x23,0xa7,0x26,
0xc2,0xb0,0x38,0x88,0x8e,0xea,0x14,0x8b,0x37,0x99,0x13,0xa2,0x13,0x2,0x7d,0xb0,
0x39,0x24,0x9e,0x0,0x68,0xb0,0x83,0xad,0xd1,0x2b,0xe,0x31,0xb5,0x55,0xb5,0x50,
0x69,0x85,0xea,0x7a,0xe8,0xe8,0xd0,0xce,0x9b,0x11,0xb,0x77,0x5e,0x0,0x91,0xa1,
0xa,0xb,0x96,0xab,0xdd,0x9,0x48,0x7,0x16,0x1,0xe7,0x78,0xff,0x3e,0x1f,0xc9,
0x6f,0xec,0x44,0x32,0xcd,0x3e,0xa4,0x22,0x49,0xdd,0x63,0x8,0x69,0x0,0xe5,0xc0,
0x53,0x9d,0xd1,0xe0,0x62,0x85,0x91,0xf1,0xe0,0xee,0x80,0x6d,0x15,0xb0,0x71,0x2f,
0x6c,0xda,0xaf,0x52,0x66,0x85,0x3d,0xb5,0xd0,0xe6,0xee,0x27,0xa7,0x27,0x1,0x73,
0x18,0x8c,0x4a,0x84,0xd1,0x29,0x30,0xf5,0x5c,0x85,0xa9,0x99,0x90,0xe3,0xd,0x6e,
0x3f,0x2e,0x81,0x59,0x6f,0x6a,0x8,0xe8,0x8e,0x62,0x20,0x1f,0x98,0x85,0xa4,0xcf,
0x7c,0x98,0x7,0xbc,0x8e,0x24,0x58,0x7f,0x19,0x38,0x40,0x73,0x53,0xeb,0x14,0x18,
0x11,0xf,0x5,0x19,0xf0,0xfb,0xcb,0xc4,0xd7,0xf0,0x74,0xc0,0xa1,0x63,0x50,0x71,
0xc,0x2a,0x6d,0x60,0xb5,0x43,0x7d,0x93,0x8a,0xad,0x5,0x1a,0x9d,0xe0,0x70,0x82,
0xa3,0xd,0x9a,0x9c,0xd0,0xea,0x2,0x67,0x80,0xe9,0x8d,0x8,0x5,0x63,0x8,0x58,
0x4c,0x10,0x65,0x2,0x73,0xa8,0x6c,0xd4,0x62,0x82,0xc4,0x28,0x85,0x14,0xb,0xa4,
0x44,0xc3,0x88,0x38,0xf9,0x1c,0x6a,0x68,0x8,0x78,0xe0,0x43,0x95,0x25,0x1b,0xe0,
0xeb,0x7,0x15,0xa6,0x65,0x49,0x5b,0x88,0xe,0x46,0xc6,0x8b,0x74,0xe2,0x14,0x27,
0xd,0x83,0x4,0x8d,0x2b,0x9c,0x64,0x51,0x88,0x36,0x41,0xd4,0x20,0xfa,0x1,0xa7,
0x13,0x34,0x4,0x3c,0x7e,0x15,0xd4,0xbf,0xa0,0x30,0x3e,0xed,0x54,0x2c,0xe7,0xa4,
0x51,0xc,0x34,0x3,0x3f,0x76,0x6b,0xdf,0x81,0xa4,0xc0,0xb6,0x74,0x1f,0x30,0x88,
0x86,0xed,0x94,0x60,0x3e,0x70,0x1f,0x72,0x38,0x22,0x10,0xdf,0x23,0x7e,0x83,0x26,
0xe9,0xa8,0xb9,0x3,0xfe,0xb1,0x11,0xa,0x9e,0x56,0xd9,0x5b,0x37,0x28,0xb,0x1c,
0xa,0x68,0x33,0xab,0x7d,0xb4,0x6b,0xee,0x80,0x8f,0x4a,0x54,0x4a,0xe,0xc3,0xba,
0x72,0xc8,0x4c,0x8,0xea,0xc2,0x8e,0x8b,0x56,0x17,0xec,0xa8,0x84,0xd2,0xa,0x28,
0xad,0x50,0xa9,0x68,0x80,0xe7,0x8a,0x14,0xc6,0xa6,0xe,0xde,0x9c,0x1a,0x2,0x7c,
0x6e,0xa1,0x3a,0xa8,0x35,0x59,0x58,0xb5,0x1d,0xbe,0xdb,0xaf,0x52,0xd9,0x20,0x26,
0xb6,0xb2,0x1,0x2a,0x1a,0xc4,0xe4,0x6,0xe2,0xf2,0x1c,0xfa,0x22,0x20,0x3,0x71,
0x84,0x32,0x4e,0x60,0x9,0x7b,0x80,0x3f,0x69,0x8,0xb0,0x78,0xb5,0x7f,0x74,0x78,
0xf7,0xff,0x4,0xf,0xf5,0x4d,0x50,0xb4,0x54,0xed,0x91,0x64,0x8b,0x9,0xc6,0xa7,
0xc1,0xf8,0xe1,0x90,0x9f,0xa1,0x30,0x2b,0xbf,0xcf,0x4b,0xad,0x2,0x7e,0x71,0x82,
0xcb,0xb8,0x1c,0x18,0xe5,0x27,0x60,0xcb,0x41,0xb1,0xf3,0x7f,0xbf,0x45,0x61,0xf6,
0xf9,0x30,0xe3,0x44,0x2f,0xdb,0xf,0xc4,0x45,0xc0,0x9f,0xae,0x55,0xa8,0xb2,0xab,
0xa4,0x46,0x2b,0xa4,0xc5,0x40,0x7a,0xac,0xb8,0xbd,0xe7,0xc4,0xa1,0xa9,0x4b,0xaa,
0x2a,0x94,0x1c,0xd6,0xb0,0x65,0xc6,0xbb,0xf9,0x93,0x8,0x86,0xa6,0x75,0x9,0x86,
0xa6,0x66,0xc2,0xad,0xe7,0x29,0x5c,0x33,0xe,0xd2,0x7a,0x8,0x49,0x87,0x1a,0x7,
0xea,0xe1,0xd3,0x1d,0xf0,0xf6,0x26,0x95,0xed,0x95,0xfe,0x66,0x9f,0x2b,0x1c,0x83,
0xf8,0xf6,0xe8,0xde,0xaa,0xd4,0x86,0xc3,0x3d,0xc1,0x1b,0xe,0x63,0xb3,0xe2,0x79,
0xfd,0x76,0x20,0x20,0x1c,0xd6,0xe9,0xba,0x6,0x23,0xe9,0xb1,0x30,0xe5,0x5c,0x18,
0x9b,0xaa,0x90,0x9b,0x4,0xb9,0xc9,0xf2,0xb,0x85,0x5,0xf7,0x78,0x0,0x20,0xae,
0xf3,0xc1,0xa3,0x50,0x56,0xd,0xe5,0xd5,0xb0,0xad,0x52,0xe5,0xdb,0x7d,0xa2,0x17,
0x7c,0x8,0x58,0x9f,0x86,0x0,0x7f,0x42,0xa4,0x3b,0xc,0x61,0x28,0x17,0xcf,0x81,
0xf0,0x28,0xe8,0xf0,0xa0,0xae,0x79,0x3,0xe5,0x60,0x79,0x97,0x84,0x88,0x9f,0x80,
0xef,0x97,0x4b,0x29,0xec,0x9f,0x9f,0xc0,0x8e,0xdd,0xbd,0x2b,0xc1,0x4,0x33,0xa4,
0x46,0x43,0xa2,0x19,0x62,0xc2,0x21,0x26,0x2,0xa2,0x4d,0x60,0x31,0xc9,0x7d,0x1b,
0xa2,0xeb,0xea,0x45,0xda,0x5a,0x3,0xa2,0xc1,0x16,0x89,0x1f,0x6c,0xad,0x60,0x6b,
0x91,0x98,0xa2,0xca,0x2e,0x3a,0xa1,0x27,0xe8,0x43,0x24,0x37,0x71,0xc7,0x8d,0x72,
0x8d,0x3b,0x1e,0xe9,0x99,0x80,0xbe,0xa0,0xcc,0x7e,0x12,0x65,0xc6,0x2,0xd4,0x1d,
0x6b,0x51,0xff,0x7c,0xbd,0x76,0xe,0xff,0xc6,0x62,0xe1,0xc1,0x3b,0x45,0x8e,0xda,
0xe0,0xdb,0x12,0x21,0xa4,0x6c,0xaf,0xc4,0xe8,0x7,0x2a,0xc0,0xe5,0x86,0x3a,0x87,
0x88,0x16,0x27,0x67,0x36,0x4c,0x61,0x90,0x3d,0x2,0xb2,0xcf,0x81,0x31,0xd9,0x52,
0x17,0x2c,0x1c,0x2f,0xa5,0x35,0x90,0xda,0x60,0xaf,0x9b,0x2c,0xb8,0x46,0x92,0xa2,
0xdd,0x61,0xc,0x43,0x99,0x7c,0xa3,0xf4,0xc9,0x2a,0x84,0x8b,0xe7,0x42,0xf5,0x21,
0x70,0x39,0x51,0xf7,0x6d,0x6,0x7a,0x30,0x83,0xcd,0xad,0x92,0xa4,0xbc,0xee,0x32,
0x11,0x1f,0x5c,0x6e,0xa9,0x9,0x56,0x56,0x4b,0x1c,0x5f,0xdf,0x20,0x71,0xbd,0xaf,
0x2e,0xe8,0x68,0x96,0x6a,0x52,0x8b,0x13,0xda,0x2,0xd2,0x70,0xe1,0x61,0x10,0x6a,
0x94,0x7c,0x41,0x54,0x64,0x67,0x7d,0xd0,0x57,0x1b,0x4c,0x19,0x26,0x92,0x94,0xa0,
0x55,0x7e,0xfd,0x85,0x72,0xef,0xd2,0xe3,0xeb,0x0,0x53,0x24,0xca,0x9c,0x67,0x3a,
0x75,0x40,0x6f,0x4,0xdc,0xb3,0x8,0xde,0x5d,0x9,0x9f,0xbd,0x9,0xd3,0x2f,0xe9,
0x6c,0x37,0xe8,0x3b,0x73,0x77,0xa7,0x9,0x82,0xe1,0xa9,0xa8,0x1a,0x57,0xf8,0xa2,
0x42,0x28,0x18,0x2b,0x95,0xda,0xd3,0x1c,0xe,0xe4,0x1c,0x22,0x34,0x1e,0xed,0xdf,
0x8,0xb7,0xf7,0xac,0x42,0x8b,0xcd,0xd7,0xd2,0xa0,0x21,0xe0,0xae,0x9b,0xe0,0x87,
0x15,0x92,0x3,0x3c,0xcd,0xe1,0x41,0xa2,0x3c,0xd4,0x92,0xcf,0xfb,0x35,0x40,0x69,
0x6e,0x4,0x40,0xdd,0xfb,0x9d,0xaf,0x69,0xeb,0x99,0x7e,0x54,0xf6,0x1d,0x0,0x75,
0xc5,0x5f,0xa0,0xe6,0x40,0xdf,0x3d,0xdd,0x2e,0xa8,0xaf,0x47,0xad,0xdd,0x87,0x5a,
0xfc,0x89,0x7f,0xbc,0x86,0x80,0xc5,0xaf,0x42,0x6c,0xbe,0x54,0x6e,0xce,0x0,0x2c,
0x1,0x76,0xd2,0xd4,0x40,0xc7,0xc2,0x4b,0x51,0xbf,0x79,0xf,0xda,0x7a,0xa8,0xeb,
0x7b,0x3a,0x60,0xd7,0x56,0xd4,0x92,0x15,0x74,0x7c,0xf0,0x90,0xaf,0x34,0xb6,0x11,
0xf8,0x40,0xa3,0x4,0xd7,0x6f,0x91,0xec,0x6d,0xf1,0x4e,0xa9,0xce,0xc,0x15,0x8e,
0xda,0xa4,0x34,0xe6,0xab,0xb,0x96,0xee,0x2,0xbb,0x3,0x96,0x3d,0xb,0xd3,0x7a,
0x2f,0xd5,0x3b,0x81,0xe9,0xc0,0x17,0x34,0xd6,0xe5,0xa8,0x4b,0xe6,0xa3,0x2e,0x99,
0xdf,0x9f,0x23,0x32,0x25,0xc0,0xd,0x80,0xa7,0xd7,0x84,0xc8,0x60,0x47,0x83,0x4f,
0xbe,0x2c,0x7e,0x46,0xa5,0x15,0xe,0x55,0x41,0x4b,0x2f,0xe7,0x90,0xca,0xf6,0xf6,
0x49,0x0,0xc8,0xc1,0xa7,0x2,0xe0,0x11,0xe4,0x90,0x54,0xa,0xcd,0xb6,0xde,0xfa,
0x1e,0x42,0xee,0x9a,0x97,0xf0,0x1e,0xbb,0xd5,0x10,0x90,0xec,0xcd,0x1,0xa4,0x26,
0x1e,0x7f,0x13,0x27,0x8a,0x9a,0x7a,0xf8,0xe3,0xcb,0xda,0x76,0x83,0x1e,0x46,0x67,
0x49,0x79,0xcc,0x57,0x1b,0x9c,0xd2,0x77,0x34,0xe8,0x43,0x33,0xf0,0x84,0x57,0xbe,
0x1,0x2e,0x4a,0x1f,0x75,0x33,0xf1,0x29,0x17,0x50,0x73,0xf8,0x2b,0x8e,0xec,0x5b,
0xd,0xb0,0x12,0x28,0xea,0x3e,0x50,0x43,0xc0,0xd2,0xa7,0xe0,0xc1,0xdf,0xc,0xee,
0xed,0x9f,0x18,0xf,0xef,0xbf,0x8,0x47,0x6a,0xa4,0x10,0x9a,0x96,0x2c,0x5,0x97,
0xe4,0x61,0x41,0xa9,0x3e,0xb9,0x0,0xc2,0xc2,0x87,0x61,0x8e,0xce,0xc4,0x56,0xbb,
0xad,0x4b,0x7b,0x77,0xe8,0x91,0xf3,0xfc,0x96,0x2f,0x37,0xc2,0xbc,0x5b,0xe4,0x5c,
0xde,0x50,0x3c,0xfb,0xb7,0x5e,0xd7,0xff,0xbe,0x2e,0x37,0xac,0xdf,0xec,0xff,0xd3,
0xde,0x47,0xd7,0x1,0x43,0x87,0x54,0x4c,0x98,0xbf,0x8,0xc6,0x4d,0x87,0x67,0x96,
0xc2,0xce,0xf2,0x9e,0xcb,0x54,0x43,0x9,0xb7,0x7,0x36,0x6f,0x87,0xc7,0x9e,0x87,
0xcc,0x4b,0xe1,0xd5,0xf7,0x0,0xf1,0xfe,0x96,0x6,0x73,0x1e,0x3d,0xf0,0x7,0xa0,
0xe,0x58,0xf4,0xe3,0xcf,0x44,0x3d,0xf6,0xbc,0x4c,0x1a,0x1d,0x5,0x93,0xc6,0xc3,
0xb8,0x1c,0xc8,0x3d,0x17,0x72,0x33,0x21,0x3d,0xf9,0xe4,0x7c,0xf6,0x9e,0xe0,0xf1,
0x48,0x5d,0x70,0xff,0x61,0x9,0xba,0x76,0xef,0x83,0xad,0x3f,0xc9,0xe1,0x89,0x6e,
0x7,0x34,0x2b,0x90,0xe3,0xf2,0x2b,0x83,0x37,0xbb,0x10,0xd0,0x1,0x3c,0xf,0xbc,
0x81,0x9c,0xcb,0xbf,0x12,0xb8,0xc4,0xd6,0x48,0xd4,0x9a,0xd,0xb0,0x66,0x43,0xd7,
0x1,0x46,0x3,0xa4,0x24,0x42,0xa2,0xb7,0x38,0x1a,0x63,0x11,0xf1,0x15,0x44,0xf5,
0x21,0x12,0xec,0xf8,0xd0,0x20,0xce,0x97,0x1c,0x95,0x6d,0x14,0x13,0xdb,0xe0,0x2d,
0x90,0x5a,0x6b,0x65,0xf3,0x7d,0x9c,0x46,0xa9,0x46,0x4e,0x81,0xae,0x46,0x36,0xde,
0x5b,0xc6,0xf7,0x84,0x11,0xa8,0x72,0x1a,0x91,0xdb,0x6b,0xa9,0xb7,0x7d,0x12,0x52,
0x68,0xcc,0x5,0x72,0x80,0x3c,0x20,0xa1,0xdd,0x5,0x7,0x2b,0x45,0x82,0x8c,0x43,
0x48,0xc5,0x76,0x17,0x50,0x86,0xe4,0xf2,0x77,0x32,0x84,0xaf,0xcc,0x4,0xc2,0x8d,
0x78,0x4a,0x1b,0xbb,0xb5,0x9b,0x90,0xc3,0xc8,0xc9,0xc0,0x30,0xaf,0x44,0xd1,0xf9,
0xd2,0x94,0x2f,0x15,0xe2,0x4b,0xa8,0xb9,0x91,0xa0,0x5,0xc4,0x54,0xd9,0x11,0xa2,
0xed,0xc8,0x63,0x57,0x8d,0xbc,0x9,0x52,0xcb,0x20,0xfc,0xba,0xfd,0xc1,0x40,0x8d,
0x4e,0x2b,0x70,0xc0,0x2b,0x67,0x5,0xce,0xf4,0x60,0xe8,0xa4,0x71,0xd6,0x12,0xe0,
0x6a,0xb3,0xe3,0x6c,0xae,0xc6,0xd5,0xde,0x63,0xfe,0xee,0xac,0x46,0x6f,0x2f,0x4f,
0x3f,0x75,0x2a,0x17,0x35,0x94,0x48,0x2,0xd6,0xd2,0xf5,0xf5,0xf9,0xd5,0xf4,0xf2,
0xfa,0xfc,0xff,0x1,0xbb,0x5b,0x2d,0xb9,0x2,0x36,0x55,0xe1,0x0,0x0,0x0,0x0,
0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
// D:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteInstructor.png // D:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteInstructor.png
0x0,0x0,0xc,0x43, 0x0,0x0,0xc,0x43,
0x89, 0x89,
@@ -3604,6 +3986,11 @@ static const unsigned char qt_resource_name[] = {
0x0,0x69, 0x0,0x69,
0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x72,0x0,0x75,0x0,0x63,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x41,0x0,0x72,0x0,0x63,0x0,0x68,0x0,0x69,0x0,0x76,0x0,0x65, 0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x72,0x0,0x75,0x0,0x63,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x41,0x0,0x72,0x0,0x63,0x0,0x68,0x0,0x69,0x0,0x76,0x0,0x65,
0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, 0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
// login-user.png
0x0,0xe,
0x2,0x5,0x62,0x7,
0x0,0x6c,
0x0,0x6f,0x0,0x67,0x0,0x69,0x0,0x6e,0x0,0x2d,0x0,0x75,0x0,0x73,0x0,0x65,0x0,0x72,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
// newGroup.png // newGroup.png
0x0,0xc, 0x0,0xc,
0x8,0x5a,0x2a,0x67, 0x8,0x5a,0x2a,0x67,
@@ -3701,6 +4088,11 @@ static const unsigned char qt_resource_name[] = {
0x0,0x32,0x7c,0x7, 0x0,0x32,0x7c,0x7,
0x0,0x69, 0x0,0x69,
0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x72,0x0,0x75,0x0,0x63,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67, 0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x72,0x0,0x75,0x0,0x63,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
// connectDB.png
0x0,0xd,
0xc,0x4f,0xc1,0xa7,
0x0,0x63,
0x0,0x6f,0x0,0x6e,0x0,0x6e,0x0,0x65,0x0,0x63,0x0,0x74,0x0,0x44,0x0,0x42,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
// deleteInstructor.png // deleteInstructor.png
0x0,0x14, 0x0,0x14,
0x0,0x80,0xf3,0x67, 0x0,0x80,0xf3,0x67,
@@ -3720,7 +4112,7 @@ static const unsigned char qt_resource_struct[] = {
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1, 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/icons // :/icons
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x15,0x0,0x0,0x0,0x5, 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x17,0x0,0x0,0x0,0x5,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/blankXML // :/blankXML
0x0,0x0,0x0,0x10,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3, 0x0,0x0,0x0,0x10,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,
@@ -3732,67 +4124,73 @@ static const unsigned char qt_resource_struct[] = {
0x0,0x0,0x0,0x26,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x26,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
0x0,0x0,0x1,0x8f,0x3c,0xd3,0xb3,0x10, 0x0,0x0,0x1,0x8f,0x3c,0xd3,0xb3,0x10,
// :/icons/archive.png // :/icons/archive.png
0x0,0x0,0x1,0xc2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x4b,0xe6, 0x0,0x0,0x1,0xe4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x56,0xad,
0x0,0x0,0x1,0x8e,0xe5,0x61,0xed,0x40, 0x0,0x0,0x1,0x8e,0xe5,0x61,0xed,0x40,
// :/icons/instructor.png // :/icons/instructor.png
0x0,0x0,0x3,0x6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xb1,0x4e, 0x0,0x0,0x3,0x28,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xbc,0x15,
0x0,0x0,0x1,0x8f,0x37,0xdf,0xf0,0x30, 0x0,0x0,0x1,0x8f,0x37,0xdf,0xf0,0x30,
// :/icons/deleteTrainee.png // :/icons/deleteTrainee.png
0x0,0x0,0x2,0x76,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x7f,0x5, 0x0,0x0,0x2,0x98,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x89,0xcc,
0x0,0x0,0x1,0x8e,0xa2,0x7c,0xe5,0x70, 0x0,0x0,0x1,0x8e,0xa2,0x7c,0xe5,0x70,
// :/icons/deleteInstructor.png // :/icons/deleteInstructor.png
0x0,0x0,0x3,0x28,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xbc,0x42, 0x0,0x0,0x3,0x6a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xd3,0xb6,
0x0,0x0,0x1,0x8f,0x4c,0x25,0x16,0x10, 0x0,0x0,0x1,0x8f,0x4c,0x25,0x16,0x10,
// :/icons/addTrainee.png // :/icons/addTrainee.png
0x0,0x0,0x1,0xa0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x41,0xf0, 0x0,0x0,0x1,0xc2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x4c,0xb7,
0x0,0x0,0x1,0x8e,0xa2,0x7c,0x31,0xc0, 0x0,0x0,0x1,0x8e,0xa2,0x7c,0x31,0xc0,
// :/icons/addInstructor.png // :/icons/addInstructor.png
0x0,0x0,0x2,0x9e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x89,0x39, 0x0,0x0,0x2,0xc0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x94,0x0,
0x0,0x0,0x1,0x8f,0x4c,0x22,0x5e,0xc0, 0x0,0x0,0x1,0x8f,0x4c,0x22,0x5e,0xc0,
// :/icons/DB-instructors.png // :/icons/DB-instructors.png
0x0,0x0,0x2,0xc6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x95,0x3a, 0x0,0x0,0x2,0xe8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xa0,0x1,
0x0,0x0,0x1,0x8f,0x71,0x7a,0x10,0x0, 0x0,0x0,0x1,0x8f,0x71,0x7a,0x10,0x0,
// :/icons/login-user.png
0x0,0x0,0x0,0xa4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xd,0x19,
0x0,0x0,0x1,0x91,0x92,0xb9,0xf4,0x90,
// :/icons/DB-trainees.png // :/icons/DB-trainees.png
0x0,0x0,0x3,0x56,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xc8,0x89, 0x0,0x0,0x3,0x98,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xdf,0xfd,
0x0,0x0,0x1,0x8f,0x71,0x78,0xa0,0xd0, 0x0,0x0,0x1,0x8f,0x71,0x78,0xa0,0xd0,
// :/icons/deleteGroup.png // :/icons/deleteGroup.png
0x0,0x0,0x0,0xf4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x24,0x58, 0x0,0x0,0x1,0x16,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x2f,0x1f,
0x0,0x0,0x1,0x8e,0xa2,0x78,0x3a,0x20, 0x0,0x0,0x1,0x8e,0xa2,0x78,0x3a,0x20,
// :/icons/admin.png // :/icons/admin.png
0x0,0x0,0x1,0x42,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3a,0xb9, 0x0,0x0,0x1,0x64,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x45,0x80,
0x0,0x0,0x1,0x8f,0x57,0x70,0x81,0x30, 0x0,0x0,0x1,0x8f,0x57,0x70,0x81,0x30,
// :/icons/trainee.png // :/icons/trainee.png
0x0,0x0,0x2,0x2e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x69,0x5a, 0x0,0x0,0x2,0x50,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x74,0x21,
0x0,0x0,0x1,0x8e,0x8a,0x13,0x52,0xd0, 0x0,0x0,0x1,0x8e,0x8a,0x13,0x52,0xd0,
// :/icons/instructorFromArchive.png // :/icons/instructorFromArchive.png
0x0,0x0,0x1,0xf6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x5c,0xf4, 0x0,0x0,0x2,0x18,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x67,0xbb,
0x0,0x0,0x1,0x8f,0x7b,0x72,0x10,0x80, 0x0,0x0,0x1,0x8f,0x7b,0x72,0x10,0x80,
// :/icons/group.png // :/icons/group.png
0x0,0x0,0x1,0xde,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x51,0xc2, 0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x5c,0x89,
0x0,0x0,0x1,0x8e,0x8a,0x11,0x5e,0xd0, 0x0,0x0,0x1,0x8e,0x8a,0x11,0x5e,0xd0,
// :/icons/instructorArchive.png // :/icons/instructorArchive.png
0x0,0x0,0x0,0x74,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xa2, 0x0,0x0,0x0,0x74,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xa2,
0x0,0x0,0x1,0x8f,0x70,0x2c,0x14,0x0, 0x0,0x0,0x1,0x8f,0x70,0x2c,0x14,0x0,
// :/icons/instructorAdmin.png // :/icons/instructorAdmin.png
0x0,0x0,0x2,0x4a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x72,0x3a, 0x0,0x0,0x2,0x6c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x7d,0x1,
0x0,0x0,0x1,0x8f,0x57,0x71,0xc1,0x80, 0x0,0x0,0x1,0x8f,0x57,0x71,0xc1,0x80,
// :/icons/newGroup.png // :/icons/newGroup.png
0x0,0x0,0x0,0xa4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xd,0x19, 0x0,0x0,0x0,0xc6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x17,0xe0,
0x0,0x0,0x1,0x8e,0xa2,0x7a,0x9b,0x80, 0x0,0x0,0x1,0x8e,0xa2,0x7a,0x9b,0x80,
// :/icons/traineeArchive.png // :/icons/traineeArchive.png
0x0,0x0,0x1,0x18,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x30,0x71, 0x0,0x0,0x1,0x3a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3b,0x38,
0x0,0x0,0x1,0x8e,0xe6,0x68,0x78,0x30, 0x0,0x0,0x1,0x8e,0xe6,0x68,0x78,0x30,
// :/icons/circleGray.png // :/icons/circleGray.png
0x0,0x0,0x1,0x5a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3d,0x50, 0x0,0x0,0x1,0x7c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x48,0x17,
0x0,0x0,0x1,0x8f,0x9,0x68,0x18,0x40, 0x0,0x0,0x1,0x8f,0x9,0x68,0x18,0x40,
// :/icons/circleGreen.png // :/icons/circleGreen.png
0x0,0x0,0x1,0x7c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x3e,0xdc, 0x0,0x0,0x1,0x9e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x49,0xa3,
0x0,0x0,0x1,0x8f,0x9,0x69,0xb6,0x50, 0x0,0x0,0x1,0x8f,0x9,0x69,0xb6,0x50,
// :/icons/edit.png // :/icons/edit.png
0x0,0x0,0x2,0xf0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xa6,0x69, 0x0,0x0,0x3,0x12,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xb1,0x30,
0x0,0x0,0x1,0x8e,0x99,0xb2,0x8f,0x80, 0x0,0x0,0x1,0x8e,0x99,0xb2,0x8f,0x80,
// :/icons/connectDB.png
0x0,0x0,0x3,0x4a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xc7,0x9,
0x0,0x0,0x1,0x93,0x3f,0x60,0x70,0xee,
// :/icons/traineeFromArchive.png // :/icons/traineeFromArchive.png
0x0,0x0,0x0,0xc2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1a,0x2, 0x0,0x0,0x0,0xe4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x24,0xc9,
0x0,0x0,0x1,0x8f,0x7b,0x8d,0xdd,0xb0, 0x0,0x0,0x1,0x8f,0x7b,0x8d,0xdd,0xb0,
}; };

View File

@@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_InstructorsView_t { struct qt_meta_stringdata_InstructorsView_t {
QByteArrayData data[1]; QByteArrayData data[5];
char stringdata0[16]; char stringdata0[62];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -32,10 +32,15 @@ struct qt_meta_stringdata_InstructorsView_t {
) )
static const qt_meta_stringdata_InstructorsView_t qt_meta_stringdata_InstructorsView = { static const qt_meta_stringdata_InstructorsView_t qt_meta_stringdata_InstructorsView = {
{ {
QT_MOC_LITERAL(0, 0, 15) // "InstructorsView" QT_MOC_LITERAL(0, 0, 15), // "InstructorsView"
QT_MOC_LITERAL(1, 16, 17), // "slot_NeedUpdateUI"
QT_MOC_LITERAL(2, 34, 0), // ""
QT_MOC_LITERAL(3, 35, 14), // "treeInstructor"
QT_MOC_LITERAL(4, 50, 11) // "treeTrainee"
}, },
"InstructorsView" "InstructorsView\0slot_NeedUpdateUI\0\0"
"treeInstructor\0treeTrainee"
}; };
#undef QT_MOC_LITERAL #undef QT_MOC_LITERAL
@@ -45,22 +50,32 @@ static const uint qt_meta_data_InstructorsView[] = {
8, // revision 8, // revision
0, // classname 0, // classname
0, 0, // classinfo 0, 0, // classinfo
0, 0, // methods 1, 14, // methods
0, 0, // properties 0, 0, // properties
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
0, // flags 0, // flags
0, // signalCount 0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 2, 19, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::Bool, QMetaType::Bool, 3, 4,
0 // eod 0 // eod
}; };
void InstructorsView::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) void InstructorsView::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{ {
Q_UNUSED(_o); if (_c == QMetaObject::InvokeMetaMethod) {
Q_UNUSED(_id); auto *_t = static_cast<InstructorsView *>(_o);
Q_UNUSED(_c); Q_UNUSED(_t)
Q_UNUSED(_a); switch (_id) {
case 0: _t->slot_NeedUpdateUI((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break;
default: ;
}
}
} }
QT_INIT_METAOBJECT const QMetaObject InstructorsView::staticMetaObject = { { QT_INIT_METAOBJECT const QMetaObject InstructorsView::staticMetaObject = { {
@@ -89,6 +104,17 @@ void *InstructorsView::qt_metacast(const char *_clname)
int InstructorsView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) int InstructorsView::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{ {
_id = CommonView::qt_metacall(_c, _id, _a); _id = CommonView::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id; return _id;
} }
QT_WARNING_POP QT_WARNING_POP

View File

@@ -23,7 +23,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ViewerInstructors_t { struct qt_meta_stringdata_ViewerInstructors_t {
QByteArrayData data[5]; QByteArrayData data[5];
char stringdata0[81]; char stringdata0[82];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -33,14 +33,14 @@ struct qt_meta_stringdata_ViewerInstructors_t {
static const qt_meta_stringdata_ViewerInstructors_t qt_meta_stringdata_ViewerInstructors = { static const qt_meta_stringdata_ViewerInstructors_t qt_meta_stringdata_ViewerInstructors = {
{ {
QT_MOC_LITERAL(0, 0, 17), // "ViewerInstructors" QT_MOC_LITERAL(0, 0, 17), // "ViewerInstructors"
QT_MOC_LITERAL(1, 18, 20), // "slot_LanguageChanged" QT_MOC_LITERAL(1, 18, 24), // "signal_BlockAutorization"
QT_MOC_LITERAL(2, 39, 0), // "" QT_MOC_LITERAL(2, 43, 0), // ""
QT_MOC_LITERAL(3, 40, 8), // "language" QT_MOC_LITERAL(3, 44, 5), // "block"
QT_MOC_LITERAL(4, 49, 31) // "on_btnEditorInstructors_clicked" QT_MOC_LITERAL(4, 50, 31) // "on_btnEditorInstructors_clicked"
}, },
"ViewerInstructors\0slot_LanguageChanged\0" "ViewerInstructors\0signal_BlockAutorization\0"
"\0language\0on_btnEditorInstructors_clicked" "\0block\0on_btnEditorInstructors_clicked"
}; };
#undef QT_MOC_LITERAL #undef QT_MOC_LITERAL
@@ -55,14 +55,18 @@ static const uint qt_meta_data_ViewerInstructors[] = {
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
0, // flags 0, // flags
0, // signalCount 1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 24, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags // slots: name, argc, parameters, tag, flags
1, 1, 24, 2, 0x0a /* Public */,
4, 0, 27, 2, 0x08 /* Private */, 4, 0, 27, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::Bool, 3,
// slots: parameters // slots: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void, QMetaType::Void,
0 // eod 0 // eod
@@ -74,10 +78,19 @@ void ViewerInstructors::qt_static_metacall(QObject *_o, QMetaObject::Call _c, in
auto *_t = static_cast<ViewerInstructors *>(_o); auto *_t = static_cast<ViewerInstructors *>(_o);
Q_UNUSED(_t) Q_UNUSED(_t)
switch (_id) { switch (_id) {
case 0: _t->slot_LanguageChanged((*reinterpret_cast< QString(*)>(_a[1]))); break; case 0: _t->signal_BlockAutorization((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 1: _t->on_btnEditorInstructors_clicked(); break; case 1: _t->on_btnEditorInstructors_clicked(); break;
default: ; default: ;
} }
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (ViewerInstructors::*)(bool );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ViewerInstructors::signal_BlockAutorization)) {
*result = 0;
return;
}
}
} }
} }
@@ -120,5 +133,12 @@ int ViewerInstructors::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
} }
return _id; return _id;
} }
// SIGNAL 0
void ViewerInstructors::signal_BlockAutorization(bool _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
QT_WARNING_POP QT_WARNING_POP
QT_END_MOC_NAMESPACE QT_END_MOC_NAMESPACE

View File

@@ -42,6 +42,7 @@ public:
DialogAuthorizationInstructor->resize(300, 140); DialogAuthorizationInstructor->resize(300, 140);
QFont font; QFont font;
font.setFamily(QString::fromUtf8("Tahoma")); font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
DialogAuthorizationInstructor->setFont(font); DialogAuthorizationInstructor->setFont(font);
gridLayout = new QGridLayout(DialogAuthorizationInstructor); gridLayout = new QGridLayout(DialogAuthorizationInstructor);
gridLayout->setObjectName(QString::fromUtf8("gridLayout")); gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
@@ -51,11 +52,15 @@ public:
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
label = new QLabel(DialogAuthorizationInstructor); label = new QLabel(DialogAuthorizationInstructor);
label->setObjectName(QString::fromUtf8("label")); label->setObjectName(QString::fromUtf8("label"));
QFont font1;
font1.setPointSize(10);
label->setFont(font1);
horizontalLayout->addWidget(label); horizontalLayout->addWidget(label);
editLogin = new QLineEdit(DialogAuthorizationInstructor); editLogin = new QLineEdit(DialogAuthorizationInstructor);
editLogin->setObjectName(QString::fromUtf8("editLogin")); editLogin->setObjectName(QString::fromUtf8("editLogin"));
editLogin->setFont(font1);
horizontalLayout->addWidget(editLogin); horizontalLayout->addWidget(editLogin);
@@ -66,11 +71,13 @@ public:
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
label_2 = new QLabel(DialogAuthorizationInstructor); label_2 = new QLabel(DialogAuthorizationInstructor);
label_2->setObjectName(QString::fromUtf8("label_2")); label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setFont(font1);
horizontalLayout_2->addWidget(label_2); horizontalLayout_2->addWidget(label_2);
editPassword = new QLineEdit(DialogAuthorizationInstructor); editPassword = new QLineEdit(DialogAuthorizationInstructor);
editPassword->setObjectName(QString::fromUtf8("editPassword")); editPassword->setObjectName(QString::fromUtf8("editPassword"));
editPassword->setFont(font1);
horizontalLayout_2->addWidget(editPassword); horizontalLayout_2->addWidget(editPassword);
@@ -79,6 +86,7 @@ public:
buttonBox = new QDialogButtonBox(DialogAuthorizationInstructor); buttonBox = new QDialogButtonBox(DialogAuthorizationInstructor);
buttonBox->setObjectName(QString::fromUtf8("buttonBox")); buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setFont(font1);
buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates)); buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates));
buttonBox->setOrientation(Qt::Horizontal); buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);

View File

@@ -39,6 +39,7 @@ public:
DialogEditGroup->resize(300, 96); DialogEditGroup->resize(300, 96);
QFont font; QFont font;
font.setFamily(QString::fromUtf8("Tahoma")); font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
DialogEditGroup->setFont(font); DialogEditGroup->setFont(font);
QIcon icon; QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/group.png"), QSize(), QIcon::Normal, QIcon::Off); icon.addFile(QString::fromUtf8(":/icons/group.png"), QSize(), QIcon::Normal, QIcon::Off);
@@ -51,11 +52,15 @@ public:
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
label_2 = new QLabel(DialogEditGroup); label_2 = new QLabel(DialogEditGroup);
label_2->setObjectName(QString::fromUtf8("label_2")); label_2->setObjectName(QString::fromUtf8("label_2"));
QFont font1;
font1.setPointSize(10);
label_2->setFont(font1);
horizontalLayout->addWidget(label_2); horizontalLayout->addWidget(label_2);
editName = new QLineEdit(DialogEditGroup); editName = new QLineEdit(DialogEditGroup);
editName->setObjectName(QString::fromUtf8("editName")); editName->setObjectName(QString::fromUtf8("editName"));
editName->setFont(font1);
horizontalLayout->addWidget(editName); horizontalLayout->addWidget(editName);
@@ -67,6 +72,7 @@ public:
buttonBox = new QDialogButtonBox(DialogEditGroup); buttonBox = new QDialogButtonBox(DialogEditGroup);
buttonBox->setObjectName(QString::fromUtf8("buttonBox")); buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setFont(font1);
buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates)); buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates));
buttonBox->setOrientation(Qt::Horizontal); buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);

View File

@@ -53,6 +53,7 @@ public:
DialogEditInstructor->resize(300, 286); DialogEditInstructor->resize(300, 286);
QFont font; QFont font;
font.setFamily(QString::fromUtf8("Tahoma")); font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
DialogEditInstructor->setFont(font); DialogEditInstructor->setFont(font);
gridLayout = new QGridLayout(DialogEditInstructor); gridLayout = new QGridLayout(DialogEditInstructor);
gridLayout->setObjectName(QString::fromUtf8("gridLayout")); gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
@@ -62,6 +63,9 @@ public:
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
label_2 = new QLabel(DialogEditInstructor); label_2 = new QLabel(DialogEditInstructor);
label_2->setObjectName(QString::fromUtf8("label_2")); label_2->setObjectName(QString::fromUtf8("label_2"));
QFont font1;
font1.setPointSize(10);
label_2->setFont(font1);
horizontalLayout->addWidget(label_2); horizontalLayout->addWidget(label_2);
@@ -78,6 +82,7 @@ public:
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
label_3 = new QLabel(DialogEditInstructor); label_3 = new QLabel(DialogEditInstructor);
label_3->setObjectName(QString::fromUtf8("label_3")); label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setFont(font1);
horizontalLayout_2->addWidget(label_3); horizontalLayout_2->addWidget(label_3);
@@ -93,6 +98,7 @@ public:
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3")); horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
label_4 = new QLabel(DialogEditInstructor); label_4 = new QLabel(DialogEditInstructor);
label_4->setObjectName(QString::fromUtf8("label_4")); label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setFont(font1);
horizontalLayout_3->addWidget(label_4); horizontalLayout_3->addWidget(label_4);
@@ -109,6 +115,7 @@ public:
checkIsAdmin = new QCheckBox(DialogEditInstructor); checkIsAdmin = new QCheckBox(DialogEditInstructor);
checkIsAdmin->setObjectName(QString::fromUtf8("checkIsAdmin")); checkIsAdmin->setObjectName(QString::fromUtf8("checkIsAdmin"));
checkIsAdmin->setEnabled(false); checkIsAdmin->setEnabled(false);
checkIsAdmin->setFont(font1);
QIcon icon; QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/admin.png"), QSize(), QIcon::Normal, QIcon::Off); icon.addFile(QString::fromUtf8(":/icons/admin.png"), QSize(), QIcon::Normal, QIcon::Off);
icon.addFile(QString::fromUtf8(":/icons/admin.png"), QSize(), QIcon::Disabled, QIcon::Off); icon.addFile(QString::fromUtf8(":/icons/admin.png"), QSize(), QIcon::Disabled, QIcon::Off);
@@ -125,6 +132,7 @@ public:
checkArchived = new QCheckBox(DialogEditInstructor); checkArchived = new QCheckBox(DialogEditInstructor);
checkArchived->setObjectName(QString::fromUtf8("checkArchived")); checkArchived->setObjectName(QString::fromUtf8("checkArchived"));
checkArchived->setEnabled(false); checkArchived->setEnabled(false);
checkArchived->setFont(font1);
QIcon icon1; QIcon icon1;
icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off); icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off);
icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Disabled, QIcon::Off); icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Disabled, QIcon::Off);
@@ -141,6 +149,7 @@ public:
checkLoggedIn = new QCheckBox(DialogEditInstructor); checkLoggedIn = new QCheckBox(DialogEditInstructor);
checkLoggedIn->setObjectName(QString::fromUtf8("checkLoggedIn")); checkLoggedIn->setObjectName(QString::fromUtf8("checkLoggedIn"));
checkLoggedIn->setEnabled(false); checkLoggedIn->setEnabled(false);
checkLoggedIn->setFont(font1);
QIcon icon2; QIcon icon2;
icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Normal, QIcon::Off); icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Normal, QIcon::Off);
icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Disabled, QIcon::Off); icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Disabled, QIcon::Off);
@@ -157,6 +166,7 @@ public:
buttonBox = new QDialogButtonBox(DialogEditInstructor); buttonBox = new QDialogButtonBox(DialogEditInstructor);
buttonBox->setObjectName(QString::fromUtf8("buttonBox")); buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setFont(font1);
buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates)); buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates));
buttonBox->setOrientation(Qt::Horizontal); buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);

View File

@@ -51,6 +51,7 @@ public:
DialogEditTrainee->resize(300, 252); DialogEditTrainee->resize(300, 252);
QFont font; QFont font;
font.setFamily(QString::fromUtf8("Tahoma")); font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
DialogEditTrainee->setFont(font); DialogEditTrainee->setFont(font);
QIcon icon; QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/trainee.png"), QSize(), QIcon::Normal, QIcon::Off); icon.addFile(QString::fromUtf8(":/icons/trainee.png"), QSize(), QIcon::Normal, QIcon::Off);
@@ -59,6 +60,9 @@ public:
gridLayout->setObjectName(QString::fromUtf8("gridLayout")); gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
buttonBox = new QDialogButtonBox(DialogEditTrainee); buttonBox = new QDialogButtonBox(DialogEditTrainee);
buttonBox->setObjectName(QString::fromUtf8("buttonBox")); buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
QFont font1;
font1.setPointSize(10);
buttonBox->setFont(font1);
buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates)); buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates));
buttonBox->setOrientation(Qt::Horizontal); buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
@@ -71,11 +75,13 @@ public:
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
label_2 = new QLabel(DialogEditTrainee); label_2 = new QLabel(DialogEditTrainee);
label_2->setObjectName(QString::fromUtf8("label_2")); label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setFont(font1);
horizontalLayout->addWidget(label_2); horizontalLayout->addWidget(label_2);
editName = new QLineEdit(DialogEditTrainee); editName = new QLineEdit(DialogEditTrainee);
editName->setObjectName(QString::fromUtf8("editName")); editName->setObjectName(QString::fromUtf8("editName"));
editName->setFont(font1);
horizontalLayout->addWidget(editName); horizontalLayout->addWidget(editName);
@@ -86,11 +92,13 @@ public:
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
label_3 = new QLabel(DialogEditTrainee); label_3 = new QLabel(DialogEditTrainee);
label_3->setObjectName(QString::fromUtf8("label_3")); label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setFont(font1);
horizontalLayout_2->addWidget(label_3); horizontalLayout_2->addWidget(label_3);
editLogin = new QLineEdit(DialogEditTrainee); editLogin = new QLineEdit(DialogEditTrainee);
editLogin->setObjectName(QString::fromUtf8("editLogin")); editLogin->setObjectName(QString::fromUtf8("editLogin"));
editLogin->setFont(font1);
horizontalLayout_2->addWidget(editLogin); horizontalLayout_2->addWidget(editLogin);
@@ -101,11 +109,13 @@ public:
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3")); horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
label_4 = new QLabel(DialogEditTrainee); label_4 = new QLabel(DialogEditTrainee);
label_4->setObjectName(QString::fromUtf8("label_4")); label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setFont(font1);
horizontalLayout_3->addWidget(label_4); horizontalLayout_3->addWidget(label_4);
editPassword = new QLineEdit(DialogEditTrainee); editPassword = new QLineEdit(DialogEditTrainee);
editPassword->setObjectName(QString::fromUtf8("editPassword")); editPassword->setObjectName(QString::fromUtf8("editPassword"));
editPassword->setFont(font1);
horizontalLayout_3->addWidget(editPassword); horizontalLayout_3->addWidget(editPassword);
@@ -117,6 +127,7 @@ public:
checkArchived = new QCheckBox(DialogEditTrainee); checkArchived = new QCheckBox(DialogEditTrainee);
checkArchived->setObjectName(QString::fromUtf8("checkArchived")); checkArchived->setObjectName(QString::fromUtf8("checkArchived"));
checkArchived->setEnabled(false); checkArchived->setEnabled(false);
checkArchived->setFont(font1);
QIcon icon1; QIcon icon1;
icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off); icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off);
icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Disabled, QIcon::Off); icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Disabled, QIcon::Off);
@@ -133,6 +144,7 @@ public:
checkLoggedIn = new QCheckBox(DialogEditTrainee); checkLoggedIn = new QCheckBox(DialogEditTrainee);
checkLoggedIn->setObjectName(QString::fromUtf8("checkLoggedIn")); checkLoggedIn->setObjectName(QString::fromUtf8("checkLoggedIn"));
checkLoggedIn->setEnabled(false); checkLoggedIn->setEnabled(false);
checkLoggedIn->setFont(font1);
QIcon icon2; QIcon icon2;
icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Normal, QIcon::Off); icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Normal, QIcon::Off);
icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Disabled, QIcon::Off); icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Disabled, QIcon::Off);

View File

@@ -15,10 +15,8 @@
#include <QtWidgets/QDialog> #include <QtWidgets/QDialog>
#include <QtWidgets/QGridLayout> #include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout> #include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QSpacerItem> #include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton> #include <QtWidgets/QToolButton>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QVBoxLayout> #include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget> #include <QtWidgets/QWidget>
@@ -32,7 +30,6 @@ public:
QGridLayout *gridLayout; QGridLayout *gridLayout;
QHBoxLayout *horizontalLayout_1; QHBoxLayout *horizontalLayout_1;
QVBoxLayout *verticalLayout_1; QVBoxLayout *verticalLayout_1;
QTreeWidget *treeWidget;
QWidget *widget_2; QWidget *widget_2;
QGridLayout *gridLayout_3; QGridLayout *gridLayout_3;
QVBoxLayout *verticalLayout_2; QVBoxLayout *verticalLayout_2;
@@ -48,12 +45,14 @@ public:
if (EditorInstructors->objectName().isEmpty()) if (EditorInstructors->objectName().isEmpty())
EditorInstructors->setObjectName(QString::fromUtf8("EditorInstructors")); EditorInstructors->setObjectName(QString::fromUtf8("EditorInstructors"));
EditorInstructors->resize(1300, 800); EditorInstructors->resize(1300, 800);
QFont font;
font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
EditorInstructors->setFont(font);
gridLayout_2 = new QGridLayout(EditorInstructors); gridLayout_2 = new QGridLayout(EditorInstructors);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
widget = new QWidget(EditorInstructors); widget = new QWidget(EditorInstructors);
widget->setObjectName(QString::fromUtf8("widget")); widget->setObjectName(QString::fromUtf8("widget"));
QFont font;
font.setPointSize(12);
widget->setFont(font); widget->setFont(font);
widget->setStyleSheet(QString::fromUtf8("background-color: rgb(240, 240, 240);")); widget->setStyleSheet(QString::fromUtf8("background-color: rgb(240, 240, 240);"));
gridLayout = new QGridLayout(widget); gridLayout = new QGridLayout(widget);
@@ -62,20 +61,6 @@ public:
horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1")); horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1"));
verticalLayout_1 = new QVBoxLayout(); verticalLayout_1 = new QVBoxLayout();
verticalLayout_1->setObjectName(QString::fromUtf8("verticalLayout_1")); verticalLayout_1->setObjectName(QString::fromUtf8("verticalLayout_1"));
treeWidget = new QTreeWidget(widget);
QTreeWidgetItem *__qtreewidgetitem = new QTreeWidgetItem();
__qtreewidgetitem->setText(0, QString::fromUtf8("1"));
treeWidget->setHeaderItem(__qtreewidgetitem);
treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
QFont font1;
font1.setFamily(QString::fromUtf8("Tahoma"));
font1.setPointSize(10);
treeWidget->setFont(font1);
treeWidget->setIconSize(QSize(20, 20));
treeWidget->setColumnCount(1);
verticalLayout_1->addWidget(treeWidget);
horizontalLayout_1->addLayout(verticalLayout_1); horizontalLayout_1->addLayout(verticalLayout_1);
@@ -87,9 +72,7 @@ public:
sizePolicy.setHeightForWidth(widget_2->sizePolicy().hasHeightForWidth()); sizePolicy.setHeightForWidth(widget_2->sizePolicy().hasHeightForWidth());
widget_2->setSizePolicy(sizePolicy); widget_2->setSizePolicy(sizePolicy);
widget_2->setMinimumSize(QSize(127, 0)); widget_2->setMinimumSize(QSize(127, 0));
QFont font2; widget_2->setFont(font);
font2.setFamily(QString::fromUtf8("Tahoma"));
widget_2->setFont(font2);
widget_2->setStyleSheet(QString::fromUtf8("background-color: rgb(180, 180, 180);")); widget_2->setStyleSheet(QString::fromUtf8("background-color: rgb(180, 180, 180);"));
gridLayout_3 = new QGridLayout(widget_2); gridLayout_3 = new QGridLayout(widget_2);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3")); gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
@@ -103,7 +86,7 @@ public:
sizePolicy1.setHeightForWidth(btnNewInstructor->sizePolicy().hasHeightForWidth()); sizePolicy1.setHeightForWidth(btnNewInstructor->sizePolicy().hasHeightForWidth());
btnNewInstructor->setSizePolicy(sizePolicy1); btnNewInstructor->setSizePolicy(sizePolicy1);
btnNewInstructor->setMinimumSize(QSize(160, 55)); btnNewInstructor->setMinimumSize(QSize(160, 55));
btnNewInstructor->setFont(font1); btnNewInstructor->setFont(font);
QIcon icon; QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/addInstructor.png"), QSize(), QIcon::Normal, QIcon::Off); icon.addFile(QString::fromUtf8(":/icons/addInstructor.png"), QSize(), QIcon::Normal, QIcon::Off);
btnNewInstructor->setIcon(icon); btnNewInstructor->setIcon(icon);
@@ -117,7 +100,7 @@ public:
sizePolicy1.setHeightForWidth(btnDeleteInstructor->sizePolicy().hasHeightForWidth()); sizePolicy1.setHeightForWidth(btnDeleteInstructor->sizePolicy().hasHeightForWidth());
btnDeleteInstructor->setSizePolicy(sizePolicy1); btnDeleteInstructor->setSizePolicy(sizePolicy1);
btnDeleteInstructor->setMinimumSize(QSize(160, 55)); btnDeleteInstructor->setMinimumSize(QSize(160, 55));
btnDeleteInstructor->setFont(font1); btnDeleteInstructor->setFont(font);
QIcon icon1; QIcon icon1;
icon1.addFile(QString::fromUtf8(":/icons/deleteInstructor.png"), QSize(), QIcon::Normal, QIcon::Off); icon1.addFile(QString::fromUtf8(":/icons/deleteInstructor.png"), QSize(), QIcon::Normal, QIcon::Off);
btnDeleteInstructor->setIcon(icon1); btnDeleteInstructor->setIcon(icon1);
@@ -129,7 +112,7 @@ public:
btnToOrFromArchive = new QToolButton(widget_2); btnToOrFromArchive = new QToolButton(widget_2);
btnToOrFromArchive->setObjectName(QString::fromUtf8("btnToOrFromArchive")); btnToOrFromArchive->setObjectName(QString::fromUtf8("btnToOrFromArchive"));
btnToOrFromArchive->setMinimumSize(QSize(160, 55)); btnToOrFromArchive->setMinimumSize(QSize(160, 55));
btnToOrFromArchive->setFont(font1); btnToOrFromArchive->setFont(font);
QIcon icon2; QIcon icon2;
icon2.addFile(QString::fromUtf8(":/icons/instructorArchive.png"), QSize(), QIcon::Normal, QIcon::Off); icon2.addFile(QString::fromUtf8(":/icons/instructorArchive.png"), QSize(), QIcon::Normal, QIcon::Off);
btnToOrFromArchive->setIcon(icon2); btnToOrFromArchive->setIcon(icon2);
@@ -143,7 +126,7 @@ public:
sizePolicy1.setHeightForWidth(btnEdit->sizePolicy().hasHeightForWidth()); sizePolicy1.setHeightForWidth(btnEdit->sizePolicy().hasHeightForWidth());
btnEdit->setSizePolicy(sizePolicy1); btnEdit->setSizePolicy(sizePolicy1);
btnEdit->setMinimumSize(QSize(160, 55)); btnEdit->setMinimumSize(QSize(160, 55));
btnEdit->setFont(font1); btnEdit->setFont(font);
QIcon icon3; QIcon icon3;
icon3.addFile(QString::fromUtf8(":/icons/edit.png"), QSize(), QIcon::Normal, QIcon::Off); icon3.addFile(QString::fromUtf8(":/icons/edit.png"), QSize(), QIcon::Normal, QIcon::Off);
btnEdit->setIcon(icon3); btnEdit->setIcon(icon3);
@@ -161,7 +144,7 @@ public:
sizePolicy1.setHeightForWidth(btnArchive->sizePolicy().hasHeightForWidth()); sizePolicy1.setHeightForWidth(btnArchive->sizePolicy().hasHeightForWidth());
btnArchive->setSizePolicy(sizePolicy1); btnArchive->setSizePolicy(sizePolicy1);
btnArchive->setMinimumSize(QSize(160, 55)); btnArchive->setMinimumSize(QSize(160, 55));
btnArchive->setFont(font1); btnArchive->setFont(font);
QIcon icon4; QIcon icon4;
icon4.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off); icon4.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off);
btnArchive->setIcon(icon4); btnArchive->setIcon(icon4);

View File

@@ -15,10 +15,8 @@
#include <QtWidgets/QDialog> #include <QtWidgets/QDialog>
#include <QtWidgets/QGridLayout> #include <QtWidgets/QGridLayout>
#include <QtWidgets/QHBoxLayout> #include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QSpacerItem> #include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton> #include <QtWidgets/QToolButton>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QVBoxLayout> #include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget> #include <QtWidgets/QWidget>
@@ -32,7 +30,6 @@ public:
QGridLayout *gridLayout; QGridLayout *gridLayout;
QHBoxLayout *horizontalLayout_1; QHBoxLayout *horizontalLayout_1;
QVBoxLayout *verticalLayout_1; QVBoxLayout *verticalLayout_1;
QTreeWidget *treeWidget;
QWidget *widget_2; QWidget *widget_2;
QGridLayout *gridLayout_3; QGridLayout *gridLayout_3;
QVBoxLayout *verticalLayout_2; QVBoxLayout *verticalLayout_2;
@@ -58,9 +55,7 @@ public:
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
widget = new QWidget(EditorTrainees); widget = new QWidget(EditorTrainees);
widget->setObjectName(QString::fromUtf8("widget")); widget->setObjectName(QString::fromUtf8("widget"));
QFont font1; widget->setFont(font);
font1.setPointSize(12);
widget->setFont(font1);
widget->setStyleSheet(QString::fromUtf8("background-color: rgb(240, 240, 240);")); widget->setStyleSheet(QString::fromUtf8("background-color: rgb(240, 240, 240);"));
gridLayout = new QGridLayout(widget); gridLayout = new QGridLayout(widget);
gridLayout->setObjectName(QString::fromUtf8("gridLayout")); gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
@@ -68,17 +63,6 @@ public:
horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1")); horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1"));
verticalLayout_1 = new QVBoxLayout(); verticalLayout_1 = new QVBoxLayout();
verticalLayout_1->setObjectName(QString::fromUtf8("verticalLayout_1")); verticalLayout_1->setObjectName(QString::fromUtf8("verticalLayout_1"));
treeWidget = new QTreeWidget(widget);
QTreeWidgetItem *__qtreewidgetitem = new QTreeWidgetItem();
__qtreewidgetitem->setText(0, QString::fromUtf8("1"));
treeWidget->setHeaderItem(__qtreewidgetitem);
treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
treeWidget->setFont(font);
treeWidget->setIconSize(QSize(20, 20));
treeWidget->setColumnCount(1);
verticalLayout_1->addWidget(treeWidget);
horizontalLayout_1->addLayout(verticalLayout_1); horizontalLayout_1->addLayout(verticalLayout_1);
@@ -90,9 +74,7 @@ public:
sizePolicy.setHeightForWidth(widget_2->sizePolicy().hasHeightForWidth()); sizePolicy.setHeightForWidth(widget_2->sizePolicy().hasHeightForWidth());
widget_2->setSizePolicy(sizePolicy); widget_2->setSizePolicy(sizePolicy);
widget_2->setMinimumSize(QSize(130, 0)); widget_2->setMinimumSize(QSize(130, 0));
QFont font2; widget_2->setFont(font);
font2.setFamily(QString::fromUtf8("Tahoma"));
widget_2->setFont(font2);
widget_2->setStyleSheet(QString::fromUtf8("background-color: rgb(180, 180, 180);")); widget_2->setStyleSheet(QString::fromUtf8("background-color: rgb(180, 180, 180);"));
gridLayout_3 = new QGridLayout(widget_2); gridLayout_3 = new QGridLayout(widget_2);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3")); gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));

View File

@@ -10,10 +10,14 @@
#define UI_INSTRUCTORSANDTRAINEESWIDGET_H #define UI_INSTRUCTORSANDTRAINEESWIDGET_H
#include <QtCore/QVariant> #include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication> #include <QtWidgets/QApplication>
#include <QtWidgets/QGridLayout> #include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox> #include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout> #include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton>
#include <QtWidgets/QVBoxLayout> #include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget> #include <QtWidgets/QWidget>
@@ -27,27 +31,84 @@ public:
QGroupBox *groupBox; QGroupBox *groupBox;
QGridLayout *gridLayout_2; QGridLayout *gridLayout_2;
QVBoxLayout *verticalLayout; QVBoxLayout *verticalLayout;
QVBoxLayout *verticalLayout_2;
QHBoxLayout *horizontalLayout_2;
QToolButton *btnConnectionToDB;
QToolButton *btnAuthorizationInstructor;
QSpacerItem *horizontalSpacer;
QLabel *label;
QLabel *lblLoggedInInstructor;
void setupUi(QWidget *InstructorsAndTraineesWidget) void setupUi(QWidget *InstructorsAndTraineesWidget)
{ {
if (InstructorsAndTraineesWidget->objectName().isEmpty()) if (InstructorsAndTraineesWidget->objectName().isEmpty())
InstructorsAndTraineesWidget->setObjectName(QString::fromUtf8("InstructorsAndTraineesWidget")); InstructorsAndTraineesWidget->setObjectName(QString::fromUtf8("InstructorsAndTraineesWidget"));
InstructorsAndTraineesWidget->resize(400, 300); InstructorsAndTraineesWidget->resize(1000, 800);
QFont font;
font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
InstructorsAndTraineesWidget->setFont(font);
gridLayout = new QGridLayout(InstructorsAndTraineesWidget); gridLayout = new QGridLayout(InstructorsAndTraineesWidget);
gridLayout->setObjectName(QString::fromUtf8("gridLayout")); gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
horizontalLayout = new QHBoxLayout(); horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
groupBox = new QGroupBox(InstructorsAndTraineesWidget); groupBox = new QGroupBox(InstructorsAndTraineesWidget);
groupBox->setObjectName(QString::fromUtf8("groupBox")); groupBox->setObjectName(QString::fromUtf8("groupBox"));
QFont font;
font.setPointSize(10);
groupBox->setFont(font); groupBox->setFont(font);
gridLayout_2 = new QGridLayout(groupBox); gridLayout_2 = new QGridLayout(groupBox);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
verticalLayout = new QVBoxLayout(); verticalLayout = new QVBoxLayout();
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
gridLayout_2->addLayout(verticalLayout, 0, 0, 1, 1); gridLayout_2->addLayout(verticalLayout, 1, 0, 1, 1);
verticalLayout_2 = new QVBoxLayout();
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
btnConnectionToDB = new QToolButton(groupBox);
btnConnectionToDB->setObjectName(QString::fromUtf8("btnConnectionToDB"));
btnConnectionToDB->setMinimumSize(QSize(130, 58));
QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/connectDB.png"), QSize(), QIcon::Normal, QIcon::Off);
btnConnectionToDB->setIcon(icon);
btnConnectionToDB->setIconSize(QSize(32, 32));
btnConnectionToDB->setCheckable(true);
btnConnectionToDB->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
horizontalLayout_2->addWidget(btnConnectionToDB);
btnAuthorizationInstructor = new QToolButton(groupBox);
btnAuthorizationInstructor->setObjectName(QString::fromUtf8("btnAuthorizationInstructor"));
btnAuthorizationInstructor->setMinimumSize(QSize(140, 58));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/icons/login-user.png"), QSize(), QIcon::Normal, QIcon::Off);
btnAuthorizationInstructor->setIcon(icon1);
btnAuthorizationInstructor->setIconSize(QSize(32, 32));
btnAuthorizationInstructor->setCheckable(true);
btnAuthorizationInstructor->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
horizontalLayout_2->addWidget(btnAuthorizationInstructor);
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout_2->addItem(horizontalSpacer);
label = new QLabel(groupBox);
label->setObjectName(QString::fromUtf8("label"));
horizontalLayout_2->addWidget(label);
lblLoggedInInstructor = new QLabel(groupBox);
lblLoggedInInstructor->setObjectName(QString::fromUtf8("lblLoggedInInstructor"));
horizontalLayout_2->addWidget(lblLoggedInInstructor);
verticalLayout_2->addLayout(horizontalLayout_2);
gridLayout_2->addLayout(verticalLayout_2, 0, 0, 1, 1);
horizontalLayout->addWidget(groupBox); horizontalLayout->addWidget(groupBox);
@@ -65,6 +126,10 @@ public:
{ {
InstructorsAndTraineesWidget->setWindowTitle(QCoreApplication::translate("InstructorsAndTraineesWidget", "Form", nullptr)); InstructorsAndTraineesWidget->setWindowTitle(QCoreApplication::translate("InstructorsAndTraineesWidget", "Form", nullptr));
groupBox->setTitle(QCoreApplication::translate("InstructorsAndTraineesWidget", "Database LMS", nullptr)); groupBox->setTitle(QCoreApplication::translate("InstructorsAndTraineesWidget", "Database LMS", nullptr));
btnConnectionToDB->setText(QCoreApplication::translate("InstructorsAndTraineesWidget", "Connection to DB", nullptr));
btnAuthorizationInstructor->setText(QCoreApplication::translate("InstructorsAndTraineesWidget", "Authorization Instructor", nullptr));
label->setText(QCoreApplication::translate("InstructorsAndTraineesWidget", "Logged in instructor:", nullptr));
lblLoggedInInstructor->setText(QCoreApplication::translate("InstructorsAndTraineesWidget", "none", nullptr));
} // retranslateUi } // retranslateUi
}; };

View File

@@ -15,10 +15,8 @@
#include <QtWidgets/QGridLayout> #include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox> #include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout> #include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QSpacerItem> #include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton> #include <QtWidgets/QToolButton>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QVBoxLayout> #include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget> #include <QtWidgets/QWidget>
@@ -35,7 +33,6 @@ public:
QVBoxLayout *verticalLayout; QVBoxLayout *verticalLayout;
QToolButton *btnEditorInstructors; QToolButton *btnEditorInstructors;
QSpacerItem *verticalSpacer; QSpacerItem *verticalSpacer;
QTreeWidget *treeWidget;
void setupUi(QWidget *ViewerInstructors) void setupUi(QWidget *ViewerInstructors)
{ {
@@ -44,6 +41,7 @@ public:
ViewerInstructors->resize(400, 300); ViewerInstructors->resize(400, 300);
QFont font; QFont font;
font.setFamily(QString::fromUtf8("Tahoma")); font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
ViewerInstructors->setFont(font); ViewerInstructors->setFont(font);
gridLayout = new QGridLayout(ViewerInstructors); gridLayout = new QGridLayout(ViewerInstructors);
gridLayout->setObjectName(QString::fromUtf8("gridLayout")); gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
@@ -62,6 +60,7 @@ public:
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
btnEditorInstructors = new QToolButton(groupBox); btnEditorInstructors = new QToolButton(groupBox);
btnEditorInstructors->setObjectName(QString::fromUtf8("btnEditorInstructors")); btnEditorInstructors->setObjectName(QString::fromUtf8("btnEditorInstructors"));
btnEditorInstructors->setEnabled(false);
btnEditorInstructors->setMinimumSize(QSize(130, 58)); btnEditorInstructors->setMinimumSize(QSize(130, 58));
QIcon icon; QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/DB-instructors.png"), QSize(), QIcon::Normal, QIcon::Off); icon.addFile(QString::fromUtf8(":/icons/DB-instructors.png"), QSize(), QIcon::Normal, QIcon::Off);
@@ -78,19 +77,6 @@ public:
horizontalLayout_2->addLayout(verticalLayout); horizontalLayout_2->addLayout(verticalLayout);
treeWidget = new QTreeWidget(groupBox);
QTreeWidgetItem *__qtreewidgetitem = new QTreeWidgetItem();
__qtreewidgetitem->setText(0, QString::fromUtf8("1"));
treeWidget->setHeaderItem(__qtreewidgetitem);
treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
QFont font2;
font2.setFamily(QString::fromUtf8("Tahoma"));
font2.setPointSize(10);
treeWidget->setFont(font2);
treeWidget->setIconSize(QSize(20, 20));
horizontalLayout_2->addWidget(treeWidget);
gridLayout_2->addLayout(horizontalLayout_2, 0, 0, 1, 1); gridLayout_2->addLayout(horizontalLayout_2, 0, 0, 1, 1);

View File

@@ -15,10 +15,8 @@
#include <QtWidgets/QGridLayout> #include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox> #include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout> #include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QSpacerItem> #include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton> #include <QtWidgets/QToolButton>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QVBoxLayout> #include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget> #include <QtWidgets/QWidget>
@@ -35,7 +33,6 @@ public:
QVBoxLayout *verticalLayout; QVBoxLayout *verticalLayout;
QToolButton *btnEditorTrainees; QToolButton *btnEditorTrainees;
QSpacerItem *verticalSpacer; QSpacerItem *verticalSpacer;
QTreeWidget *treeWidget;
void setupUi(QWidget *ViewerTrainees) void setupUi(QWidget *ViewerTrainees)
{ {
@@ -44,6 +41,7 @@ public:
ViewerTrainees->resize(400, 300); ViewerTrainees->resize(400, 300);
QFont font; QFont font;
font.setFamily(QString::fromUtf8("Tahoma")); font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
ViewerTrainees->setFont(font); ViewerTrainees->setFont(font);
gridLayout = new QGridLayout(ViewerTrainees); gridLayout = new QGridLayout(ViewerTrainees);
gridLayout->setObjectName(QString::fromUtf8("gridLayout")); gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
@@ -62,6 +60,7 @@ public:
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
btnEditorTrainees = new QToolButton(groupBox); btnEditorTrainees = new QToolButton(groupBox);
btnEditorTrainees->setObjectName(QString::fromUtf8("btnEditorTrainees")); btnEditorTrainees->setObjectName(QString::fromUtf8("btnEditorTrainees"));
btnEditorTrainees->setEnabled(false);
btnEditorTrainees->setMinimumSize(QSize(130, 58)); btnEditorTrainees->setMinimumSize(QSize(130, 58));
QIcon icon; QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/DB-trainees.png"), QSize(), QIcon::Normal, QIcon::Off); icon.addFile(QString::fromUtf8(":/icons/DB-trainees.png"), QSize(), QIcon::Normal, QIcon::Off);
@@ -78,20 +77,6 @@ public:
horizontalLayout_2->addLayout(verticalLayout); horizontalLayout_2->addLayout(verticalLayout);
treeWidget = new QTreeWidget(groupBox);
QTreeWidgetItem *__qtreewidgetitem = new QTreeWidgetItem();
__qtreewidgetitem->setText(0, QString::fromUtf8("1"));
treeWidget->setHeaderItem(__qtreewidgetitem);
treeWidget->setObjectName(QString::fromUtf8("treeWidget"));
QFont font2;
font2.setFamily(QString::fromUtf8("Tahoma"));
font2.setPointSize(10);
treeWidget->setFont(font2);
treeWidget->setIconSize(QSize(20, 20));
treeWidget->setColumnCount(1);
horizontalLayout_2->addWidget(treeWidget);
gridLayout_2->addLayout(horizontalLayout_2, 0, 0, 1, 1); gridLayout_2->addLayout(horizontalLayout_2, 0, 0, 1, 1);

View File

@@ -230,7 +230,7 @@ build InstructorsAndTrainees_autogen: phony CMakeFiles/InstructorsAndTrainees_au
############################################# #############################################
# Custom command for InstructorsAndTrainees_autogen\EWIEGA46WW\qrc_resources.cpp # Custom command for InstructorsAndTrainees_autogen\EWIEGA46WW\qrc_resources.cpp
build InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp | ${cmake_ninja_workdir}InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp: CUSTOM_COMMAND D$:/LMS/DB_IaT/InstructorsAndTrainees/resources.qrc CMakeFiles/InstructorsAndTrainees_autogen.dir/AutoRcc_resources_EWIEGA46WW_Info.json D$:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/instructors.xml D$:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/groupsTrainees.xml D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/newGroup.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/traineeFromArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteGroup.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/traineeArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/admin.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/circleGray.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/circleGreen.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/addTrainee.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/archive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/group.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorFromArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/trainee.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorAdmin.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteTrainee.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/addInstructor.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-instructors.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/edit.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructor.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteInstructor.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-trainees.png C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/bin/rcc.exe || InstructorsAndTrainees_autogen build InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp | ${cmake_ninja_workdir}InstructorsAndTrainees_autogen/EWIEGA46WW/qrc_resources.cpp: CUSTOM_COMMAND D$:/LMS/DB_IaT/InstructorsAndTrainees/resources.qrc CMakeFiles/InstructorsAndTrainees_autogen.dir/AutoRcc_resources_EWIEGA46WW_Info.json D$:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/instructors.xml D$:/LMS/DB_IaT/InstructorsAndTrainees/blankXML/groupsTrainees.xml D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/login-user.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/newGroup.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/traineeFromArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteGroup.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/traineeArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/admin.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/circleGray.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/circleGreen.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/addTrainee.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/archive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/group.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorFromArchive.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/trainee.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructorAdmin.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteTrainee.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/addInstructor.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-instructors.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/edit.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/instructor.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/connectDB.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/deleteInstructor.png D$:/LMS/DB_IaT/InstructorsAndTrainees/icons/DB-trainees.png C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/bin/rcc.exe || InstructorsAndTrainees_autogen
COMMAND = C:\Windows\system32\cmd.exe /C "cd /D D:\LMS\DB_IaT\Debug64 && C:\msys64\mingw64\bin\cmake.exe -E cmake_autorcc D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen.dir/AutoRcc_resources_EWIEGA46WW_Info.json Debug" COMMAND = C:\Windows\system32\cmd.exe /C "cd /D D:\LMS\DB_IaT\Debug64 && C:\msys64\mingw64\bin\cmake.exe -E cmake_autorcc D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen.dir/AutoRcc_resources_EWIEGA46WW_Info.json Debug"
DESC = Automatic RCC for resources.qrc DESC = Automatic RCC for resources.qrc
restat = 1 restat = 1

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-11-13T17:15:54. --> <!-- Written by QtCreator 4.11.1, 2024-11-25T15:15:00. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -1,15 +1,17 @@
#include "commonview.h" #include "commonview.h"
CommonView::CommonView(TypeView type, bool adminMode, QWidget *parent): CommonView::CommonView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent):
QWidget(parent), QWidget(parent),
dbLMS(dbLMS),
treeWidget(nullptr), treeWidget(nullptr),
typeView(type), typeView(type),
archiveVisible(false), archiveVisible(false),
notLoggedInVisible(false), notLoggedInVisible(false),
adminMode(adminMode) adminMode(false),
authComplited(false)
{ {
treeWidget = new QTreeWidget();
} }
void CommonView::setItemColorArchive(QTreeWidgetItem *item) void CommonView::setItemColorArchive(QTreeWidgetItem *item)
@@ -24,8 +26,8 @@ void CommonView::setItemColorNoArchive(QTreeWidgetItem *item)
void CommonView::setItemColor(QTreeWidgetItem *item, QColor color) void CommonView::setItemColor(QTreeWidgetItem *item, QColor color)
{ {
int columnCount = treeWidget->columnCount(); //int columnCount = treeWidget->columnCount();
for (int i = 0; i < columnCount; i++) for (int i = 0; i < item->columnCount(); i++)
item->setBackground(i, color); item->setBackground(i, color);
} }

View File

@@ -3,7 +3,9 @@
#include <QTreeWidget> #include <QTreeWidget>
#include <QTranslator> #include <QTranslator>
#include <QMutex>
#include "instructorsAndTrainees_global.h" #include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
//Родительский класс представления БД Инструкторов/Обучаемых (самого верхнего уровня) //Родительский класс представления БД Инструкторов/Обучаемых (самого верхнего уровня)
@@ -19,7 +21,17 @@ public:
}; };
public: public:
CommonView(TypeView type, bool adminMode, QWidget *parent = nullptr); CommonView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent = nullptr);
public:
void setAdminMode(bool adminMode)
{
this->adminMode = adminMode;
}
void setAuthComplited(bool authComplited)
{
this->authComplited = authComplited;
}
protected: protected:
void setArchiveVisible(bool archiveVisible) void setArchiveVisible(bool archiveVisible)
@@ -37,14 +49,14 @@ protected:
void setItemColor(QTreeWidgetItem* item, QColor color); void setItemColor(QTreeWidgetItem* item, QColor color);
protected: protected:
InterfaceDataBaseLMS* dbLMS;
QTreeWidget* treeWidget; QTreeWidget* treeWidget;
QMutex mtxTreeWidget;
TypeView typeView; TypeView typeView;
bool archiveVisible; bool archiveVisible;
bool notLoggedInVisible; bool notLoggedInVisible;
bool adminMode; bool adminMode;
bool authComplited;
protected:
QTranslator qtLanguageTranslator;
}; };
#endif // COMMONVIEW_H #endif // COMMONVIEW_H

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -13,6 +13,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -25,6 +26,11 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Login</string> <string>Login</string>
</property> </property>
@@ -32,6 +38,11 @@
</item> </item>
<item> <item>
<widget class="QLineEdit" name="editLogin"> <widget class="QLineEdit" name="editLogin">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>admin</string> <string>admin</string>
</property> </property>
@@ -43,6 +54,11 @@
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Password</string> <string>Password</string>
</property> </property>
@@ -50,6 +66,11 @@
</item> </item>
<item> <item>
<widget class="QLineEdit" name="editPassword"> <widget class="QLineEdit" name="editPassword">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>admin</string> <string>admin</string>
</property> </property>
@@ -59,6 +80,11 @@
</item> </item>
<item> <item>
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="locale"> <property name="locale">
<locale language="English" country="UnitedStates"/> <locale language="English" country="UnitedStates"/>
</property> </property>

View File

@@ -13,6 +13,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -25,6 +26,11 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Name</string> <string>Name</string>
</property> </property>
@@ -43,6 +49,11 @@
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Login</string> <string>Login</string>
</property> </property>
@@ -57,6 +68,11 @@
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Password</string> <string>Password</string>
</property> </property>
@@ -74,6 +90,11 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Administrator</string> <string>Administrator</string>
</property> </property>
@@ -96,6 +117,11 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Archived</string> <string>Archived</string>
</property> </property>
@@ -118,6 +144,11 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Logged</string> <string>Logged</string>
</property> </property>
@@ -137,6 +168,11 @@
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="locale"> <property name="locale">
<locale language="English" country="UnitedStates"/> <locale language="English" country="UnitedStates"/>
</property> </property>

View File

@@ -4,17 +4,23 @@
#include "ui_editorinstructors.h" #include "ui_editorinstructors.h"
EditorInstructors::EditorInstructors(InterfaceDataBaseLMS* dbLMS, bool adminMode, QWidget *parent) : EditorInstructors::EditorInstructors(InterfaceDataBaseLMS* dbLMS, bool adminMode, QWidget *parent) :
InstructorsView(dbLMS, CommonView::TypeView::control, adminMode, parent), InstructorsView(dbLMS, CommonView::TypeView::control, parent),
ui(new Ui::EditorInstructors) ui(new Ui::EditorInstructors)
{ {
ui->setupUi((QDialog*)this); ui->setupUi((QDialog*)this);
preparationTreeWidget(ui->treeWidget); connect(treeWidget, &QTreeWidget::currentItemChanged, this, &EditorInstructors::on_treeWidget_currentItemChanged);
setNotLoggedInVisible(true);
ui->verticalLayout_1->addWidget(treeWidget);
this->adminMode = adminMode;
preparationTreeWidget(/*ui->treeWidget*/);
//setNotLoggedInVisible(true);
loadInstructorsFromDB(); loadInstructorsFromDB();
if(adminMode) if(adminMode)
ui->btnArchive->click(); ui->btnArchive->click();
} }
EditorInstructors::~EditorInstructors() EditorInstructors::~EditorInstructors()
@@ -72,7 +78,7 @@ void EditorInstructors::on_btnNewInstructor_clicked()
void EditorInstructors::on_btnDeleteInstructor_clicked() void EditorInstructors::on_btnDeleteInstructor_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr) if(treeItemCurrent != nullptr)
{ {
@@ -88,6 +94,12 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
return; return;
} }
if(dbLMS->isLoggedInInstructor(id))
{//Инструктор залогирован!
QMessageBox::critical(this, tr("Error!"), tr("You cannot delete a logged-in instructor."));
return;
}
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete it anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok) if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete it anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
{ {
if(dbLMS->delInstructor(id)) if(dbLMS->delInstructor(id))
@@ -99,7 +111,7 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
void EditorInstructors::on_btnToOrFromArchive_clicked() void EditorInstructors::on_btnToOrFromArchive_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr) if(treeItemCurrent != nullptr)
{ {
@@ -124,6 +136,12 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
} }
else else
{//Не Архивный {//Не Архивный
if(dbLMS->isLoggedInInstructor(id))
{//Инструктор залогирован!
QMessageBox::critical(this, tr("Error!"), tr("You cannot archive a logged-in instructor."));
return;
}
instructor.setArchived(true); instructor.setArchived(true);
if(int id_edit = dbLMS->editInstructor(instructor)) if(int id_edit = dbLMS->editInstructor(instructor))
{ {
@@ -140,7 +158,7 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
void EditorInstructors::on_btnEdit_clicked() void EditorInstructors::on_btnEdit_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent == nullptr) if(treeItemCurrent == nullptr)
return; return;
@@ -151,6 +169,12 @@ void EditorInstructors::on_btnEdit_clicked()
int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt(); int id = treeItemCurrent->text(ColumnsTreeInsructors::clmn_ID).toInt();
if(dbLMS->isLoggedInInstructor(id))
{//Инструктор залогирован!
QMessageBox::critical(this, tr("Error!"), tr("You cannot archive a logged-in instructor."));
return;
}
DialogEditInstructor dlg(this); DialogEditInstructor dlg(this);
Instructor instructor = dbLMS->getInstructor(id); Instructor instructor = dbLMS->getInstructor(id);
@@ -225,10 +249,11 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
ui->btnNewInstructor->setEnabled(true); ui->btnNewInstructor->setEnabled(true);
if(dbLMS->isAdminInstructor(id)) if(dbLMS->isAdminInstructor(id) || dbLMS->isLoggedInInstructor(id))
{//Это Админ! Удалять/Архивировать нельзя! {//Это Админ или залогированный! Удалять/Архивировать/Редактировать нельзя!
ui->btnDeleteInstructor->setEnabled(false); ui->btnDeleteInstructor->setEnabled(false);
ui->btnToOrFromArchive->setEnabled(false); ui->btnToOrFromArchive->setEnabled(false);
ui->btnEdit->setEnabled(false);
} }
else else
{ {
@@ -238,9 +263,11 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
ui->btnDeleteInstructor->setEnabled(true); ui->btnDeleteInstructor->setEnabled(true);
else else
ui->btnDeleteInstructor->setEnabled(false); ui->btnDeleteInstructor->setEnabled(false);
ui->btnEdit->setEnabled(true);
} }
ui->btnEdit->setEnabled(true); //ui->btnEdit->setEnabled(true);
ui->btnArchive->setEnabled(true); ui->btnArchive->setEnabled(true);
} }
} }

View File

@@ -10,6 +10,12 @@
<height>800</height> <height>800</height>
</rect> </rect>
</property> </property>
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string>List instructors</string> <string>List instructors</string>
</property> </property>
@@ -18,7 +24,8 @@
<widget class="QWidget" name="widget" native="true"> <widget class="QWidget" name="widget" native="true">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
@@ -28,32 +35,7 @@
<item row="0" column="0"> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_1"> <layout class="QHBoxLayout" name="horizontalLayout_1">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_1"> <layout class="QVBoxLayout" name="verticalLayout_1"/>
<item>
<widget class="QTreeWidget" name="treeWidget">
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="columnCount">
<number>1</number>
</property>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QWidget" name="widget_2" native="true"> <widget class="QWidget" name="widget_2" native="true">
@@ -72,6 +54,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">

View File

@@ -2,33 +2,72 @@
#include <QTranslator> #include <QTranslator>
#include "instructorsview.h" #include "instructorsview.h"
InstructorsView::InstructorsView(InterfaceDataBaseLMS* dbLMS, TypeView type, bool adminMode, QWidget *parent): InstructorsView::InstructorsView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent):
CommonView(type, adminMode, parent), CommonView(dbLMS, type, parent)
dbLMS(dbLMS)
{ {
} }
void InstructorsView::preparationTreeWidget(QTreeWidget* tree) void InstructorsView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
{ {
treeWidget = tree; if(typeView == TypeView::onlyView)
{
if(adminMode)
archiveVisible = true;
else
archiveVisible = false;
}
else
{
archiveVisible = true;
}
if(adminMode)
{
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, false);
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Archived, false);
}
else
{
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_ID, true);
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Archived, true);
}
updateButtons();
if(treeInstructor)
loadInstructorsFromDB();
}
void InstructorsView::preparationTreeWidget(/*QTreeWidget* tree*/)
{
mtxTreeWidget.lock();
//treeWidget = tree;
/*
if(treeWidget == nullptr) if(treeWidget == nullptr)
{
mtxTreeWidget.unlock();
return; return;
}
*/
treeWidget->setColumnCount(7); treeWidget->setColumnCount(7);
reSetHeadTreeWidget(); reSetHeadTreeWidget();
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;")); //treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
treeWidget->setStyleSheet(QStringLiteral("font-size: 10pt;"
"font-family: Tahoma;"));
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_ID, 50); treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Instructor, 250); treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Instructor, 250);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Login, 100); treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Login, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Password, 100); treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Password, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Administrator, 100); treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Administrator, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Archived, 80); treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Archived, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Logged, 80); treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Logged, 100);
if(typeView == TypeView::onlyView) if(typeView == TypeView::onlyView)
{//onlyView {//onlyView
@@ -37,13 +76,22 @@ void InstructorsView::preparationTreeWidget(QTreeWidget* tree)
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Password, true); treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Password, true);
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Archived, true); treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Archived, true);
treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Administrator, true); treeWidget->setColumnHidden(ColumnsTreeInsructors::clmn_Administrator, true);
if(adminMode)
archiveVisible = true;
else
archiveVisible = false;
notLoggedInVisible = true;
} }
else else
{//control {//control
archiveVisible = true;
notLoggedInVisible = true;
if(adminMode) if(adminMode)
{ {
archiveVisible = true;
notLoggedInVisible = true;
} }
else else
{ {
@@ -54,16 +102,27 @@ void InstructorsView::preparationTreeWidget(QTreeWidget* tree)
treeWidget->setSortingEnabled(true); treeWidget->setSortingEnabled(true);
treeWidget->sortItems(ColumnsTreeInsructors::clmn_Instructor, Qt::SortOrder::AscendingOrder); treeWidget->sortItems(ColumnsTreeInsructors::clmn_Instructor, Qt::SortOrder::AscendingOrder);
mtxTreeWidget.unlock();
} }
void InstructorsView::loadInstructorsFromDB() void InstructorsView::loadInstructorsFromDB()
{ {
/*
if(treeWidget == nullptr) if(treeWidget == nullptr)
return; return;*/
mtxTreeWidget.lock();
//Обновление дерева //Обновление дерева
treeWidget->clear(); treeWidget->clear();
if(!dbLMS->DBisConnected())
{
mtxTreeWidget.unlock();
return;
}
//Инструкторы //Инструкторы
QList<Instructor> listInstructors; QList<Instructor> listInstructors;
listInstructors = dbLMS->getListInstructors(); listInstructors = dbLMS->getListInstructors();
@@ -77,7 +136,8 @@ void InstructorsView::loadInstructorsFromDB()
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, instructor.getPassword()); ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, instructor.getPassword());
//Сокрытие пароля //Сокрытие пароля
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, QStringLiteral("******")); if(!adminMode)
ItemInstructor->setText(ColumnsTreeInsructors::clmn_Password, QStringLiteral("******"));
if(instructor.getArchived()) if(instructor.getArchived())
{//Архивный {//Архивный
@@ -132,6 +192,8 @@ void InstructorsView::loadInstructorsFromDB()
if(item != nullptr) if(item != nullptr)
treeWidget->setCurrentItem(item); treeWidget->setCurrentItem(item);
} }
mtxTreeWidget.unlock();
} }
void InstructorsView::reSetHeadTreeWidget() void InstructorsView::reSetHeadTreeWidget()

View File

@@ -2,7 +2,6 @@
#define INSTRUCTORSVIEW_H #define INSTRUCTORSVIEW_H
#include "instructorsAndTrainees_global.h" #include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
#include "commonview.h" #include "commonview.h"
//Родительский класс представления БД Инструкторов (для просмотра и управления) //Родительский класс представления БД Инструкторов (для просмотра и управления)
@@ -12,7 +11,7 @@ class InstructorsView: public CommonView
Q_OBJECT Q_OBJECT
public: public:
InstructorsView(InterfaceDataBaseLMS* dbLMS, TypeView type, bool adminMode, QWidget *parent = nullptr); InstructorsView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent = nullptr);
protected: protected:
enum ColumnsTreeInsructors{ enum ColumnsTreeInsructors{
@@ -25,14 +24,16 @@ protected:
clmn_ID clmn_ID
}; };
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
protected: protected:
void preparationTreeWidget(QTreeWidget* tree); virtual void updateButtons(){};
void preparationTreeWidget(/*QTreeWidget* tree*/);
void loadInstructorsFromDB(); void loadInstructorsFromDB();
void reSetHeadTreeWidget(); void reSetHeadTreeWidget();
protected:
InterfaceDataBaseLMS* dbLMS;
}; };
#endif // INSTRUCTORSVIEW_H #endif // INSTRUCTORSVIEW_H

View File

@@ -3,24 +3,16 @@
#include "viewerinstructors.h" #include "viewerinstructors.h"
#include "ui_viewerinstructors.h" #include "ui_viewerinstructors.h"
ViewerInstructors::ViewerInstructors(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent) : ViewerInstructors::ViewerInstructors(InterfaceDataBaseLMS* db, QWidget *parent) :
InstructorsView(db, CommonView::TypeView::onlyView, adminMode, parent), InstructorsView(db, CommonView::TypeView::onlyView, parent),
ui(new Ui::ViewerInstructors) ui(new Ui::ViewerInstructors)
{ {
ui->setupUi(this); ui->setupUi(this);
this->adminMode = adminMode; ui->horizontalLayout_2->addWidget(treeWidget);
// Сделаем первоначальную инициализацию перевода для окна виджета preparationTreeWidget(/*ui->treeWidget*/);
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + QString(QStringLiteral("ru_RU")), QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
preparationTreeWidget(ui->treeWidget);
setNotLoggedInVisible(true); setNotLoggedInVisible(true);
loadInstructorsFromDB();
if(! this->adminMode)
ui->btnEditorInstructors->setEnabled(false);
} }
ViewerInstructors::~ViewerInstructors() ViewerInstructors::~ViewerInstructors()
@@ -28,38 +20,22 @@ ViewerInstructors::~ViewerInstructors()
delete ui; delete ui;
} }
void ViewerInstructors::setFilterInstructorLoggedIn(bool enabled)
{
setNotLoggedInVisible(!enabled);
loadInstructorsFromDB();
}
void ViewerInstructors::changeEvent(QEvent *event) void ViewerInstructors::changeEvent(QEvent *event)
{ {
// В случае получения события изменения языка приложения // В случае получения события изменения языка приложения
if (event->type() == QEvent::LanguageChange) if (event->type() == QEvent::LanguageChange)
{ {// переведём окно заново
ui->retranslateUi(this); // переведём окно заново ui->retranslateUi(this);
reSetHeadTreeWidget(); reSetHeadTreeWidget();
loadInstructorsFromDB(); //loadInstructorsFromDB();
slot_NeedUpdateUI(true, false);
} }
} }
void ViewerInstructors::slot_LanguageChanged(QString language)
{
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + language, QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
}
void ViewerInstructors::on_btnEditorInstructors_clicked() void ViewerInstructors::on_btnEditorInstructors_clicked()
{ {
if(! adminMode) Q_EMIT signal_BlockAutorization(true);
{
QMessageBox::warning(this, tr("Attention!"),
tr("Only the Administrator has the right to edit instructors."));
return;
}
EditorInstructors editorInstructors(dbLMS, adminMode); EditorInstructors editorInstructors(dbLMS, adminMode);
QDialog* dialog = new QDialog(this); QDialog* dialog = new QDialog(this);
@@ -70,4 +46,18 @@ void ViewerInstructors::on_btnEditorInstructors_clicked()
dialog->exec(); dialog->exec();
loadInstructorsFromDB(); loadInstructorsFromDB();
Q_EMIT signal_BlockAutorization(false);
}
void ViewerInstructors::updateButtons()
{
if(adminMode && authComplited)
{
ui->btnEditorInstructors->setEnabled(true);
}
else
{
ui->btnEditorInstructors->setEnabled(false);
}
} }

View File

@@ -1,9 +1,6 @@
#ifndef INSTRUCTORSWIDGET_H #ifndef INSTRUCTORSWIDGET_H
#define INSTRUCTORSWIDGET_H #define INSTRUCTORSWIDGET_H
#include <QWidget>
#include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
#include "instructorsview.h" #include "instructorsview.h"
namespace Ui { namespace Ui {
@@ -17,23 +14,22 @@ class ViewerInstructors : public InstructorsView
Q_OBJECT Q_OBJECT
public: public:
explicit ViewerInstructors(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent = nullptr); explicit ViewerInstructors(InterfaceDataBaseLMS* db, QWidget *parent = nullptr);
~ViewerInstructors(); ~ViewerInstructors();
protected: protected:
// Метод получения событий
// В нём будет производиться проверка события смены перевода приложения
void changeEvent(QEvent * event) override; void changeEvent(QEvent * event) override;
public Q_SLOTS: Q_SIGNALS:
void slot_LanguageChanged(QString language); //сигнал о блокировке авторизации
void signal_BlockAutorization(bool block);
public: private Q_SLOTS:
void setFilterInstructorLoggedIn(bool enabled);
private slots:
void on_btnEditorInstructors_clicked(); void on_btnEditorInstructors_clicked();
private:
void updateButtons() override;
private: private:
Ui::ViewerInstructors *ui; Ui::ViewerInstructors *ui;
}; };

View File

@@ -13,6 +13,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -38,6 +39,9 @@
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QToolButton" name="btnEditorInstructors"> <widget class="QToolButton" name="btnEditorInstructors">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>130</width> <width>130</width>
@@ -77,27 +81,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<widget class="QTreeWidget" name="treeWidget">
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>

View File

@@ -6,40 +6,91 @@
InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) : InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::InstructorsAndTraineesWidget), ui(new Ui::InstructorsAndTraineesWidget),
dbLMS(nullptr),
viewerTrainees(nullptr),
viewerInstructors(nullptr),
adminMode(false), adminMode(false),
loginInstructorLoggedInLocal(QStringLiteral("")) loginInstructorLoggedInLocal(QStringLiteral(""))
{ {
ui->setupUi(this); ui->setupUi(this);
dbLMS = new InterfaceDataBaseLMS(); dbLMS = new InterfaceDataBaseLMS(this);
//Авторизация Инструктора локальная (Администратора) connect(this, &InstructorsAndTraineesWidget::signal_LanguageChanged, dbLMS, &InterfaceDataBaseLMS::slot_LanguageChanged);
authorizationInstructorLocal(this);
m_viewerTrainees = new ViewerTrainees(dbLMS, adminMode); viewerTrainees = new ViewerTrainees(dbLMS);
m_viewerInstructors = new ViewerInstructors(dbLMS, adminMode); viewerInstructors = new ViewerInstructors(dbLMS);
ui->verticalLayout->addWidget(m_viewerTrainees); connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerTrainees, &ViewerTrainees::slot_NeedUpdateUI);
ui->verticalLayout->addWidget(m_viewerInstructors); connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerInstructors, &ViewerInstructors::slot_NeedUpdateUI);
m_viewerTrainees->setMinimumSize(1600, 700); connect(viewerInstructors, &ViewerInstructors::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization);
m_viewerInstructors->setMinimumSize(1600, 400); connect(viewerTrainees, &ViewerTrainees::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization);
connect(viewerTrainees, &ViewerTrainees::signal_traineeSelected, this, &InstructorsAndTraineesWidget::signal_traineeSelected);
connect(this, &InstructorsAndTraineesWidget::signal_tabMessengerChanged, viewerTrainees, &ViewerTrainees::slot_tabMessengerChanged);
ui->verticalLayout->addWidget(viewerTrainees);
ui->verticalLayout->addWidget(viewerInstructors);
viewerTrainees->setMinimumSize(1600, 500);
viewerInstructors->setMinimumSize(1600, 400);
ui->btnAuthorizationInstructor->setEnabled(false);
} }
InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget() InstructorsAndTraineesWidget::~InstructorsAndTraineesWidget()
{ {
deAuthorizationInstructor(loginInstructorLoggedInLocal); if(authorizationIsCompleted())
deAuthorizationInstructor(loginInstructorLoggedInLocal);
delete m_viewerInstructors; if(dbLMS->DBisConnected())
delete m_viewerTrainees; {
dbLMS->deAuthorizationAllInstructors();
dbLMS->deAuthorizationAllTrainees();
dbLMS->DisConnectionFromDB();
}
delete viewerInstructors;
delete viewerTrainees;
delete dbLMS; delete dbLMS;
delete ui; delete ui;
} }
void InstructorsAndTraineesWidget::changeEvent(QEvent *event)
{
// В случае получения события изменения языка приложения
if (event->type() == QEvent::LanguageChange)
{// переведём окно заново
ui->retranslateUi(this);
if(ui->btnAuthorizationInstructor->isChecked())
ui->btnAuthorizationInstructor->setText(tr("Deauthorization Instructor"));
else
ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
if(ui->btnConnectionToDB->isChecked())
ui->btnConnectionToDB->setText(tr("Disconnection DB"));
else
ui->btnConnectionToDB->setText(tr("Connection DB"));
updateLabelLoggedInInstructor();
}
}
void InstructorsAndTraineesWidget::slot_LanguageChanged(QString language)
{
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTraineesWidget_")) + language, QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
Q_EMIT signal_LanguageChanged(language);
}
bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent) bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
{ {
DialogAuthorizationInstructor dlg(parent); DialogAuthorizationInstructor dlg(parent);
dlg.setWindowTitle(tr("Instructor authorithation")); dlg.setWindowTitle(tr("Instructor authorization"));
do do
{ {
@@ -50,12 +101,21 @@ bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
QString login = dlg.getLogin(); QString login = dlg.getLogin();
QString password = dlg.getPassword(); QString password = dlg.getPassword();
if(dbLMS->AuthorizationInstructor(login, password)) if(authorizationInstructor(login, password))
{ {
loginInstructorLoggedInLocal = login; loginInstructorLoggedInLocal = login;
if(login == QStringLiteral("admin")) if(login == QStringLiteral("admin"))
adminMode = true; adminMode = true;
else
adminMode = false;
viewerInstructors->setAdminMode(adminMode);
viewerTrainees->setAdminMode(adminMode);
viewerInstructors->setAuthComplited(true);
viewerTrainees->setAuthComplited(true);
Q_EMIT signal_NeedUpdateUI(true, true);
QMessageBox::information(parent, tr("Instructor authorization"), tr("Successfully!")); QMessageBox::information(parent, tr("Instructor authorization"), tr("Successfully!"));
@@ -87,20 +147,262 @@ bool InstructorsAndTraineesWidget::authorizationIsCompleted()
bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name) bool InstructorsAndTraineesWidget::authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
{ {
return dbLMS->AuthorizationTrainee(login, password, classroom_name, computer_name); mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return false;
}
Q_EMIT signal_BlockAutorization(true);
bool res = dbLMS->AuthorizationTrainee(login, password, classroom_name, computer_name);
Q_EMIT signal_BlockAutorization(false);
if(res)
Q_EMIT signal_NeedUpdateUI(false, true);
mtxAccess.unlock();
return res;
} }
bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login) bool InstructorsAndTraineesWidget::deAuthorizationTrainee(QString login)
{ {
return dbLMS->deAuthorizationTrainee(login); mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return false;
}
Q_EMIT signal_BlockAutorization(true);
bool res = dbLMS->deAuthorizationTrainee(login);
Q_EMIT signal_BlockAutorization(false);
if(res)
Q_EMIT signal_NeedUpdateUI(false, true);
mtxAccess.unlock();
return res;
}
QString InstructorsAndTraineesWidget::getNameTraineeByLogin(QString login)
{
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return QStringLiteral("");
}
QString res = dbLMS->getNameTraineeByLogin(login);
mtxAccess.unlock();
return res;
} }
bool InstructorsAndTraineesWidget::authorizationInstructor(QString login, QString password) bool InstructorsAndTraineesWidget::authorizationInstructor(QString login, QString password)
{ {
return dbLMS->AuthorizationInstructor(login, password); mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return false;
}
Q_EMIT signal_BlockAutorization(true);
bool res = dbLMS->AuthorizationInstructor(login, password);
Q_EMIT signal_BlockAutorization(false);
if(res)
Q_EMIT signal_NeedUpdateUI(true, false);
mtxAccess.unlock();
return res;
} }
bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login) bool InstructorsAndTraineesWidget::deAuthorizationInstructor(QString login)
{ {
return dbLMS->deAuthorizationInstructor(login); mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return false;
}
Q_EMIT signal_BlockAutorization(true);
bool res = dbLMS->deAuthorizationInstructor(login);
Q_EMIT signal_BlockAutorization(false);
if(res)
{
if(loginInstructorLoggedInLocal == login)
{
loginInstructorLoggedInLocal = QStringLiteral("");
adminMode = false;
viewerInstructors->setAdminMode(adminMode);
viewerTrainees->setAdminMode(adminMode);
viewerInstructors->setAuthComplited(false);
viewerTrainees->setAuthComplited(false);
Q_EMIT signal_NeedUpdateUI(true, false);
}
else
Q_EMIT signal_NeedUpdateUI(true, false);
}
mtxAccess.unlock();
return res;
}
QString InstructorsAndTraineesWidget::getNameInstructorByLogin(QString login)
{
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return QStringLiteral("");
}
QString res = dbLMS->getNameInstructorByLogin(login);
mtxAccess.unlock();
return res;
}
QString InstructorsAndTraineesWidget::getMainInstructorName()
{
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return QStringLiteral("");
}
QString res = dbLMS->getNameInstructorByLogin(loginInstructorLoggedInLocal);
mtxAccess.unlock();
return res;
}
QList<Trainee> InstructorsAndTraineesWidget::getListTrainees()
{
return dbLMS->getListTrainees();
}
void InstructorsAndTraineesWidget::on_btnConnectionToDB_clicked()
{
mtxAccess.lock();
bool stateIsChecked = ui->btnConnectionToDB->isChecked();
if(stateIsChecked)
{//Подключение к БД
if(! dbLMS->DBisConnected())
{
if(dbLMS->ConnectionToDB())
{
ui->btnConnectionToDB->setText(tr("Disconnection DB"));
ui->btnAuthorizationInstructor->setEnabled(true);
Q_EMIT signal_NeedUpdateUI(true, true);
Q_EMIT signal_BlockAutorization(false);
Q_EMIT signal_InitMessanger(dbLMS->getListTrainees());
}
}
}
else
{//Отключение от БД
bool stateIsCheckedAuthorization = ui->btnAuthorizationInstructor->isChecked();
if(stateIsCheckedAuthorization)
ui->btnAuthorizationInstructor->click();
if(dbLMS->DBisConnected())
{
Q_EMIT signal_BlockAutorization(true);
dbLMS->DisConnectionFromDB();
ui->btnConnectionToDB->setText(tr("Connection DB"));
ui->btnAuthorizationInstructor->setEnabled(false);
Q_EMIT signal_NeedUpdateUI(true, true);
}
}
mtxAccess.unlock();
}
void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{
bool stateIsChecked = ui->btnAuthorizationInstructor->isChecked();
if(stateIsChecked)
{//Авторизация Инструктора локальная (Администратора)
if(authorizationInstructorLocal(this))
{
ui->btnAuthorizationInstructor->setText(tr("Deauthorization Instructor"));
updateLabelLoggedInInstructor();
Q_EMIT signal_NeedUpdateUI(true, true);
}
else
ui->btnAuthorizationInstructor->setChecked(false);
}
else
{//ДеАвторизация Инструктора локальная (Администратора)
if(authorizationIsCompleted())
{
if(deAuthorizationInstructor(loginInstructorLoggedInLocal))
{
ui->btnAuthorizationInstructor->setText(tr("Authorization Instructor"));
updateLabelLoggedInInstructor();
Q_EMIT signal_NeedUpdateUI(true, true);
}
}
}
}
void InstructorsAndTraineesWidget::updateLabelLoggedInInstructor()
{
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return;
}
if(authorizationIsCompleted())
{
QString nameLoggedInInstructor = QString("%1 (%2)").arg(
dbLMS->getNameInstructorByLogin(loginInstructorLoggedInLocal), loginInstructorLoggedInLocal);
ui->lblLoggedInInstructor->setText(nameLoggedInInstructor);
}
else
{
ui->lblLoggedInInstructor->setText(tr("none"));
}
mtxAccess.unlock();
} }

View File

@@ -2,6 +2,7 @@
#define INSTRUCTORSANDTRAINEESWIDGET_H #define INSTRUCTORSANDTRAINEESWIDGET_H
#include <QWidget> #include <QWidget>
#include <QTranslator>
#include "instructorsAndTrainees_global.h" #include "instructorsAndTrainees_global.h"
#include "viewertrainees.h" #include "viewertrainees.h"
#include "viewerinstructors.h" #include "viewerinstructors.h"
@@ -19,29 +20,71 @@ public:
explicit InstructorsAndTraineesWidget(QWidget *parent = nullptr); explicit InstructorsAndTraineesWidget(QWidget *parent = nullptr);
~InstructorsAndTraineesWidget(); ~InstructorsAndTraineesWidget();
private:
void changeEvent(QEvent * event) override;
public Q_SLOTS:
//Слот обработки смены языка
void slot_LanguageChanged(QString language);
Q_SIGNALS:
//сигнал об изменении языка интерфейса
void signal_LanguageChanged(QString language);
//сигнал о необходимости обновления интерфейса
void signal_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
//сигнал о блокировке авторизации
void signal_BlockAutorization(bool block);
//сигнал о выборе обучаемого (в списке)
void signal_traineeSelected(QString login);
//сигнал об изменении вкладки диалога (в мессенджере)
void signal_tabMessengerChanged(QString login);
//сигнал об инициализации мессенджера
void signal_InitMessanger(QList<Trainee> listTrainees);
public: public:
//Авторизация инструктора локальная QString getMainInstructorName();
bool authorizationInstructorLocal(QWidget* parent = nullptr); QList<Trainee> getListTrainees();
bool authorizationIsCompleted();
//Авторизация обучаемого на клиенте //Авторизация обучаемого на клиенте
bool authorizationTrainee(QString login, QString password, QString classroom_name = QStringLiteral(""), QString computer_name = QStringLiteral("")); bool authorizationTrainee(QString login, QString password, QString classroom_name = QStringLiteral(""), QString computer_name = QStringLiteral(""));
bool deAuthorizationTrainee(QString login); bool deAuthorizationTrainee(QString login);
QString getNameTraineeByLogin(QString login);
//Авторизация инструктора на клиенте //Авторизация инструктора на клиенте
bool authorizationInstructor(QString login, QString password); bool authorizationInstructor(QString login, QString password);
bool deAuthorizationInstructor(QString login); bool deAuthorizationInstructor(QString login);
QString getNameInstructorByLogin(QString login);
private Q_SLOTS:
void on_btnConnectionToDB_clicked();
void on_btnAuthorizationInstructor_clicked();
private:
void updateLabelLoggedInInstructor();
//Авторизация инструктора локальная
bool authorizationInstructorLocal(QWidget* parent = nullptr);
bool authorizationIsCompleted();
private: private:
Ui::InstructorsAndTraineesWidget *ui; Ui::InstructorsAndTraineesWidget *ui;
InterfaceDataBaseLMS* dbLMS; InterfaceDataBaseLMS* dbLMS;
ViewerTrainees* m_viewerTrainees; ViewerTrainees* viewerTrainees;
ViewerInstructors* m_viewerInstructors; ViewerInstructors* viewerInstructors;
bool adminMode; bool adminMode;
QString loginInstructorLoggedInLocal; QString loginInstructorLoggedInLocal;
QTranslator qtLanguageTranslator;
QMutex mtxAccess;
}; };
#endif // INSTRUCTORSANDTRAINEESWIDGET_H #endif // INSTRUCTORSANDTRAINEESWIDGET_H

View File

@@ -6,10 +6,16 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>400</width> <width>1000</width>
<height>300</height> <height>800</height>
</rect> </rect>
</property> </property>
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
@@ -20,6 +26,7 @@
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family>
<pointsize>10</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
@@ -27,9 +34,102 @@
<string>Database LMS</string> <string>Database LMS</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0"> <item row="1" column="0">
<layout class="QVBoxLayout" name="verticalLayout"/> <layout class="QVBoxLayout" name="verticalLayout"/>
</item> </item>
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QToolButton" name="btnConnectionToDB">
<property name="minimumSize">
<size>
<width>130</width>
<height>58</height>
</size>
</property>
<property name="text">
<string>Connection to DB</string>
</property>
<property name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/connectDB.png</normaloff>:/icons/connectDB.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextUnderIcon</enum>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnAuthorizationInstructor">
<property name="minimumSize">
<size>
<width>140</width>
<height>58</height>
</size>
</property>
<property name="text">
<string>Authorization Instructor</string>
</property>
<property name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/login-user.png</normaloff>:/icons/login-user.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextUnderIcon</enum>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Logged in instructor:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblLoggedInInstructor">
<property name="text">
<string>none</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@@ -37,6 +137,8 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources>
<include location="resources.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View File

@@ -23,5 +23,7 @@
<file>icons/admin.png</file> <file>icons/admin.png</file>
<file>icons/DB-instructors.png</file> <file>icons/DB-instructors.png</file>
<file>icons/DB-trainees.png</file> <file>icons/DB-trainees.png</file>
<file>icons/connectDB.png</file>
<file>icons/login-user.png</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@@ -13,6 +13,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -29,13 +30,24 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Name</string> <string>Name</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="editName"/> <widget class="QLineEdit" name="editName">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -43,6 +55,11 @@
</item> </item>
<item> <item>
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="locale"> <property name="locale">
<locale language="English" country="UnitedStates"/> <locale language="English" country="UnitedStates"/>
</property> </property>

View File

@@ -13,6 +13,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -25,6 +26,11 @@
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="1" column="0"> <item row="1" column="0">
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="locale"> <property name="locale">
<locale language="English" country="UnitedStates"/> <locale language="English" country="UnitedStates"/>
</property> </property>
@@ -42,13 +48,24 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Name</string> <string>Name</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="editName"/> <widget class="QLineEdit" name="editName">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -56,13 +73,24 @@
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Login</string> <string>Login</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="editLogin"/> <widget class="QLineEdit" name="editLogin">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -70,13 +98,24 @@
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Password</string> <string>Password</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="editPassword"/> <widget class="QLineEdit" name="editPassword">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
@@ -87,6 +126,11 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Archived</string> <string>Archived</string>
</property> </property>
@@ -109,6 +153,11 @@
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text"> <property name="text">
<string>Logged</string> <string>Logged</string>
</property> </property>

View File

@@ -5,13 +5,19 @@
#include "dialogedittrainee.h" #include "dialogedittrainee.h"
EditorTrainees::EditorTrainees(InterfaceDataBaseLMS* dbLMS, bool adminMode, QWidget *parent) : EditorTrainees::EditorTrainees(InterfaceDataBaseLMS* dbLMS, bool adminMode, QWidget *parent) :
TraineesView(dbLMS, CommonView::TypeView::control, adminMode, parent), TraineesView(dbLMS, CommonView::TypeView::control, parent),
ui(new Ui::EditorTrainees) ui(new Ui::EditorTrainees)
{ {
ui->setupUi((QDialog*)this); ui->setupUi((QDialog*)this);
preparationTreeWidget(ui->treeWidget); connect(treeWidget, &QTreeWidget::currentItemChanged, this, &EditorTrainees::on_treeWidget_currentItemChanged);
setNotLoggedInVisible(true);
ui->verticalLayout_1->addWidget(treeWidget);
this->adminMode = adminMode;
preparationTreeWidget(/*ui->treeWidget*/);
//setNotLoggedInVisible(true);
loadTraineesFromDB(); loadTraineesFromDB();
if(adminMode) if(adminMode)
@@ -74,7 +80,7 @@ void EditorTrainees::on_btnNewGroup_clicked()
void EditorTrainees::on_btnDeleteGroup_clicked() void EditorTrainees::on_btnDeleteGroup_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr) if(treeItemCurrent != nullptr)
{ {
@@ -90,13 +96,16 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
} }
else else
{//Пустая группа {//Пустая группа
if(int id = dbLMS->delGroup(id_group)) if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
{//Удалено
loadTraineesFromDB();
}
else
{ {
//Ошибка удаления if(int id = dbLMS->delGroup(id_group))
{//Удалено
loadTraineesFromDB();
}
else
{
//Ошибка удаления
}
} }
} }
} }
@@ -105,7 +114,7 @@ void EditorTrainees::on_btnDeleteGroup_clicked()
void EditorTrainees::on_btnNewTrainee_clicked() void EditorTrainees::on_btnNewTrainee_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr) if(treeItemCurrent != nullptr)
{ {
@@ -168,7 +177,7 @@ void EditorTrainees::on_btnNewTrainee_clicked()
void EditorTrainees::on_btnDeleteTrainee_clicked() void EditorTrainees::on_btnDeleteTrainee_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr) if(treeItemCurrent != nullptr)
{ {
@@ -179,6 +188,12 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt(); int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
int id_group = treeItemParent->text(ColumnsTreeTrainees::clmn_ID).toInt(); int id_group = treeItemParent->text(ColumnsTreeTrainees::clmn_ID).toInt();
if(dbLMS->isLoggedInTrainee(id_trainee))
{//Обучаемый залогирован!
QMessageBox::critical(this, tr("Error!"), tr("You cannot delete a logged-in trainee."));
return;
}
if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok) if(QMessageBox::warning(this, tr("Attention!"), tr("The deletion will be irrevocable.\nDelete anyway?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
{ {
if(int id = dbLMS->delTrainee(id_trainee)) if(int id = dbLMS->delTrainee(id_trainee))
@@ -197,7 +212,7 @@ void EditorTrainees::on_btnDeleteTrainee_clicked()
void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked() void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr) if(treeItemCurrent != nullptr)
{ {
@@ -225,7 +240,13 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
} }
} }
else else
{//Не Архивный {//Не Архивный
if(dbLMS->isLoggedInTrainee(id_trainee))
{//Обучаемый залогирован!
QMessageBox::critical(this, tr("Error!"), tr("You cannot archive a logged-in trainee."));
return;
}
trainee.setArchived(true); trainee.setArchived(true);
if(int id = dbLMS->editTrainee(trainee)) if(int id = dbLMS->editTrainee(trainee))
{//Отредактировано {//Отредактировано
@@ -246,7 +267,7 @@ void EditorTrainees::on_btnToOrFromArchiveTrainee_clicked()
void EditorTrainees::on_btnEdit_clicked() void EditorTrainees::on_btnEdit_clicked()
{ {
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem(); QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent == nullptr) if(treeItemCurrent == nullptr)
return; return;
@@ -301,6 +322,12 @@ void EditorTrainees::on_btnEdit_clicked()
int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt(); int id_trainee = treeItemCurrent->text(ColumnsTreeTrainees::clmn_ID).toInt();
if(dbLMS->isLoggedInTrainee(id_trainee))
{//Обучаемый залогирован!
QMessageBox::critical(this, tr("Error!"), tr("You cannot archive a logged-in trainee."));
return;
}
DialogEditTrainee dlg(this); DialogEditTrainee dlg(this);
Trainee trainee = dbLMS->getTrainee(id_trainee); Trainee trainee = dbLMS->getTrainee(id_trainee);
@@ -399,22 +426,40 @@ void EditorTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
if(dbLMS->isArchivedTrainee(id_trainee)) if(dbLMS->isArchivedTrainee(id_trainee))
{//Архивный {//Архивный
ui->btnDeleteTrainee->setEnabled(true); //ui->btnDeleteTrainee->setEnabled(true);
ui->btnToOrFromArchiveTrainee->setText(tr("From archive")); ui->btnToOrFromArchiveTrainee->setText(tr("From archive"));
ui->btnToOrFromArchiveTrainee->setIcon(QIcon(QStringLiteral(":/icons/traineeFromArchive.png"))); ui->btnToOrFromArchiveTrainee->setIcon(QIcon(QStringLiteral(":/icons/traineeFromArchive.png")));
} }
else else
{//Не Архивный {//Не Архивный
ui->btnDeleteTrainee->setEnabled(false); //ui->btnDeleteTrainee->setEnabled(false);
ui->btnToOrFromArchiveTrainee->setText(tr("To archive")); ui->btnToOrFromArchiveTrainee->setText(tr("To archive"));
ui->btnToOrFromArchiveTrainee->setIcon(QIcon(QStringLiteral(":/icons/traineeArchive.png"))); ui->btnToOrFromArchiveTrainee->setIcon(QIcon(QStringLiteral(":/icons/traineeArchive.png")));
} }
ui->btnToOrFromArchiveTrainee->setEnabled(true); if(dbLMS->isLoggedInTrainee(id_trainee))
{//Это залогированный! Удалять/Архивировать/Редактировать нельзя!
ui->btnDeleteTrainee->setEnabled(false);
ui->btnToOrFromArchiveTrainee->setEnabled(false);
ui->btnEdit->setEnabled(false);
}
else
{
ui->btnToOrFromArchiveTrainee->setEnabled(true);
ui->btnEdit->setEnabled(true); if(dbLMS->isArchivedTrainee(id_trainee))
ui->btnDeleteTrainee->setEnabled(true);
else
ui->btnDeleteTrainee->setEnabled(false);
ui->btnEdit->setEnabled(true);
}
//ui->btnToOrFromArchiveTrainee->setEnabled(true);
//ui->btnEdit->setEnabled(true);
ui->btnArchive->setEnabled(true); ui->btnArchive->setEnabled(true);
} }
} }

View File

@@ -3,9 +3,8 @@
#include <QDialog> #include <QDialog>
#include <QTreeWidget> #include <QTreeWidget>
//#include "computersLocations.h"
#include "interfacedatabaselms.h"
#include "traineesview.h" #include "traineesview.h"
//#include "computersLocations.h"
namespace Ui { namespace Ui {
class EditorTrainees; class EditorTrainees;
@@ -13,7 +12,7 @@ class EditorTrainees;
//Виджет для редактирования БД Обучаемых //Виджет для редактирования БД Обучаемых
class EditorTrainees : /*public QDialog,*/ public TraineesView class EditorTrainees : public TraineesView
{ {
Q_OBJECT Q_OBJECT

View File

@@ -24,7 +24,8 @@
<widget class="QWidget" name="widget" native="true"> <widget class="QWidget" name="widget" native="true">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
@@ -34,32 +35,7 @@
<item row="0" column="0"> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_1"> <layout class="QHBoxLayout" name="horizontalLayout_1">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_1"> <layout class="QVBoxLayout" name="verticalLayout_1"/>
<item>
<widget class="QTreeWidget" name="treeWidget">
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="columnCount">
<number>1</number>
</property>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QWidget" name="widget_2" native="true"> <widget class="QWidget" name="widget_2" native="true">
@@ -78,6 +54,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">

View File

@@ -1,25 +1,59 @@
#include <QHeaderView> #include <QHeaderView>
#include "traineesview.h" #include "traineesview.h"
TraineesView::TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, bool adminMode, QWidget *parent): TraineesView::TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent):
CommonView(type, adminMode, parent), CommonView(dbLMS, type, parent)
dbLMS(dbLMS)
{ {
} }
void TraineesView::preparationTreeWidget(QTreeWidget *tree) void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
{ {
treeWidget = tree; if(typeView == TypeView::onlyView)
{
if(adminMode)
archiveVisible = true;
else
archiveVisible = false;
}
else
{
archiveVisible = true;
}
if(adminMode)
{
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, false);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, false);
}
else
{
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_ID, true);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
}
updateButtons();
if(treeTrainee)
loadTraineesFromDB();
}
void TraineesView::preparationTreeWidget(/*QTreeWidget *tree*/)
{
//treeWidget = tree;
/*
if(treeWidget == nullptr) if(treeWidget == nullptr)
return; return;
*/
treeWidget->setColumnCount(10); treeWidget->setColumnCount(10);
reSetHeadTreeWidget(); reSetHeadTreeWidget();
treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;")); //treeWidget->header()->setStyleSheet(QStringLiteral("font-size: 10pt;"));
treeWidget->setStyleSheet(QStringLiteral("font-size: 10pt;"
"font-family: Tahoma;"));
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 80); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 80);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, 250); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, 250);
@@ -28,8 +62,8 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 130); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 130); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 80); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Tasks, 200); treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Tasks, 200);
@@ -40,15 +74,21 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true); treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Password, true);
treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true); treeWidget->setColumnHidden(ColumnsTreeTrainees::clmn_Archived, true);
archiveVisible = false; if(adminMode)
archiveVisible = true;
else
archiveVisible = false;
notLoggedInVisible = true; notLoggedInVisible = true;
} }
else else
{//control {//control
archiveVisible = true;
notLoggedInVisible = true;
if(adminMode) if(adminMode)
{ {
archiveVisible = true;
notLoggedInVisible = true;
} }
else else
{ {
@@ -63,19 +103,23 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
void TraineesView::loadTraineesFromDB() void TraineesView::loadTraineesFromDB()
{ {
QList <Group> listGroups; /*
QList <Trainee> listTrainees;
//dbTrainees->transactionBegin();
listGroups = dbLMS->getListGroups();
listTrainees = dbLMS->getListTrainees();
//dbTrainees->transactionEnd();
if(treeWidget == nullptr) if(treeWidget == nullptr)
return; return;*/
//Обновление дерева //Обновление дерева
treeWidget->clear(); treeWidget->clear();
if(!dbLMS->DBisConnected())
return;
QList <Group> listGroups;
QList <Trainee> listTrainees;
//dbLMS->transactionBegin();
listGroups = dbLMS->getListGroups();
listTrainees = dbLMS->getListTrainees();
//dbLMS->transactionEnd();
for(Group group : listGroups) for(Group group : listGroups)
{ {
//Группа //Группа
@@ -102,7 +146,8 @@ void TraineesView::loadTraineesFromDB()
ItemTrainee->setText(ColumnsTreeTrainees::clmn_IP_address, trainee.getComputer().getIpAddress()); ItemTrainee->setText(ColumnsTreeTrainees::clmn_IP_address, trainee.getComputer().getIpAddress());
//Сокрытие пароля //Сокрытие пароля
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, QStringLiteral("******")); if(!adminMode)
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Password, QStringLiteral("******"));
if(trainee.getArchived()) if(trainee.getArchived())
{//Архивный {//Архивный

View File

@@ -2,7 +2,6 @@
#define TRAINEESVIEW_H #define TRAINEESVIEW_H
#include "instructorsAndTrainees_global.h" #include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
#include "commonview.h" #include "commonview.h"
//Родительский класс представления БД Обучаемых (для просмотра и управления) //Родительский класс представления БД Обучаемых (для просмотра и управления)
@@ -12,7 +11,7 @@ class TraineesView: public CommonView
Q_OBJECT Q_OBJECT
public: public:
TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, bool adminMode, QWidget *parent = nullptr); TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent = nullptr);
protected: protected:
enum ColumnsTreeTrainees{ enum ColumnsTreeTrainees{
@@ -28,14 +27,16 @@ protected:
clmn_ID clmn_ID
}; };
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);
protected: protected:
void preparationTreeWidget(QTreeWidget* tree); virtual void updateButtons(){};
void preparationTreeWidget(/*QTreeWidget* tree*/);
void loadTraineesFromDB(); void loadTraineesFromDB();
void reSetHeadTreeWidget(); void reSetHeadTreeWidget();
protected:
InterfaceDataBaseLMS* dbLMS;
}; };
#endif // TRAINEESVIEW_H #endif // TRAINEESVIEW_H

View File

@@ -2,21 +2,18 @@
#include "viewertrainees.h" #include "viewertrainees.h"
#include "ui_viewertrainees.h" #include "ui_viewertrainees.h"
ViewerTrainees::ViewerTrainees(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent) : ViewerTrainees::ViewerTrainees(InterfaceDataBaseLMS* db, QWidget *parent) :
TraineesView(db, CommonView::TypeView::onlyView, adminMode, parent), TraineesView(db, CommonView::TypeView::onlyView, parent),
ui(new Ui::ViewerTrainees) ui(new Ui::ViewerTrainees)
{ {
ui->setupUi(this); ui->setupUi(this);
this->adminMode = adminMode; connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged);
// Сделаем первоначальную инициализацию перевода для окна виджета ui->horizontalLayout_2->addWidget(treeWidget);
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + QString(QStringLiteral("ru_RU")), QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
preparationTreeWidget(ui->treeWidget); preparationTreeWidget(/*ui->treeWidget*/);
setNotLoggedInVisible(true); setNotLoggedInVisible(true);
loadTraineesFromDB();
} }
ViewerTrainees::~ViewerTrainees() ViewerTrainees::~ViewerTrainees()
@@ -24,12 +21,7 @@ ViewerTrainees::~ViewerTrainees()
delete ui; delete ui;
} }
void ViewerTrainees::setFilterTraineeLoggedIn(bool enabled) /*
{
setNotLoggedInVisible(!enabled);
loadTraineesFromDB();
}
void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column) void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
{ {
if(item->childCount() == 0) if(item->childCount() == 0)
@@ -37,20 +29,20 @@ void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column
QString login = item->text(ColumnsTreeTrainees::clmn_Login); QString login = item->text(ColumnsTreeTrainees::clmn_Login);
Q_EMIT signal_traineeSelected(login); Q_EMIT signal_traineeSelected(login);
} }
} }*/
void ViewerTrainees::slot_tabMessengerChanged(QString login) void ViewerTrainees::slot_tabMessengerChanged(QString login)
{ {
for (int i = 0; i < ui->treeWidget->topLevelItemCount(); i++) for (int i = 0; i < treeWidget->topLevelItemCount(); i++)
{//Проход по группам {//Проход по группам
int countChild = ui->treeWidget->topLevelItem(i)->childCount(); int countChild = treeWidget->topLevelItem(i)->childCount();
for (int j = 0; j < countChild; j++) for (int j = 0; j < countChild; j++)
{//Проход по обучаемым {//Проход по обучаемым
QString loginChild = ui->treeWidget->topLevelItem(i)->child(j)->text(ColumnsTreeTrainees::clmn_Login); QString loginChild = treeWidget->topLevelItem(i)->child(j)->text(ColumnsTreeTrainees::clmn_Login);
if(loginChild == login) if(loginChild == login)
{ {
ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(i)->child(j)); treeWidget->setCurrentItem(treeWidget->topLevelItem(i)->child(j));
Q_EMIT signal_traineeSelected(login); Q_EMIT signal_traineeSelected(login);
return; return;
} }
@@ -62,22 +54,19 @@ void ViewerTrainees::changeEvent(QEvent *event)
{ {
// В случае получения события изменения языка приложения // В случае получения события изменения языка приложения
if (event->type() == QEvent::LanguageChange) if (event->type() == QEvent::LanguageChange)
{ {// переведём окно заново
ui->retranslateUi(this); // переведём окно заново ui->retranslateUi(this);
reSetHeadTreeWidget(); reSetHeadTreeWidget();
loadTraineesFromDB(); //loadTraineesFromDB();
slot_NeedUpdateUI(false, true);
} }
} }
void ViewerTrainees::slot_LanguageChanged(QString language)
{
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + language, QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
}
void ViewerTrainees::on_btnEditorTrainees_clicked() void ViewerTrainees::on_btnEditorTrainees_clicked()
{ {
Q_EMIT signal_BlockAutorization(true);
EditorTrainees editorTraineesGroups(dbLMS, adminMode); EditorTrainees editorTraineesGroups(dbLMS, adminMode);
QDialog* dialog = new QDialog(this); QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog); QHBoxLayout *layout = new QHBoxLayout(dialog);
@@ -87,4 +76,30 @@ void ViewerTrainees::on_btnEditorTrainees_clicked()
dialog->exec(); dialog->exec();
loadTraineesFromDB(); loadTraineesFromDB();
Q_EMIT signal_BlockAutorization(false);
}
void ViewerTrainees::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
{
if(current == nullptr)
return;
if(current->childCount() == 0)
{//Выбран обучаемый
QString login = current->text(ColumnsTreeTrainees::clmn_Login);
Q_EMIT signal_traineeSelected(login);
}
}
void ViewerTrainees::updateButtons()
{
if(authComplited)
{
ui->btnEditorTrainees->setEnabled(true);
}
else
{
ui->btnEditorTrainees->setEnabled(false);
}
} }

View File

@@ -1,11 +1,6 @@
#ifndef TRAINEESWIDGET_H #ifndef TRAINEESWIDGET_H
#define TRAINEESWIDGET_H #define TRAINEESWIDGET_H
#include <QWidget>
#include <QObject>
#include <QEvent>
#include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
#include "traineesview.h" #include "traineesview.h"
namespace Ui { namespace Ui {
@@ -19,24 +14,20 @@ class ViewerTrainees : public TraineesView
Q_OBJECT Q_OBJECT
public: public:
explicit ViewerTrainees(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent = nullptr); explicit ViewerTrainees(InterfaceDataBaseLMS* db, QWidget *parent = nullptr);
~ViewerTrainees(); ~ViewerTrainees();
protected: protected:
// Метод получения событий
// В нём будет производиться проверка события смены перевода приложения
void changeEvent(QEvent * event) override; void changeEvent(QEvent * event) override;
public Q_SLOTS: Q_SIGNALS:
void slot_LanguageChanged(QString language); //сигнал о блокировке авторизации
void signal_BlockAutorization(bool block);
public:
void setFilterTraineeLoggedIn( bool enabled );
private Q_SLOTS: private Q_SLOTS:
void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column); //void on_treeWidget_itemClicked(QTreeWidgetItem *item, int column);
void on_btnEditorTrainees_clicked(); void on_btnEditorTrainees_clicked();
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
public Q_SLOTS: public Q_SLOTS:
//слот обработки сигнала об изменении вкладки диалога в мессенджере //слот обработки сигнала об изменении вкладки диалога в мессенджере
@@ -46,6 +37,9 @@ Q_SIGNALS:
//сигнал о выборе обучаемого //сигнал о выборе обучаемого
void signal_traineeSelected(QString login); void signal_traineeSelected(QString login);
private:
void updateButtons() override;
private: private:
Ui::ViewerTrainees *ui; Ui::ViewerTrainees *ui;
}; };

View File

@@ -13,6 +13,7 @@
<property name="font"> <property name="font">
<font> <font>
<family>Tahoma</family> <family>Tahoma</family>
<pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -38,6 +39,9 @@
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QToolButton" name="btnEditorTrainees"> <widget class="QToolButton" name="btnEditorTrainees">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>130</width> <width>130</width>
@@ -77,30 +81,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<widget class="QTreeWidget" name="treeWidget">
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="columnCount">
<number>1</number>
</property>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>

View File

@@ -0,0 +1,492 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>DialogAuthorizationInstructor</name>
<message>
<location filename="../instructors/dialogauthorizationinstructor.ui" line="19"/>
<source>Instructor authorization</source>
<translation>Авторизация инструктора</translation>
</message>
<message>
<location filename="../instructors/dialogauthorizationinstructor.ui" line="29"/>
<source>Login</source>
<translation>Логин</translation>
</message>
<message>
<location filename="../instructors/dialogauthorizationinstructor.ui" line="36"/>
<location filename="../instructors/dialogauthorizationinstructor.ui" line="54"/>
<source>admin</source>
<translation></translation>
</message>
<message>
<location filename="../instructors/dialogauthorizationinstructor.ui" line="47"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
</context>
<context>
<name>DialogEditGroup</name>
<message>
<location filename="../trainees/dialogeditgroup.ui" line="19"/>
<source>Group</source>
<translation>Группа</translation>
</message>
<message>
<location filename="../trainees/dialogeditgroup.ui" line="33"/>
<source>Name</source>
<translation>Имя</translation>
</message>
</context>
<context>
<name>DialogEditInstructor</name>
<message>
<location filename="../instructors/dialogeditinstructor.ui" line="19"/>
<source>Instructor</source>
<translation>Инструктор</translation>
</message>
<message>
<location filename="../instructors/dialogeditinstructor.ui" line="29"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../instructors/dialogeditinstructor.ui" line="47"/>
<source>Login</source>
<translation>Логин</translation>
</message>
<message>
<location filename="../instructors/dialogeditinstructor.ui" line="61"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location filename="../instructors/dialogeditinstructor.ui" line="78"/>
<source>Administrator</source>
<translation>Администратор</translation>
</message>
<message>
<location filename="../instructors/dialogeditinstructor.ui" line="100"/>
<source>Archived</source>
<translation>Архивный</translation>
</message>
<message>
<location filename="../instructors/dialogeditinstructor.ui" line="122"/>
<source>Logged</source>
<translation>Залогирован</translation>
</message>
</context>
<context>
<name>DialogEditTrainee</name>
<message>
<location filename="../trainees/dialogedittrainee.ui" line="19"/>
<source>Trainee</source>
<translation>Обучаемый</translation>
</message>
<message>
<location filename="../trainees/dialogedittrainee.ui" line="46"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../trainees/dialogedittrainee.ui" line="60"/>
<source>Login</source>
<translation>Логин</translation>
</message>
<message>
<location filename="../trainees/dialogedittrainee.ui" line="74"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location filename="../trainees/dialogedittrainee.ui" line="91"/>
<source>Archived</source>
<translation>Архивный</translation>
</message>
<message>
<location filename="../trainees/dialogedittrainee.ui" line="113"/>
<source>Logged</source>
<translation>Залогирован</translation>
</message>
</context>
<context>
<name>EditorInstructors</name>
<message>
<location filename="../instructors/editorinstructors.ui" line="14"/>
<source>List instructors</source>
<translation>Список инструкторов</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.ui" line="104"/>
<source>New instructor</source>
<translation>Новый инструктор</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.ui" line="142"/>
<source>Delete instructor</source>
<translation>Удалить инструктора</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.ui" line="174"/>
<location filename="../instructors/editorinstructors.cpp" line="224"/>
<source>To archive</source>
<translation>Архивировать</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.ui" line="212"/>
<source>Edit</source>
<translation>Редактировать</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.ui" line="263"/>
<source>Show archive</source>
<translation>Показать архив</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.cpp" line="89"/>
<source>Error!</source>
<translation>Ошибка!</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.cpp" line="89"/>
<source>You cannot delete the Administrator.</source>
<translation>Нельзя удалить администратора.</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.cpp" line="93"/>
<source>Attention!</source>
<translation>Внимание!</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.cpp" line="93"/>
<source>The deletion will be irrevocable.
Delete it anyway?</source>
<translation>Удаление будет безвозвратным.
Всё равно удалить?</translation>
</message>
<message>
<location filename="../instructors/editorinstructors.cpp" line="219"/>
<source>From archive</source>
<translation>Разархивировать</translation>
</message>
</context>
<context>
<name>EditorTrainees</name>
<message>
<location filename="../trainees/editortrainees.ui" line="20"/>
<source>List trainees</source>
<translation>Список обучаемых</translation>
</message>
<message>
<location filename="../trainees/editortrainees.ui" line="113"/>
<source>New group</source>
<translation>Новая группа</translation>
</message>
<message>
<location filename="../trainees/editortrainees.ui" line="151"/>
<source>Delete group</source>
<translation>Удалить группу</translation>
</message>
<message>
<location filename="../trainees/editortrainees.ui" line="189"/>
<source>New trainee</source>
<translation>Новый обучаемый</translation>
</message>
<message>
<location filename="../trainees/editortrainees.ui" line="227"/>
<source>Delete trainee</source>
<translation>Удалить обучаемого</translation>
</message>
<message>
<location filename="../trainees/editortrainees.ui" line="265"/>
<location filename="../trainees/editortrainees.cpp" line="394"/>
<location filename="../trainees/editortrainees.cpp" line="416"/>
<source>To archive</source>
<translation>Архивировать</translation>
</message>
<message>
<location filename="../trainees/editortrainees.ui" line="303"/>
<source>Edit</source>
<translation>Редактировать</translation>
</message>
<message>
<location filename="../trainees/editortrainees.ui" line="354"/>
<source>Show archive</source>
<translation>Показать архив</translation>
</message>
<message>
<location filename="../trainees/editortrainees.cpp" line="90"/>
<source>Editing error!</source>
<translation>Ошибка редактирования!</translation>
</message>
<message>
<location filename="../trainees/editortrainees.cpp" line="90"/>
<source>The group is not empty.
It is not possible to delete a non-empty group.</source>
<translation>Группа не пуста. Невозможно удалить непустую группу.</translation>
</message>
<message>
<location filename="../trainees/editortrainees.cpp" line="95"/>
<location filename="../trainees/editortrainees.cpp" line="187"/>
<source>Attention!</source>
<translation>Внимание!</translation>
</message>
<message>
<location filename="../trainees/editortrainees.cpp" line="95"/>
<location filename="../trainees/editortrainees.cpp" line="187"/>
<source>The deletion will be irrevocable.
Delete anyway?</source>
<translation>Удаление будет безвозвратным. Всё равно удалить?</translation>
</message>
<message>
<location filename="../trainees/editortrainees.cpp" line="409"/>
<source>From archive</source>
<translation>Разархивировать</translation>
</message>
</context>
<context>
<name>InstructorsAndTraineesWidget</name>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="14"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="27"/>
<source>Database LMS</source>
<translation>База данных СУО</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="46"/>
<source>Connection to DB</source>
<translation>Соединиться с БД</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="75"/>
<location filename="../instructorsandtraineeswidget.cpp" line="55"/>
<location filename="../instructorsandtraineeswidget.cpp" line="215"/>
<source>Authorization Instructor</source>
<translation>Авторизация инструктора</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="111"/>
<source>Logged in instructor:</source>
<translation>Авторизованный инструктор:</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.ui" line="118"/>
<location filename="../instructorsandtraineeswidget.cpp" line="236"/>
<source>none</source>
<translation>нет</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.cpp" line="53"/>
<location filename="../instructorsandtraineeswidget.cpp" line="199"/>
<source>Deauthorization Instructor</source>
<translation>Деавторизация инструктора</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.cpp" line="59"/>
<location filename="../instructorsandtraineeswidget.cpp" line="164"/>
<source>Disconnection DB</source>
<translation>Отключение БД</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.cpp" line="61"/>
<location filename="../instructorsandtraineeswidget.cpp" line="181"/>
<source>Connection DB</source>
<translation>Подключение БД</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.cpp" line="78"/>
<location filename="../instructorsandtraineeswidget.cpp" line="98"/>
<location filename="../instructorsandtraineeswidget.cpp" line="103"/>
<source>Instructor authorization</source>
<translation>Авторизация инструктора</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.cpp" line="98"/>
<source>Successfully!</source>
<translation>Успешно!</translation>
</message>
<message>
<location filename="../instructorsandtraineeswidget.cpp" line="103"/>
<source>Invalid login or password!</source>
<translation>Неправильный логин или пароль!</translation>
</message>
</context>
<context>
<name>InstructorsView</name>
<message>
<location filename="../instructors/instructorsview.cpp" line="92"/>
<location filename="../instructors/instructorsview.cpp" line="105"/>
<location filename="../instructors/instructorsview.cpp" line="115"/>
<source>yes</source>
<translation>да</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="98"/>
<location filename="../instructors/instructorsview.cpp" line="110"/>
<location filename="../instructors/instructorsview.cpp" line="120"/>
<source>no</source>
<translation>нет</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="147"/>
<source>Instructor</source>
<translation>Инструктор</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="147"/>
<source>Login</source>
<translation>Логин</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="147"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="147"/>
<source>Administrator</source>
<translation>Администратор</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="147"/>
<source>Archived</source>
<translation>Архивный</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="147"/>
<source>Logged</source>
<translation>Залогирован</translation>
</message>
<message>
<location filename="../instructors/instructorsview.cpp" line="147"/>
<source>ID</source>
<translation>ID</translation>
</message>
</context>
<context>
<name>TasksWidget</name>
<message>
<location filename="../tasks/taskswidget.ui" line="14"/>
<location filename="../tasks/taskswidget.ui" line="22"/>
<source>Task manager</source>
<translation>Менеджер задач</translation>
</message>
</context>
<context>
<name>TraineesView</name>
<message>
<location filename="../trainees/traineesview.cpp" line="114"/>
<location filename="../trainees/traineesview.cpp" line="127"/>
<source>yes</source>
<translation>да</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="120"/>
<location filename="../trainees/traineesview.cpp" line="132"/>
<source>no</source>
<translation>нет</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Trainee</source>
<translation>Обучаемый</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Login</source>
<translation>Логин</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Password</source>
<translation>Пароль</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Class</source>
<translation>Класс</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Computer</source>
<translation>Компьютер</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>IP address</source>
<translation>IP адрес</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Archived</source>
<translation>Архивный</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Logged</source>
<translation>Залогирован</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>Tasks</source>
<translation>Задачи</translation>
</message>
<message>
<location filename="../trainees/traineesview.cpp" line="169"/>
<source>ID</source>
<translation>ID</translation>
</message>
</context>
<context>
<name>ViewerInstructors</name>
<message>
<location filename="../instructors/viewerinstructors.ui" line="19"/>
<location filename="../instructors/viewerinstructors.ui" line="32"/>
<source>Instructors</source>
<translation>Инструкторы</translation>
</message>
<message>
<location filename="../instructors/viewerinstructors.ui" line="51"/>
<source>Editor of Instructors</source>
<translation>Редактор инструкторов</translation>
</message>
<message>
<location filename="../instructors/viewerinstructors.cpp" line="63"/>
<source>Attention!</source>
<translation>Внимание!</translation>
</message>
<message>
<location filename="../instructors/viewerinstructors.cpp" line="64"/>
<source>Only the Administrator has the right to edit instructors.</source>
<translation>Только Администратор имеет право редактировать инструкторов.</translation>
</message>
<message>
<location filename="../instructors/viewerinstructors.cpp" line="72"/>
<source>Editor of instructors</source>
<translation>Редактор инструкторов</translation>
</message>
</context>
<context>
<name>ViewerTrainees</name>
<message>
<location filename="../trainees/viewertrainees.ui" line="19"/>
<location filename="../trainees/viewertrainees.ui" line="32"/>
<source>Trainees</source>
<translation>Обучаемые</translation>
</message>
<message>
<location filename="../trainees/viewertrainees.ui" line="51"/>
<source>Editor of Trainees</source>
<translation>Редактор обучаемых</translation>
</message>
<message>
<location filename="../trainees/viewertrainees.cpp" line="92"/>
<source>Editor of trainees</source>
<translation>Редактор обучаемых</translation>
</message>
</context>
</TS>

View File

@@ -11,6 +11,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5 COMPONENTS Widgets REQUIRED) find_package(Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt5 COMPONENTS Sql REQUIRED) find_package(Qt5 COMPONENTS Sql REQUIRED)
find_package(Qt5 COMPONENTS LinguistTools REQUIRED)
add_library(DataBaseLMS SHARED add_library(DataBaseLMS SHARED
DataBaseLMS_global.h DataBaseLMS_global.h

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-11-13T17:15:54. --> <!-- Written by QtCreator 4.11.1, 2024-11-25T15:15:00. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@@ -8,7 +8,7 @@ DataBaseLMS::DataBaseLMS():
db(nullptr), db(nullptr),
transactionBegined(false) transactionBegined(false)
{ {
createConnection();
} }
DataBaseLMS::~DataBaseLMS() DataBaseLMS::~DataBaseLMS()
@@ -24,12 +24,11 @@ bool DataBaseLMS::createConnection()
db->setPassword(dbPassword); db->setPassword(dbPassword);
if(!db->open()) if(!db->open())
{ {
QMessageBox::critical(nullptr, dbName, "Connection error: " + db->lastError().text()); deleteConnection();
return false; return false;
} }
else else
{ {
QMessageBox::information(nullptr, dbName, "Connection is successful!");
return true; return true;
} }
} }
@@ -49,18 +48,34 @@ void DataBaseLMS::deleteConnection()
} }
} }
bool DataBaseLMS::isConnected()
{
if(db == nullptr)
return false;
else
{
if(db->isOpen())
return true;
}
return false;
}
bool DataBaseLMS::transactionBegin() bool DataBaseLMS::transactionBegin()
{ {
/*
if(transactionBegined) if(transactionBegined)
QSqlDatabase::database().rollback(); QSqlDatabase::database().rollback();
transactionBegined = true; transactionBegined = true;
return QSqlDatabase::database().transaction(); return QSqlDatabase::database().transaction();
*/
return true;
} }
bool DataBaseLMS::transactionEnd() bool DataBaseLMS::transactionEnd()
{ {
/*
if(transactionBegined) if(transactionBegined)
{ {
transactionBegined = false; transactionBegined = false;
@@ -68,6 +83,8 @@ bool DataBaseLMS::transactionEnd()
return QSqlDatabase::database().commit(); return QSqlDatabase::database().commit();
} }
return false; return false;
*/
return true;
} }
QList<Instructor> DataBaseLMS::selectAllInstructors() QList<Instructor> DataBaseLMS::selectAllInstructors()
@@ -236,6 +253,27 @@ int DataBaseLMS::selectInstructorID(QString login, QString password)
return queryExecInt(queryStr); return queryExecInt(queryStr);
} }
QString DataBaseLMS::selectInstructorNameByLogin(QString login)
{
QString queryStr = QString("SELECT instructors.name "
"FROM public.instructors "
"WHERE instructors.login = '%1' ").arg(
login );
QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toString();
}
return QStringLiteral("");
}
bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor) bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor)
{ {
QString queryStr = QString("SELECT instructors.is_admin " QString queryStr = QString("SELECT instructors.is_admin "
@@ -251,7 +289,7 @@ bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor)
} }
else else
{ {
if(query.next()) if(query.first())
return query.value(0).toBool(); return query.value(0).toBool();
} }
return false; return false;
@@ -272,7 +310,7 @@ bool DataBaseLMS::selectInstructorLoggedIn(int id_instructor)
} }
else else
{ {
if(query.next()) if(query.first())
return query.value(0).toBool(); return query.value(0).toBool();
} }
return false; return false;
@@ -293,7 +331,7 @@ bool DataBaseLMS::selectInstructorArchived(int id_instructor)
} }
else else
{ {
if(query.next()) if(query.first())
return query.value(0).toBool(); return query.value(0).toBool();
} }
return false; return false;
@@ -311,6 +349,25 @@ int DataBaseLMS::updateInstructorLoggedIn(int id_instructor, bool loggedIn)
return queryExecInt(queryStr); return queryExecInt(queryStr);
} }
bool DataBaseLMS::updateAllInstructorsLoggedIn(bool loggedIn)
{
QString queryStr = QString("UPDATE public.instructors "
"SET logged_in = %1 ").arg(
loggedIn ? "true" : "false");
QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
return false;
}
else
{
return true;
}
}
int DataBaseLMS::updateInstructorArchived(int id_instructor, bool archived) int DataBaseLMS::updateInstructorArchived(int id_instructor, bool archived)
{ {
QString queryStr = QString("UPDATE public.instructors " QString queryStr = QString("UPDATE public.instructors "
@@ -560,6 +617,93 @@ int DataBaseLMS::selectTraineeID(QString login, QString password)
return queryExecInt(queryStr); return queryExecInt(queryStr);
} }
QString DataBaseLMS::selectTraineeNameByLogin(QString login)
{
QString queryStr = QString("SELECT trainees.name "
"FROM public.trainees "
"WHERE trainees.login = '%1' ").arg(
login );
QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toString();
}
return QStringLiteral("");
}
QString DataBaseLMS::selectTraineeNameOnComputer(QString computer_name)
{
QString queryStr = QString("SELECT trainees.name "
"FROM public.trainees JOIN public.computers ON computers.computer_id = trainees.computer_trainee "
"WHERE computers.name = '%1' ").arg(
computer_name);
QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toString();
}
return QStringLiteral("");
}
Trainee DataBaseLMS::selectTraineeOnComputer(QString computer_name)
{
Trainee trainee;
QString queryStr = QString("SELECT trainees.trainee_id, trainees.name, trainees.login, trainees.password, trainees.archived, trainees.logged_in, "
"groups.group_id, groups.name, "
"computers.computer_id, computers.name, computers.ip_address, "
"classrooms.classroom_id, classrooms.name "
"FROM public.trainees JOIN public.groups ON groups.group_id = trainees.group_trainee "
"LEFT OUTER JOIN public.computers ON computers.computer_id = trainees.computer_trainee "
"LEFT OUTER JOIN public.classrooms ON classrooms.classroom_id = computers.classroom_computer "
"WHERE computers.name = '%1' ").arg(
computer_name);
QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if (query.first())
{//Инструктор
trainee.setID(query.value(0).toInt());
trainee.setName(query.value(1).toString());
trainee.setLogin(query.value(2).toString());
trainee.setPassword(query.value(3).toString());
trainee.setArchived(query.value(4).toBool());
trainee.setLoggedIn(query.value(5).toBool());
Group group = Group(query.value(6).toInt(), query.value(7).toString());
trainee.setGroup(group);
Classroom classroom = Classroom(query.value(11).toInt(), query.value(12).toString());
Computer computer = Computer(query.value(8).toInt(), query.value(9).toString(), query.value(10).toString(), classroom);
trainee.setComputer(computer);
trainee.setTasks(selectTasksOfTrainee(trainee.getID()));
}
}
return trainee;
}
bool DataBaseLMS::selectTraineeArchived(int id_trainee) bool DataBaseLMS::selectTraineeArchived(int id_trainee)
{ {
QString queryStr = QString("SELECT trainees.archived " QString queryStr = QString("SELECT trainees.archived "
@@ -575,7 +719,7 @@ bool DataBaseLMS::selectTraineeArchived(int id_trainee)
} }
else else
{ {
if(query.next()) if(query.first())
return query.value(0).toBool(); return query.value(0).toBool();
} }
return false; return false;
@@ -596,7 +740,7 @@ bool DataBaseLMS::selectTraineeLoggedIn(int id_trainee)
} }
else else
{ {
if(query.next()) if(query.first())
return query.value(0).toBool(); return query.value(0).toBool();
} }
return false; return false;
@@ -614,6 +758,25 @@ int DataBaseLMS::updateTraineeLoggedIn(int id_trainee, bool loggedIn)
return queryExecInt(queryStr); return queryExecInt(queryStr);
} }
bool DataBaseLMS::updateAllTraineesLoggedIn(bool loggedIn)
{
QString queryStr = QString("UPDATE public.trainees "
"SET logged_in = %1 ").arg(
loggedIn ? "true" : "false");
QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
return false;
}
else
{
return true;
}
}
int DataBaseLMS::updateTraineeArchived(int id_trainee, bool archived) int DataBaseLMS::updateTraineeArchived(int id_trainee, bool archived)
{ {
QString queryStr = QString("UPDATE public.trainees " QString queryStr = QString("UPDATE public.trainees "
@@ -732,24 +895,6 @@ int DataBaseLMS::queryExecInt(QString queryStr)
return 0; return 0;
} }
} }
/*
bool DataBaseLMS::queryExecBool(QString queryStr)
{
QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
return 0;
}
else
{
if(query.first())
return query.value(0).toBool();
else
return 0;
}
}*/
void DataBaseLMS::messageWarningErrorQuery(QString queryStr, QSqlQuery* query) void DataBaseLMS::messageWarningErrorQuery(QString queryStr, QSqlQuery* query)
{ {

View File

@@ -17,6 +17,7 @@ protected:
//Подключение //Подключение
bool createConnection(); bool createConnection();
void deleteConnection(); void deleteConnection();
bool isConnected();
//Транзакции //Транзакции
bool transactionBegin(); bool transactionBegin();
@@ -30,10 +31,12 @@ protected:
//Инструктор //Инструктор
Instructor selectInstructor(int id_instructor); Instructor selectInstructor(int id_instructor);
int selectInstructorID(QString login, QString password = QStringLiteral("")); int selectInstructorID(QString login, QString password = QStringLiteral(""));
QString selectInstructorNameByLogin(QString login);
bool selectInstructorIsAdmin(int id_instructor); bool selectInstructorIsAdmin(int id_instructor);
bool selectInstructorLoggedIn(int id_instructor); bool selectInstructorLoggedIn(int id_instructor);
bool selectInstructorArchived(int id_instructor); bool selectInstructorArchived(int id_instructor);
int updateInstructorLoggedIn(int id_instructor, bool loggedIn); int updateInstructorLoggedIn(int id_instructor, bool loggedIn);
bool updateAllInstructorsLoggedIn(bool loggedIn);
int updateInstructorArchived(int id_instructor, bool archived); int updateInstructorArchived(int id_instructor, bool archived);
int insertInstructor(); int insertInstructor();
@@ -42,22 +45,26 @@ protected:
int updateInstructor(Instructor instructor); int updateInstructor(Instructor instructor);
//Группа //Группа
Group selectGroup(int id_group);// Group selectGroup(int id_group);
int insertGroup();// int insertGroup();
int insertGroup(Group group); int insertGroup(Group group);
int deleteGroup(int group_id); int deleteGroup(int group_id);
int updateGroup(Group group); int updateGroup(Group group);
//Обучаемый //Обучаемый
Trainee selectTrainee(int id_trainee);// Trainee selectTrainee(int id_trainee);
QList<Trainee> selectAllTraineesInGroup(int id_group); QList<Trainee> selectAllTraineesInGroup(int id_group);
int selectTraineeID(QString login, QString password = QStringLiteral(""));// int selectTraineeID(QString login, QString password = QStringLiteral(""));
bool selectTraineeArchived(int id_trainee);// QString selectTraineeNameByLogin(QString login);
bool selectTraineeLoggedIn(int id_trainee);// QString selectTraineeNameOnComputer(QString computer_name);
int updateTraineeLoggedIn(int id_trainee, bool loggedIn);// Trainee selectTraineeOnComputer(QString computer_name);
int updateTraineeArchived(int id_trainee, bool archived);// bool selectTraineeArchived(int id_trainee);
bool selectTraineeLoggedIn(int id_trainee);
int updateTraineeLoggedIn(int id_trainee, bool loggedIn);
bool updateAllTraineesLoggedIn(bool loggedIn);
int updateTraineeArchived(int id_trainee, bool archived);
int insertTrainee(int id_group);// int insertTrainee(int id_group);
int insertTrainee(Trainee trainee); int insertTrainee(Trainee trainee);
int deleteTrainee(int trainee_id); int deleteTrainee(int trainee_id);
int updateTrainee(Trainee trainee); int updateTrainee(Trainee trainee);
@@ -66,13 +73,13 @@ protected:
private: private:
int queryExecInt(QString queryStr); int queryExecInt(QString queryStr);
//bool queryExecBool(QString queryStr);
void messageWarningErrorQuery(QString queryStr, QSqlQuery* query); void messageWarningErrorQuery(QString queryStr, QSqlQuery* query);
private: protected:
QSqlDatabase* db; QSqlDatabase* db;
bool transactionBegined;
const QString dbName = "DataBaseLMS"; const QString dbName = "DataBaseLMS";
private:
bool transactionBegined;
const QString dbUserName = "postgres"; const QString dbUserName = "postgres";
const QString dbPassword = "12345678"; const QString dbPassword = "12345678";
const QString dbType = "QPSQL"; const QString dbType = "QPSQL";

View File

@@ -1,12 +1,47 @@
#include <QMessageBox> #include <QMessageBox>
#include <QCoreApplication>
#include <QSqlError>
#include "interfacedatabaselms.h" #include "interfacedatabaselms.h"
InterfaceDataBaseLMS::InterfaceDataBaseLMS(): InterfaceDataBaseLMS::InterfaceDataBaseLMS(QWidget* parent):
QWidget(parent),
DataBaseLMS() DataBaseLMS()
{ {
} }
void InterfaceDataBaseLMS::slot_LanguageChanged(QString language)
{
qtLanguageTranslator.load(QString(QStringLiteral("translations/DataBaseLMS_")) + language, QStringLiteral("."));
QCoreApplication::installTranslator(&qtLanguageTranslator);
}
bool InterfaceDataBaseLMS::ConnectionToDB()
{
if(!createConnection())
{
QMessageBox::critical(this, dbName, tr("Connection error: ") + db->lastError().text());
return false;
}
else
{
QMessageBox::information(this, dbName, tr("Connection is successful!"));
return true;
}
}
bool InterfaceDataBaseLMS::DisConnectionFromDB()
{
deleteConnection();
QMessageBox::information(this, dbName, tr("Disconnection is successful!"));
return true;
}
bool InterfaceDataBaseLMS::DBisConnected()
{
return isConnected();
}
//Инструкторы //Инструкторы
bool InterfaceDataBaseLMS::AuthorizationInstructor(QString login, QString password) bool InterfaceDataBaseLMS::AuthorizationInstructor(QString login, QString password)
@@ -39,6 +74,16 @@ bool InterfaceDataBaseLMS::deAuthorizationInstructor(QString login)
return false; return false;
} }
bool InterfaceDataBaseLMS::deAuthorizationAllInstructors()
{
return updateAllInstructorsLoggedIn(false);
}
QString InterfaceDataBaseLMS::getNameInstructorByLogin(QString login)
{
return selectInstructorNameByLogin(login);
}
QList<Instructor> InterfaceDataBaseLMS::getListInstructors() QList<Instructor> InterfaceDataBaseLMS::getListInstructors()
{ {
return selectAllInstructors(); return selectAllInstructors();
@@ -67,35 +112,35 @@ int InterfaceDataBaseLMS::editInstructor(Instructor instructor)
{ {
if(instructor.getName() == QStringLiteral("<instructor>")) if(instructor.getName() == QStringLiteral("<instructor>"))
{//Имя не корректно! {//Имя не корректно!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("Unacceptable instructor name has been entered.\nThe changes will not be accepted.")); tr("Unacceptable instructor name has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
if(instructor.getLogin() == QStringLiteral("<login>")) if(instructor.getLogin() == QStringLiteral("<login>"))
{//Логин не корректен! {//Логин не корректен!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("Unacceptable instructor login has been entered.\nThe changes will not be accepted.")); tr("Unacceptable instructor login has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
if(instructor.getPassword() == QStringLiteral("<password>")) if(instructor.getPassword() == QStringLiteral("<password>"))
{//Пароль не корректный! {//Пароль не корректный!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("Unacceptable instructor password has been entered.\nThe changes will not be accepted.")); tr("Unacceptable instructor password has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
if(instructor.getName() == exist_instructor.getName() && instructor.getID() != exist_instructor.getID()) if(instructor.getName() == exist_instructor.getName() && instructor.getID() != exist_instructor.getID())
{//Имя уже существует {//Имя уже существует
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("An existing instructor name has been entered.")); tr("An existing instructor name has been entered."));
return 0; return 0;
} }
if(instructor.getLogin() == exist_instructor.getLogin() && instructor.getID() != exist_instructor.getID()) if(instructor.getLogin() == exist_instructor.getLogin() && instructor.getID() != exist_instructor.getID())
{//Логин уже существует! {//Логин уже существует!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("An existing instructor login has been entered.\nThe changes will not be accepted.")); tr("An existing instructor login has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
@@ -114,6 +159,11 @@ bool InterfaceDataBaseLMS::isArchivedInstructor(int id)
return selectInstructorArchived(id); return selectInstructorArchived(id);
} }
bool InterfaceDataBaseLMS::isLoggedInInstructor(int id)
{
return selectInstructorLoggedIn(id);
}
//Инструкторы //Инструкторы
@@ -147,6 +197,11 @@ bool InterfaceDataBaseLMS::deAuthorizationTrainee(QString login)
return false; return false;
} }
bool InterfaceDataBaseLMS::deAuthorizationAllTrainees()
{
return updateAllTraineesLoggedIn(false);
}
QList<Task> InterfaceDataBaseLMS::getTasksTrainee(int id) QList<Task> InterfaceDataBaseLMS::getTasksTrainee(int id)
{ {
return selectTasksOfTrainee(id); return selectTasksOfTrainee(id);
@@ -154,35 +209,17 @@ QList<Task> InterfaceDataBaseLMS::getTasksTrainee(int id)
QString InterfaceDataBaseLMS::getNameTraineeOnComputer(QString computer_name) QString InterfaceDataBaseLMS::getNameTraineeOnComputer(QString computer_name)
{ {
/* return selectTraineeNameOnComputer(computer_name);
for(Trainee trainee : listOfTrainees)
{
if(trainee.getComputer().getName() == computer_name)
return trainee.getName();
}*/
return QString(QStringLiteral(""));
} }
Trainee InterfaceDataBaseLMS::getTraineeOnComputer(QString computer_name) Trainee InterfaceDataBaseLMS::getTraineeOnComputer(QString computer_name)
{ {
/* return selectTraineeOnComputer(computer_name);
for(Trainee trainee : listOfTrainees)
{
if(trainee.getComputer().getName() == computer_name)
return trainee;
}*/
return Trainee();
} }
QString InterfaceDataBaseLMS::getNameTraineeByLogin(QString login) QString InterfaceDataBaseLMS::getNameTraineeByLogin(QString login)
{ {
/* return selectTraineeNameByLogin(login);
for(Trainee trainee : listOfTrainees)
{
if(trainee.getLogin() == login)
return trainee.getName();
}*/
return QString(QStringLiteral(""));
} }
QList<Trainee> InterfaceDataBaseLMS::getListTraineesInGroup(int id) QList<Trainee> InterfaceDataBaseLMS::getListTraineesInGroup(int id)
@@ -228,15 +265,15 @@ int InterfaceDataBaseLMS::editGroup(Group group)
{ {
if(group.getName() == QStringLiteral("<group>")) if(group.getName() == QStringLiteral("<group>"))
{//Имя не корректно! {//Имя не корректно!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("Unacceptable group name has been entered.\nThe changes will not be accepted.")); tr("Unacceptable group name has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
if(group.getName() == exist_group.getName() && group.getID() != exist_group.getID()) if(group.getName() == exist_group.getName() && group.getID() != exist_group.getID())
{//Имя уже существует {//Имя уже существует
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("An existing group name has been entered.")); tr("An existing group name has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
} }
@@ -262,35 +299,35 @@ int InterfaceDataBaseLMS::editTrainee(Trainee trainee)
{ {
if(trainee.getName() == QStringLiteral("<trainee>")) if(trainee.getName() == QStringLiteral("<trainee>"))
{//Имя не корректно! {//Имя не корректно!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("Unacceptable trainee name has been entered.\nThe changes will not be accepted.")); tr("Unacceptable trainee name has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
if(trainee.getLogin() == QStringLiteral("<login>")) if(trainee.getLogin() == QStringLiteral("<login>"))
{//Логин не корректен! {//Логин не корректен!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("Unacceptable trainee login has been entered.\nThe changes will not be accepted.")); tr("Unacceptable trainee login has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
if(trainee.getPassword() == QStringLiteral("<password>")) if(trainee.getPassword() == QStringLiteral("<password>"))
{//Пароль не корректный! {//Пароль не корректный!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("Unacceptable trainee password has been entered.\nThe changes will not be accepted.")); tr("Unacceptable trainee password has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
if(trainee.getName() == exist_trainee.getName() && trainee.getID() != exist_trainee.getID()) if(trainee.getName() == exist_trainee.getName() && trainee.getID() != exist_trainee.getID())
{//Имя уже существует {//Имя уже существует
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("An existing trainee name has been entered.")); tr("An existing trainee name has been entered."));
return 0; return 0;
} }
if(trainee.getLogin() == exist_trainee.getLogin() && trainee.getID() != exist_trainee.getID()) if(trainee.getLogin() == exist_trainee.getLogin() && trainee.getID() != exist_trainee.getID())
{//Логин уже существует! {//Логин уже существует!
QMessageBox::critical(nullptr, tr("Editing error!"), QMessageBox::critical(this, tr("Editing error!"),
tr("An existing trainee login has been entered.\nThe changes will not be accepted.")); tr("An existing trainee login has been entered.\nThe changes will not be accepted."));
return 0; return 0;
} }
@@ -303,3 +340,8 @@ bool InterfaceDataBaseLMS::isArchivedTrainee(int id)
{ {
return selectTraineeArchived(id); return selectTraineeArchived(id);
} }
bool InterfaceDataBaseLMS::isLoggedInTrainee(int id)
{
return selectTraineeLoggedIn(id);
}

View File

@@ -2,23 +2,35 @@
#define INTERFACEDATABASELMS_H #define INTERFACEDATABASELMS_H
#include <QObject> #include <QObject>
#include <QWidget>
#include <QTranslator>
#include "DataBaseLMS_global.h" #include "DataBaseLMS_global.h"
#include "databaselms.h" #include "databaselms.h"
class DATABASELMS_EXPORT InterfaceDataBaseLMS : public QObject, DataBaseLMS class DATABASELMS_EXPORT InterfaceDataBaseLMS : public /*QObject*/QWidget, DataBaseLMS
{ {
Q_OBJECT Q_OBJECT
public: public:
InterfaceDataBaseLMS(); InterfaceDataBaseLMS(QWidget* parent = nullptr);
public Q_SLOTS:
void slot_LanguageChanged(QString language);
public: public:
//Соединение
bool ConnectionToDB();
bool DisConnectionFromDB();
bool DBisConnected();
//Инструкторы //Инструкторы
bool AuthorizationInstructor(QString login, QString password); bool AuthorizationInstructor(QString login, QString password);
bool deAuthorizationInstructor(QString login); bool deAuthorizationInstructor(QString login);
bool deAuthorizationAllInstructors();
QString getNameInstructorByLogin(QString login);
QList<Instructor> getListInstructors(); QList<Instructor> getListInstructors();
Instructor getInstructor(int id); Instructor getInstructor(int id);
@@ -29,12 +41,14 @@ public:
bool isAdminInstructor(int id); bool isAdminInstructor(int id);
bool isArchivedInstructor(int id); bool isArchivedInstructor(int id);
bool isLoggedInInstructor(int id);
//Обучаемые //Обучаемые
bool AuthorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name); bool AuthorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name);
bool deAuthorizationTrainee(QString login); bool deAuthorizationTrainee(QString login);
bool deAuthorizationAllTrainees();
//void setTasks(QString login, QStringList tasks); //void setTasks(QString login, QStringList tasks);
QList<Task> getTasksTrainee(int id); QList<Task> getTasksTrainee(int id);
@@ -60,8 +74,10 @@ public:
int editTrainee(Trainee trainee); int editTrainee(Trainee trainee);
bool isArchivedTrainee(int id); bool isArchivedTrainee(int id);
bool isLoggedInTrainee(int id);
private:
QTranslator qtLanguageTranslator;
}; };
#endif // INTERFACEDATABASELMS_H #endif // INTERFACEDATABASELMS_H

Binary file not shown.

View File

@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>InterfaceDataBaseLMS</name>
<message>
<location filename="../interfacedatabaselms.cpp" line="23"/>
<source>Connection error: </source>
<translation>Ошибка соединения: </translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="28"/>
<source>Connection is successful!</source>
<translation>Соединение успешно!</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="36"/>
<source>Disconnection is successful!</source>
<translation>Отключение успешно!</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="109"/>
<location filename="../interfacedatabaselms.cpp" line="116"/>
<location filename="../interfacedatabaselms.cpp" line="123"/>
<location filename="../interfacedatabaselms.cpp" line="130"/>
<location filename="../interfacedatabaselms.cpp" line="137"/>
<location filename="../interfacedatabaselms.cpp" line="252"/>
<location filename="../interfacedatabaselms.cpp" line="259"/>
<location filename="../interfacedatabaselms.cpp" line="286"/>
<location filename="../interfacedatabaselms.cpp" line="293"/>
<location filename="../interfacedatabaselms.cpp" line="300"/>
<location filename="../interfacedatabaselms.cpp" line="307"/>
<location filename="../interfacedatabaselms.cpp" line="314"/>
<source>Editing error!</source>
<translation>Ошибка редактирования!</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="110"/>
<source>Unacceptable instructor name has been entered.
The changes will not be accepted.</source>
<translation>Введено недопустимое имя инструктора.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="117"/>
<source>Unacceptable instructor login has been entered.
The changes will not be accepted.</source>
<translation>Введен недопустимый логин инструктора.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="124"/>
<source>Unacceptable instructor password has been entered.
The changes will not be accepted.</source>
<translation>Введен недопустимый пароль инструктора.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="131"/>
<source>An existing instructor name has been entered.</source>
<translation>Введено существующее имя инструктора.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="138"/>
<source>An existing instructor login has been entered.
The changes will not be accepted.</source>
<translation>Введен существующий логин инструктора.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="253"/>
<source>Unacceptable group name has been entered.
The changes will not be accepted.</source>
<translation>Введено недопустимое имя группы.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="260"/>
<source>An existing group name has been entered.
The changes will not be accepted.</source>
<translation>Введено существующее имя группы.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="287"/>
<source>Unacceptable trainee name has been entered.
The changes will not be accepted.</source>
<translation>Введено недопустимое имя обучаемого.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="294"/>
<source>Unacceptable trainee login has been entered.
The changes will not be accepted.</source>
<translation>Введен недопустимый логин обучаемого.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="301"/>
<source>Unacceptable trainee password has been entered.
The changes will not be accepted.</source>
<translation>Введен недопустимый пароль обучаемого.
Изменения не будут приняты.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="308"/>
<source>An existing trainee name has been entered.</source>
<translation>Введено существующее имя обучаемого.</translation>
</message>
<message>
<location filename="../interfacedatabaselms.cpp" line="315"/>
<source>An existing trainee login has been entered.
The changes will not be accepted.</source>
<translation>Введен существующий логин обучаемого.
Изменения не будут приняты.</translation>
</message>
</context>
</TS>

View File

@@ -175,7 +175,7 @@
}, },
{ {
"name" : "HELPSTRING", "name" : "HELPSTRING",
"value" : "CXX compiler" "value" : "No help, variable specified on the command line."
} }
], ],
"type" : "STRING", "type" : "STRING",
@@ -1285,6 +1285,18 @@
"type" : "PATH", "type" : "PATH",
"value" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui" "value" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui"
}, },
{
"name" : "Qt5LinguistTools_DIR",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "The directory containing a CMake configuration file for Qt5LinguistTools."
}
],
"type" : "PATH",
"value" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools"
},
{ {
"name" : "Qt5Sql_DIR", "name" : "Qt5Sql_DIR",
"properties" : "properties" :

View File

@@ -0,0 +1,343 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-Initialize.cmake"
},
{
"isGenerated" : true,
"path" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/WindowsPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeFindCodeBlocks.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/ProcessorCount.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU.cmake"
},
{
"isGenerated" : true,
"path" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeRCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-windres.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX-ABI.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5GuiConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseArguments.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QICNSPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QSvgIconPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QSvgPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QTgaPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QTiffPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QTuioTouchPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QVirtualKeyboardPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWbmpPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWebGLIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWebpPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWindowsDirect2DIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWindowsIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5Widgets_QWindowsVistaStylePlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfigExtras.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseArguments.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5SqlConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5SqlConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseArguments.cmake"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "D:/LMS/DB_LMS/Debug64",
"source" : "D:/LMS/DB_LMS/DataBaseLMS"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

View File

@@ -1,653 +0,0 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeSystem.cmake.in"
},
{
"isGenerated" : true,
"path" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeNinjaFindMake.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-Initialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-Determine-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompilerId.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCompilerIdDetection.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeFindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCXXCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/WindowsPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeFindCodeBlocks.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/ProcessorCount.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeRCCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeRCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-windres.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeTestRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeTestCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompilerABI.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCXXCompilerABI.cpp"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Internal/FeatureTesting.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeCXXCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX-ABI.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5GuiConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core/Qt5CoreMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseArguments.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QICNSPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QSvgIconPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QSvgPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QTgaPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QTiffPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QTuioTouchPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QVirtualKeyboardPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWbmpPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWebGLIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWebpPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWindowsDirect2DIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QWindowsIntegrationPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5Widgets_QWindowsVistaStylePlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfigExtras.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/msys64/mingw64/share/cmake/Modules/CMakeParseArguments.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5SqlConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5SqlConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "D:/LMS/DB_LMS/Debug64",
"source" : "D:/LMS/DB_LMS/DataBaseLMS"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

View File

@@ -41,7 +41,7 @@
{ {
"directoryIndex" : 0, "directoryIndex" : 0,
"id" : "DataBaseLMS::@6890427a1f51a3e7e1df", "id" : "DataBaseLMS::@6890427a1f51a3e7e1df",
"jsonFile" : "target-DataBaseLMS-Debug-5eb45d4d55eb23675b98.json", "jsonFile" : "target-DataBaseLMS-Debug-eb266f74c47cd0f59951.json",
"name" : "DataBaseLMS", "name" : "DataBaseLMS",
"projectIndex" : 0 "projectIndex" : 0
}, },

View File

@@ -26,7 +26,7 @@
"objects" : "objects" :
[ [
{ {
"jsonFile" : "codemodel-v2-4c4ecc1a053153a57cf7.json", "jsonFile" : "codemodel-v2-76bb63d2a85d3459717b.json",
"kind" : "codemodel", "kind" : "codemodel",
"version" : "version" :
{ {
@@ -35,7 +35,7 @@
} }
}, },
{ {
"jsonFile" : "cache-v2-87ff728da30d5c1b46b4.json", "jsonFile" : "cache-v2-1b65635fefa95163b0c9.json",
"kind" : "cache", "kind" : "cache",
"version" : "version" :
{ {
@@ -44,7 +44,7 @@
} }
}, },
{ {
"jsonFile" : "cmakeFiles-v1-caf44d4f600945194df6.json", "jsonFile" : "cmakeFiles-v1-b6aa2c4c5f9add350faa.json",
"kind" : "cmakeFiles", "kind" : "cmakeFiles",
"version" : "version" :
{ {
@@ -57,7 +57,7 @@
{ {
"cache-v2" : "cache-v2" :
{ {
"jsonFile" : "cache-v2-87ff728da30d5c1b46b4.json", "jsonFile" : "cache-v2-1b65635fefa95163b0c9.json",
"kind" : "cache", "kind" : "cache",
"version" : "version" :
{ {
@@ -67,7 +67,7 @@
}, },
"cmakeFiles-v1" : "cmakeFiles-v1" :
{ {
"jsonFile" : "cmakeFiles-v1-caf44d4f600945194df6.json", "jsonFile" : "cmakeFiles-v1-b6aa2c4c5f9add350faa.json",
"kind" : "cmakeFiles", "kind" : "cmakeFiles",
"version" : "version" :
{ {
@@ -77,7 +77,7 @@
}, },
"codemodel-v2" : "codemodel-v2" :
{ {
"jsonFile" : "codemodel-v2-4c4ecc1a053153a57cf7.json", "jsonFile" : "codemodel-v2-76bb63d2a85d3459717b.json",
"kind" : "codemodel", "kind" : "codemodel",
"version" : "version" :
{ {

View File

@@ -37,13 +37,7 @@
{ {
"command" : 0, "command" : 0,
"file" : 0, "file" : 0,
"line" : 15, "line" : 16,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 39,
"parent" : 0 "parent" : 0
}, },
{ {
@@ -52,6 +46,12 @@
"line" : 40, "line" : 40,
"parent" : 0 "parent" : 0
}, },
{
"command" : 1,
"file" : 0,
"line" : 41,
"parent" : 0
},
{ {
"command" : 4, "command" : 4,
"file" : 0, "file" : 0,
@@ -87,7 +87,7 @@
{ {
"command" : 5, "command" : 5,
"file" : 0, "file" : 0,
"line" : 42, "line" : 43,
"parent" : 0 "parent" : 0
} }
] ]

Binary file not shown.

View File

@@ -1,58 +1,69 @@
# ninja log v5 # ninja log v5
331 997 7531861462128921 CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj e9b501dc7cb3286a 309 1229 7537120860734281 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
319 1061 7531861462779842 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f 38 46 0 clean 9c4b4372737ab8da
1011 1204 7531948751327960 libDataBaseLMS.dll 31a19f1f3436f66b 423 1735 7532687114738480 CMakeFiles/DataBaseLMS.dir/user.cpp.obj 4ee7a17d2a43f188
1011 1204 7531948751327960 libDataBaseLMS.dll.a 31a19f1f3436f66b 13 43 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
34 42 0 clean 9c4b4372737ab8da 440 1730 7532687114727559 CMakeFiles/DataBaseLMS.dir/task.cpp.obj b003a0cb68c6b2bb
18 55 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 426 1744 7532687114844681 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198
306 2592 7531861478079191 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 436 1738 7532687114779411 CMakeFiles/DataBaseLMS.dir/computer.cpp.obj 5930684a0b27a14f
276 939 7531880576470627 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd 53 1035 7537135119095902 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
328 978 7531861461938109 CMakeFiles/DataBaseLMS.dir/task.cpp.obj b003a0cb68c6b2bb 13 38 0 CMakeFiles/clean.additional 7155004b3956b606
316 964 7531861461791506 CMakeFiles/DataBaseLMS.dir/instructor.cpp.obj fb68571e9d220198 433 1743 7532687114779411 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77
18 55 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 2026 2228 7537288315997886 libDataBaseLMS.dll 31a19f1f3436f66b
321 988 7531861462037841 CMakeFiles/DataBaseLMS.dir/group.cpp.obj 70fefc8893e4cb77 2026 2228 7537288315997886 libDataBaseLMS.dll.a 31a19f1f3436f66b
14 34 0 CMakeFiles/clean.additional 7155004b3956b606 49 2026 7537288313973012 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
55 1011 7531948749415298 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b 13 43 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
325 945 7531861461563042 CMakeFiles/DataBaseLMS.dir/computer.cpp.obj 5930684a0b27a14f 420 1737 7532687114748457 CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj 99b734c728959a94
18 55 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 13 43 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
313 925 7531861461312443 CMakeFiles/DataBaseLMS.dir/user.cpp.obj 4ee7a17d2a43f188 13 43 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
310 979 7531861461948080 CMakeFiles/DataBaseLMS.dir/basicentity.cpp.obj 99b734c728959a94 443 1733 7532687114748457 CMakeFiles/DataBaseLMS.dir/classroom.cpp.obj e9b501dc7cb3286a
18 55 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 429 1745 7532687114864629 CMakeFiles/DataBaseLMS.dir/trainee.cpp.obj 4ac35fd8ef58e9f
20 55 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 17 62 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
20 55 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 17 62 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
20 55 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 17 62 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
20 55 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 17 62 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
13 47 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 28 76 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
13 47 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 28 76 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
13 47 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 28 76 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
13 47 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 28 76 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
47 1007 7531965693913937 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b 12 314 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
1007 1202 7531965695842993 libDataBaseLMS.dll 31a19f1f3436f66b 12 314 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
1007 1202 7531965695842993 libDataBaseLMS.dll.a 31a19f1f3436f66b 12 314 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
18 55 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 12 314 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
18 55 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 314 1221 7539786014109505 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
18 55 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 320 1346 7539786015352076 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
18 55 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 317 2332 7539786025203714 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
55 1017 7531969008730112 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b 2332 2580 7539786027673848 libDataBaseLMS.dll 31a19f1f3436f66b
1018 1211 7531969010644646 libDataBaseLMS.dll 31a19f1f3436f66b 2332 2580 7539786027673848 libDataBaseLMS.dll.a 31a19f1f3436f66b
1018 1211 7531969010644646 libDataBaseLMS.dll.a 31a19f1f3436f66b 17 319 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
19 62 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 17 319 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
19 62 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 17 319 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
19 62 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 17 319 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
19 62 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 320 1214 7539792033834652 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
62 740 7532016062920402 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd 325 1337 7539792035053831 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
67 1044 7532016065950662 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b 323 2394 7539792045606661 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
65 2097 7532016076480301 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 2394 2597 7539792047641753 libDataBaseLMS.dll 31a19f1f3436f66b
2097 2294 7532016078436579 libDataBaseLMS.dll 31a19f1f3436f66b 2394 2597 7539792047641753 libDataBaseLMS.dll.a 31a19f1f3436f66b
2097 2294 7532016078436579 libDataBaseLMS.dll.a 31a19f1f3436f66b 16 53 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
18 61 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 16 53 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
18 61 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 16 53 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
18 61 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 16 53 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
18 61 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 53 1047 7539838911471203 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
61 1029 7532048207265384 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b 1047 1248 7539838913466254 libDataBaseLMS.dll 31a19f1f3436f66b
1029 1224 7532048209210685 libDataBaseLMS.dll 31a19f1f3436f66b 1047 1248 7539838913466254 libDataBaseLMS.dll.a 31a19f1f3436f66b
1029 1224 7532048209210685 libDataBaseLMS.dll.a 31a19f1f3436f66b 32 948 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
19 55 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 32 948 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
19 55 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 32 948 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
19 55 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20 32 948 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
19 55 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20 948 2278 7542228728183958 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
951 2290 7542228728304935 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
2290 2728 7542228732664109 libDataBaseLMS.dll 31a19f1f3436f66b
2290 2728 7542228732664109 libDataBaseLMS.dll.a 31a19f1f3436f66b
16 52 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
16 52 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
16 52 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
16 52 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
13 45 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
13 45 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
13 45 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
13 45 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20

View File

@@ -34,7 +34,7 @@ CMAKE_CODEBLOCKS_EXECUTABLE:FILEPATH=CMAKE_CODEBLOCKS_EXECUTABLE-NOTFOUND
// Enter e.g. -j<some_number> to get parallel builds // Enter e.g. -j<some_number> to get parallel builds
CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING= CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING=
//CXX compiler //No help, variable specified on the command line.
CMAKE_CXX_COMPILER:STRING=C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe CMAKE_CXX_COMPILER:STRING=C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe
//A wrapper around 'ar' adding the appropriate '--plugin' option //A wrapper around 'ar' adding the appropriate '--plugin' option
@@ -247,6 +247,9 @@ Qt5Core_DIR:PATH=C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Core
//The directory containing a CMake configuration file for Qt5Gui. //The directory containing a CMake configuration file for Qt5Gui.
Qt5Gui_DIR:PATH=C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui Qt5Gui_DIR:PATH=C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Gui
//The directory containing a CMake configuration file for Qt5LinguistTools.
Qt5LinguistTools_DIR:PATH=C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools
//The directory containing a CMake configuration file for Qt5Sql. //The directory containing a CMake configuration file for Qt5Sql.
Qt5Sql_DIR:PATH=C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql Qt5Sql_DIR:PATH=C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql

View File

@@ -7,62 +7,9 @@
"CMAKE_LIST_FILES" : "CMAKE_LIST_FILES" :
[ [
"D:/LMS/DB_LMS/DataBaseLMS/CMakeLists.txt", "D:/LMS/DB_LMS/DataBaseLMS/CMakeLists.txt",
"C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineSystem.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeSystem.cmake.in",
"D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeSystem.cmake", "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeSystem.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeNinjaFindMake.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake", "C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-Initialize.cmake", "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-Initialize.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-Determine-CXX.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompilerId.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeCompilerIdDetection.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeFindBinUtils.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeCXXCompiler.cmake.in",
"D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake", "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInformation.cmake", "C:/msys64/mingw64/share/cmake/Modules/CMakeSystemSpecificInformation.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeGenericSystem.cmake", "C:/msys64/mingw64/share/cmake/Modules/CMakeGenericSystem.cmake",
@@ -79,26 +26,11 @@
"C:/msys64/mingw64/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake", "C:/msys64/mingw64/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX.cmake", "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU.cmake", "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineRCCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeRCCompiler.cmake.in",
"D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeRCCompiler.cmake", "D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeRCCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeRCInformation.cmake", "C:/msys64/mingw64/share/cmake/Modules/CMakeRCInformation.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-windres.cmake", "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-windres.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeTestRCCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeCommonLanguageInclude.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeTestCXXCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeTestCompilerCommon.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompilerABI.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeTestCompilerCommon.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeCXXCompilerABI.cpp",
"C:/msys64/mingw64/share/cmake/Modules/CMakeDetermineCompileFeatures.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Internal/FeatureTesting.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeCXXCompiler.cmake.in",
"D:/LMS/DB_LMS/Debug64/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake",
"C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX-ABI.cmake", "C:/msys64/mingw64/share/cmake/Modules/Platform/Windows-GNU-CXX-ABI.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeCommonLanguageInclude.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake", "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake", "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake", "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake",
@@ -142,7 +74,14 @@
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5SqlConfig.cmake", "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5SqlConfig.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake", "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake", "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake" "C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5Config.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfigVersion.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake",
"C:/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsMacros.cmake",
"C:/msys64/mingw64/share/cmake/Modules/CMakeParseArguments.cmake"
], ],
"CMAKE_SOURCE_DIR" : "D:/LMS/DB_LMS/DataBaseLMS", "CMAKE_SOURCE_DIR" : "D:/LMS/DB_LMS/DataBaseLMS",
"DEP_FILE" : "", "DEP_FILE" : "",

View File

@@ -1,23 +1,23 @@
# Generated by CMake. Changes will be overwritten. # Generated by CMake. Changes will be overwritten.
D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h
D:/LMS/DB_LMS/DataBaseLMS/group.cpp
D:/LMS/DB_LMS/DataBaseLMS/task.cpp D:/LMS/DB_LMS/DataBaseLMS/task.cpp
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.h D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_LMS/DataBaseLMS/group.h D:/LMS/DB_LMS/DataBaseLMS/group.h
D:/LMS/DB_LMS/DataBaseLMS/user.cpp D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.cpp D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h
D:/LMS/DB_LMS/DataBaseLMS/databaselms.h D:/LMS/DB_LMS/DataBaseLMS/group.cpp
D:/LMS/DB_LMS/DataBaseLMS/computer.h D:/LMS/DB_LMS/DataBaseLMS/user.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp
D:/LMS/DB_LMS/DataBaseLMS/classroom.h
D:/LMS/DB_LMS/DataBaseLMS/computer.cpp D:/LMS/DB_LMS/DataBaseLMS/computer.cpp
D:/LMS/DB_LMS/DataBaseLMS/basicentity.h D:/LMS/DB_LMS/DataBaseLMS/basicentity.h
D:/LMS/DB_LMS/DataBaseLMS/user.h D:/LMS/DB_LMS/DataBaseLMS/classroom.h
D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp
D:/LMS/DB_LMS/DataBaseLMS/computer.h
D:/LMS/DB_LMS/DataBaseLMS/databaselms.h
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/user.cpp
D:/LMS/DB_LMS/DataBaseLMS/instructor.h
D:/LMS/DB_LMS/DataBaseLMS/trainee.h
D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp
D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp
D:/LMS/DB_LMS/DataBaseLMS/task.h D:/LMS/DB_LMS/DataBaseLMS/task.h
D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp
D:/LMS/DB_LMS/DataBaseLMS/trainee.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.h

View File

@@ -5,7 +5,7 @@
<Option title="DataBaseLMS"/> <Option title="DataBaseLMS"/>
<Option makefile_is_custom="1"/> <Option makefile_is_custom="1"/>
<Option compiler="gcc"/> <Option compiler="gcc"/>
<Option virtualFolders="CMake Files\;CMake Files\Qt\;CMake Files\Qt\Qt5.14.2\;CMake Files\Qt\Qt5.14.2\5.14.2\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Widgets\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Gui\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Core\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Sql\;"/> <Option virtualFolders="CMake Files\;CMake Files\Qt\;CMake Files\Qt\Qt5.14.2\;CMake Files\Qt\Qt5.14.2\5.14.2\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Widgets\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Gui\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Core\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Sql\;CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5LinguistTools\;"/>
<Build> <Build>
<Target title="all"> <Target title="all">
<Option working_dir="D:/LMS/DB_LMS/Debug64"/> <Option working_dir="D:/LMS/DB_LMS/Debug64"/>
@@ -306,5 +306,14 @@
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake"> <Unit filename="D:/LMS/DB_LMS/DataBaseLMS/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake">
<Option virtualFolder="CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Sql\"/> <Option virtualFolder="CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Sql\"/>
</Unit> </Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake">
<Option virtualFolder="CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5LinguistTools\"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfigVersion.cmake">
<Option virtualFolder="CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5LinguistTools\"/>
</Unit>
<Unit filename="D:/LMS/DB_LMS/DataBaseLMS/Qt/Qt5.14.2/5.14.2/mingw73_64/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsMacros.cmake">
<Option virtualFolder="CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5LinguistTools\"/>
</Unit>
</Project> </Project>
</CodeBlocks_project_file> </CodeBlocks_project_file>

View File

@@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'databaselms.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../../DataBaseLMS/databaselms.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'databaselms.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_DataBaseLMS_t {
QByteArrayData data[1];
char stringdata0[12];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_DataBaseLMS_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_DataBaseLMS_t qt_meta_stringdata_DataBaseLMS = {
{
QT_MOC_LITERAL(0, 0, 11) // "DataBaseLMS"
},
"DataBaseLMS"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_DataBaseLMS[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void DataBaseLMS::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject DataBaseLMS::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
qt_meta_stringdata_DataBaseLMS.data,
qt_meta_data_DataBaseLMS,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *DataBaseLMS::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *DataBaseLMS::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_DataBaseLMS.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int DataBaseLMS::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_InterfaceDataBaseLMS_t { struct qt_meta_stringdata_InterfaceDataBaseLMS_t {
QByteArrayData data[1]; QByteArrayData data[4];
char stringdata0[21]; char stringdata0[52];
}; };
#define QT_MOC_LITERAL(idx, ofs, len) \ #define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -32,10 +32,14 @@ struct qt_meta_stringdata_InterfaceDataBaseLMS_t {
) )
static const qt_meta_stringdata_InterfaceDataBaseLMS_t qt_meta_stringdata_InterfaceDataBaseLMS = { static const qt_meta_stringdata_InterfaceDataBaseLMS_t qt_meta_stringdata_InterfaceDataBaseLMS = {
{ {
QT_MOC_LITERAL(0, 0, 20) // "InterfaceDataBaseLMS" QT_MOC_LITERAL(0, 0, 20), // "InterfaceDataBaseLMS"
QT_MOC_LITERAL(1, 21, 20), // "slot_LanguageChanged"
QT_MOC_LITERAL(2, 42, 0), // ""
QT_MOC_LITERAL(3, 43, 8) // "language"
}, },
"InterfaceDataBaseLMS" "InterfaceDataBaseLMS\0slot_LanguageChanged\0"
"\0language"
}; };
#undef QT_MOC_LITERAL #undef QT_MOC_LITERAL
@@ -45,26 +49,36 @@ static const uint qt_meta_data_InterfaceDataBaseLMS[] = {
8, // revision 8, // revision
0, // classname 0, // classname
0, 0, // classinfo 0, 0, // classinfo
0, 0, // methods 1, 14, // methods
0, 0, // properties 0, 0, // properties
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
0, // flags 0, // flags
0, // signalCount 0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 19, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::QString, 3,
0 // eod 0 // eod
}; };
void InterfaceDataBaseLMS::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) void InterfaceDataBaseLMS::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{ {
Q_UNUSED(_o); if (_c == QMetaObject::InvokeMetaMethod) {
Q_UNUSED(_id); auto *_t = static_cast<InterfaceDataBaseLMS *>(_o);
Q_UNUSED(_c); Q_UNUSED(_t)
Q_UNUSED(_a); switch (_id) {
case 0: _t->slot_LanguageChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
default: ;
}
}
} }
QT_INIT_METAOBJECT const QMetaObject InterfaceDataBaseLMS::staticMetaObject = { { QT_INIT_METAOBJECT const QMetaObject InterfaceDataBaseLMS::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(), QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_InterfaceDataBaseLMS.data, qt_meta_stringdata_InterfaceDataBaseLMS.data,
qt_meta_data_InterfaceDataBaseLMS, qt_meta_data_InterfaceDataBaseLMS,
qt_static_metacall, qt_static_metacall,
@@ -85,12 +99,23 @@ void *InterfaceDataBaseLMS::qt_metacast(const char *_clname)
return static_cast<void*>(this); return static_cast<void*>(this);
if (!strcmp(_clname, "DataBaseLMS")) if (!strcmp(_clname, "DataBaseLMS"))
return static_cast< DataBaseLMS*>(this); return static_cast< DataBaseLMS*>(this);
return QObject::qt_metacast(_clname); return QWidget::qt_metacast(_clname);
} }
int InterfaceDataBaseLMS::qt_metacall(QMetaObject::Call _c, int _id, void **_a) int InterfaceDataBaseLMS::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{ {
_id = QObject::qt_metacall(_c, _id, _a); _id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id; return _id;
} }
QT_WARNING_POP QT_WARNING_POP

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More