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

View File

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

View File

@@ -1,4 +1,31 @@
# 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
mmc:Q_OBJECT
uic:ui_dialogeditinstructor.h
@@ -6,15 +33,15 @@ D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
uic:ui_instructorsandtraineeswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h
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
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp
uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h
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/instructors/instructorsview.h
mmc:Q_OBJECT
@@ -26,30 +53,3 @@ D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.h
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_DISABLE_DEPRECATED
struct qt_meta_stringdata_TraineesView_t {
QByteArrayData data[1];
char stringdata0[13];
QByteArrayData data[5];
char stringdata0[59];
};
#define QT_MOC_LITERAL(idx, ofs, 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 = {
{
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
@@ -45,22 +50,32 @@ static const uint qt_meta_data_TraineesView[] = {
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
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
};
void TraineesView::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<TraineesView *>(_o);
Q_UNUSED(_t)
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 = { {
@@ -89,6 +104,17 @@ void *TraineesView::qt_metacast(const char *_clname)
int TraineesView::qt_metacall(QMetaObject::Call _c, int _id, void **_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;
}
QT_WARNING_POP

View File

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

View File

@@ -10,6 +10,7 @@
#include "../../../InstructorsAndTrainees/instructorsandtraineeswidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#include <QtCore/QList>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'instructorsandtraineeswidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
@@ -22,8 +23,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_InstructorsAndTraineesWidget_t {
QByteArrayData data[1];
char stringdata0[29];
QByteArrayData data[18];
char stringdata0[333];
};
#define QT_MOC_LITERAL(idx, ofs, 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 = {
{
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
@@ -45,22 +72,104 @@ static const uint qt_meta_data_InstructorsAndTraineesWidget[] = {
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
9, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
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
};
void InstructorsAndTraineesWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<InstructorsAndTraineesWidget *>(_o);
Q_UNUSED(_t)
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 = { {
@@ -89,7 +198,60 @@ void *InstructorsAndTraineesWidget::qt_metacast(const char *_clname)
int InstructorsAndTraineesWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_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;
}
// 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_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,
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,
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,
// D:/LMS/DB_IaT/InstructorsAndTrainees/icons/newGroup.png
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,
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,
// 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
0x0,0x0,0xc,0x43,
0x89,
@@ -3604,6 +3986,11 @@ static const unsigned char qt_resource_name[] = {
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,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
0x0,0xc,
0x8,0x5a,0x2a,0x67,
@@ -3701,6 +4088,11 @@ static const unsigned char qt_resource_name[] = {
0x0,0x32,0x7c,0x7,
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,
// 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
0x0,0x14,
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,0x0,0x0,0x0,
// :/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,
// :/blankXML
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,0x1,0x8f,0x3c,0xd3,0xb3,0x10,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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
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,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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,
// :/icons/instructorArchive.png
0x0,0x0,0x0,0x74,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xa2,
0x0,0x0,0x1,0x8f,0x70,0x2c,0x14,0x0,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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,
// :/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
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,
};

View File

@@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_InstructorsView_t {
QByteArrayData data[1];
char stringdata0[16];
QByteArrayData data[5];
char stringdata0[62];
};
#define QT_MOC_LITERAL(idx, ofs, 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 = {
{
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
@@ -45,22 +50,32 @@ static const uint qt_meta_data_InstructorsView[] = {
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
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
};
void InstructorsView::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<InstructorsView *>(_o);
Q_UNUSED(_t)
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 = { {
@@ -89,6 +104,17 @@ void *InstructorsView::qt_metacast(const char *_clname)
int InstructorsView::qt_metacall(QMetaObject::Call _c, int _id, void **_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;
}
QT_WARNING_POP

View File

@@ -23,7 +23,7 @@ QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ViewerInstructors_t {
QByteArrayData data[5];
char stringdata0[81];
char stringdata0[82];
};
#define QT_MOC_LITERAL(idx, ofs, 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 = {
{
QT_MOC_LITERAL(0, 0, 17), // "ViewerInstructors"
QT_MOC_LITERAL(1, 18, 20), // "slot_LanguageChanged"
QT_MOC_LITERAL(2, 39, 0), // ""
QT_MOC_LITERAL(3, 40, 8), // "language"
QT_MOC_LITERAL(4, 49, 31) // "on_btnEditorInstructors_clicked"
QT_MOC_LITERAL(1, 18, 24), // "signal_BlockAutorization"
QT_MOC_LITERAL(2, 43, 0), // ""
QT_MOC_LITERAL(3, 44, 5), // "block"
QT_MOC_LITERAL(4, 50, 31) // "on_btnEditorInstructors_clicked"
},
"ViewerInstructors\0slot_LanguageChanged\0"
"\0language\0on_btnEditorInstructors_clicked"
"ViewerInstructors\0signal_BlockAutorization\0"
"\0block\0on_btnEditorInstructors_clicked"
};
#undef QT_MOC_LITERAL
@@ -55,14 +55,18 @@ static const uint qt_meta_data_ViewerInstructors[] = {
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 24, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
1, 1, 24, 2, 0x0a /* Public */,
4, 0, 27, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::Bool, 3,
// slots: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void,
0 // eod
@@ -74,10 +78,19 @@ void ViewerInstructors::qt_static_metacall(QObject *_o, QMetaObject::Call _c, in
auto *_t = static_cast<ViewerInstructors *>(_o);
Q_UNUSED(_t)
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;
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;
}
// 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_END_MOC_NAMESPACE

View File

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

View File

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

View File

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

View File

@@ -51,6 +51,7 @@ public:
DialogEditTrainee->resize(300, 252);
QFont font;
font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
DialogEditTrainee->setFont(font);
QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/trainee.png"), QSize(), QIcon::Normal, QIcon::Off);
@@ -59,6 +60,9 @@ public:
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
buttonBox = new QDialogButtonBox(DialogEditTrainee);
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
QFont font1;
font1.setPointSize(10);
buttonBox->setFont(font1);
buttonBox->setLocale(QLocale(QLocale::English, QLocale::UnitedStates));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
@@ -71,11 +75,13 @@ public:
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
label_2 = new QLabel(DialogEditTrainee);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setFont(font1);
horizontalLayout->addWidget(label_2);
editName = new QLineEdit(DialogEditTrainee);
editName->setObjectName(QString::fromUtf8("editName"));
editName->setFont(font1);
horizontalLayout->addWidget(editName);
@@ -86,11 +92,13 @@ public:
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
label_3 = new QLabel(DialogEditTrainee);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setFont(font1);
horizontalLayout_2->addWidget(label_3);
editLogin = new QLineEdit(DialogEditTrainee);
editLogin->setObjectName(QString::fromUtf8("editLogin"));
editLogin->setFont(font1);
horizontalLayout_2->addWidget(editLogin);
@@ -101,11 +109,13 @@ public:
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
label_4 = new QLabel(DialogEditTrainee);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setFont(font1);
horizontalLayout_3->addWidget(label_4);
editPassword = new QLineEdit(DialogEditTrainee);
editPassword->setObjectName(QString::fromUtf8("editPassword"));
editPassword->setFont(font1);
horizontalLayout_3->addWidget(editPassword);
@@ -117,6 +127,7 @@ public:
checkArchived = new QCheckBox(DialogEditTrainee);
checkArchived->setObjectName(QString::fromUtf8("checkArchived"));
checkArchived->setEnabled(false);
checkArchived->setFont(font1);
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off);
icon1.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Disabled, QIcon::Off);
@@ -133,6 +144,7 @@ public:
checkLoggedIn = new QCheckBox(DialogEditTrainee);
checkLoggedIn->setObjectName(QString::fromUtf8("checkLoggedIn"));
checkLoggedIn->setEnabled(false);
checkLoggedIn->setFont(font1);
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/icons/circleGreen.png"), QSize(), QIcon::Normal, 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/QGridLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton>
#include <QtWidgets/QTreeWidget>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
@@ -32,7 +30,6 @@ public:
QGridLayout *gridLayout;
QHBoxLayout *horizontalLayout_1;
QVBoxLayout *verticalLayout_1;
QTreeWidget *treeWidget;
QWidget *widget_2;
QGridLayout *gridLayout_3;
QVBoxLayout *verticalLayout_2;
@@ -48,12 +45,14 @@ public:
if (EditorInstructors->objectName().isEmpty())
EditorInstructors->setObjectName(QString::fromUtf8("EditorInstructors"));
EditorInstructors->resize(1300, 800);
QFont font;
font.setFamily(QString::fromUtf8("Tahoma"));
font.setPointSize(10);
EditorInstructors->setFont(font);
gridLayout_2 = new QGridLayout(EditorInstructors);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
widget = new QWidget(EditorInstructors);
widget->setObjectName(QString::fromUtf8("widget"));
QFont font;
font.setPointSize(12);
widget->setFont(font);
widget->setStyleSheet(QString::fromUtf8("background-color: rgb(240, 240, 240);"));
gridLayout = new QGridLayout(widget);
@@ -62,20 +61,6 @@ public:
horizontalLayout_1->setObjectName(QString::fromUtf8("horizontalLayout_1"));
verticalLayout_1 = new QVBoxLayout();
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);
@@ -87,9 +72,7 @@ public:
sizePolicy.setHeightForWidth(widget_2->sizePolicy().hasHeightForWidth());
widget_2->setSizePolicy(sizePolicy);
widget_2->setMinimumSize(QSize(127, 0));
QFont font2;
font2.setFamily(QString::fromUtf8("Tahoma"));
widget_2->setFont(font2);
widget_2->setFont(font);
widget_2->setStyleSheet(QString::fromUtf8("background-color: rgb(180, 180, 180);"));
gridLayout_3 = new QGridLayout(widget_2);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
@@ -103,7 +86,7 @@ public:
sizePolicy1.setHeightForWidth(btnNewInstructor->sizePolicy().hasHeightForWidth());
btnNewInstructor->setSizePolicy(sizePolicy1);
btnNewInstructor->setMinimumSize(QSize(160, 55));
btnNewInstructor->setFont(font1);
btnNewInstructor->setFont(font);
QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/addInstructor.png"), QSize(), QIcon::Normal, QIcon::Off);
btnNewInstructor->setIcon(icon);
@@ -117,7 +100,7 @@ public:
sizePolicy1.setHeightForWidth(btnDeleteInstructor->sizePolicy().hasHeightForWidth());
btnDeleteInstructor->setSizePolicy(sizePolicy1);
btnDeleteInstructor->setMinimumSize(QSize(160, 55));
btnDeleteInstructor->setFont(font1);
btnDeleteInstructor->setFont(font);
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/icons/deleteInstructor.png"), QSize(), QIcon::Normal, QIcon::Off);
btnDeleteInstructor->setIcon(icon1);
@@ -129,7 +112,7 @@ public:
btnToOrFromArchive = new QToolButton(widget_2);
btnToOrFromArchive->setObjectName(QString::fromUtf8("btnToOrFromArchive"));
btnToOrFromArchive->setMinimumSize(QSize(160, 55));
btnToOrFromArchive->setFont(font1);
btnToOrFromArchive->setFont(font);
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/icons/instructorArchive.png"), QSize(), QIcon::Normal, QIcon::Off);
btnToOrFromArchive->setIcon(icon2);
@@ -143,7 +126,7 @@ public:
sizePolicy1.setHeightForWidth(btnEdit->sizePolicy().hasHeightForWidth());
btnEdit->setSizePolicy(sizePolicy1);
btnEdit->setMinimumSize(QSize(160, 55));
btnEdit->setFont(font1);
btnEdit->setFont(font);
QIcon icon3;
icon3.addFile(QString::fromUtf8(":/icons/edit.png"), QSize(), QIcon::Normal, QIcon::Off);
btnEdit->setIcon(icon3);
@@ -161,7 +144,7 @@ public:
sizePolicy1.setHeightForWidth(btnArchive->sizePolicy().hasHeightForWidth());
btnArchive->setSizePolicy(sizePolicy1);
btnArchive->setMinimumSize(QSize(160, 55));
btnArchive->setFont(font1);
btnArchive->setFont(font);
QIcon icon4;
icon4.addFile(QString::fromUtf8(":/icons/archive.png"), QSize(), QIcon::Normal, QIcon::Off);
btnArchive->setIcon(icon4);

View File

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

View File

@@ -10,10 +10,14 @@
#define UI_INSTRUCTORSANDTRAINEESWIDGET_H
#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
@@ -27,27 +31,84 @@ public:
QGroupBox *groupBox;
QGridLayout *gridLayout_2;
QVBoxLayout *verticalLayout;
QVBoxLayout *verticalLayout_2;
QHBoxLayout *horizontalLayout_2;
QToolButton *btnConnectionToDB;
QToolButton *btnAuthorizationInstructor;
QSpacerItem *horizontalSpacer;
QLabel *label;
QLabel *lblLoggedInInstructor;
void setupUi(QWidget *InstructorsAndTraineesWidget)
{
if (InstructorsAndTraineesWidget->objectName().isEmpty())
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->setObjectName(QString::fromUtf8("gridLayout"));
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
groupBox = new QGroupBox(InstructorsAndTraineesWidget);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
QFont font;
font.setPointSize(10);
groupBox->setFont(font);
gridLayout_2 = new QGridLayout(groupBox);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
verticalLayout = new QVBoxLayout();
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);
@@ -65,6 +126,10 @@ public:
{
InstructorsAndTraineesWidget->setWindowTitle(QCoreApplication::translate("InstructorsAndTraineesWidget", "Form", 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
};

View File

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

View File

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

View File

@@ -230,7 +230,7 @@ build InstructorsAndTrainees_autogen: phony CMakeFiles/InstructorsAndTrainees_au
#############################################
# 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"
DESC = Automatic RCC for resources.qrc
restat = 1

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data>
<variable>EnvironmentId</variable>

View File

@@ -1,15 +1,17 @@
#include "commonview.h"
CommonView::CommonView(TypeView type, bool adminMode, QWidget *parent):
CommonView::CommonView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent):
QWidget(parent),
dbLMS(dbLMS),
treeWidget(nullptr),
typeView(type),
archiveVisible(false),
notLoggedInVisible(false),
adminMode(adminMode)
adminMode(false),
authComplited(false)
{
treeWidget = new QTreeWidget();
}
void CommonView::setItemColorArchive(QTreeWidgetItem *item)
@@ -24,8 +26,8 @@ void CommonView::setItemColorNoArchive(QTreeWidgetItem *item)
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);
}

View File

@@ -3,7 +3,9 @@
#include <QTreeWidget>
#include <QTranslator>
#include <QMutex>
#include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
//Родительский класс представления БД Инструкторов/Обучаемых (самого верхнего уровня)
@@ -19,7 +21,17 @@ 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:
void setArchiveVisible(bool archiveVisible)
@@ -37,14 +49,14 @@ protected:
void setItemColor(QTreeWidgetItem* item, QColor color);
protected:
InterfaceDataBaseLMS* dbLMS;
QTreeWidget* treeWidget;
QMutex mtxTreeWidget;
TypeView typeView;
bool archiveVisible;
bool notLoggedInVisible;
bool adminMode;
protected:
QTranslator qtLanguageTranslator;
bool authComplited;
};
#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">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="windowTitle">
@@ -25,6 +26,11 @@
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Login</string>
</property>
@@ -32,6 +38,11 @@
</item>
<item>
<widget class="QLineEdit" name="editLogin">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>admin</string>
</property>
@@ -43,6 +54,11 @@
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Password</string>
</property>
@@ -50,6 +66,11 @@
</item>
<item>
<widget class="QLineEdit" name="editPassword">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>admin</string>
</property>
@@ -59,6 +80,11 @@
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="locale">
<locale language="English" country="UnitedStates"/>
</property>

View File

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

View File

@@ -4,17 +4,23 @@
#include "ui_editorinstructors.h"
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->setupUi((QDialog*)this);
preparationTreeWidget(ui->treeWidget);
setNotLoggedInVisible(true);
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &EditorInstructors::on_treeWidget_currentItemChanged);
ui->verticalLayout_1->addWidget(treeWidget);
this->adminMode = adminMode;
preparationTreeWidget(/*ui->treeWidget*/);
//setNotLoggedInVisible(true);
loadInstructorsFromDB();
if(adminMode)
ui->btnArchive->click();
ui->btnArchive->click();
}
EditorInstructors::~EditorInstructors()
@@ -72,7 +78,7 @@ void EditorInstructors::on_btnNewInstructor_clicked()
void EditorInstructors::on_btnDeleteInstructor_clicked()
{
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr)
{
@@ -88,6 +94,12 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
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(dbLMS->delInstructor(id))
@@ -99,7 +111,7 @@ void EditorInstructors::on_btnDeleteInstructor_clicked()
void EditorInstructors::on_btnToOrFromArchive_clicked()
{
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent != nullptr)
{
@@ -124,6 +136,12 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
}
else
{//Не Архивный
if(dbLMS->isLoggedInInstructor(id))
{//Инструктор залогирован!
QMessageBox::critical(this, tr("Error!"), tr("You cannot archive a logged-in instructor."));
return;
}
instructor.setArchived(true);
if(int id_edit = dbLMS->editInstructor(instructor))
{
@@ -140,7 +158,7 @@ void EditorInstructors::on_btnToOrFromArchive_clicked()
void EditorInstructors::on_btnEdit_clicked()
{
QTreeWidgetItem *treeItemCurrent = ui->treeWidget->currentItem();
QTreeWidgetItem *treeItemCurrent = treeWidget->currentItem();
if(treeItemCurrent == nullptr)
return;
@@ -151,6 +169,12 @@ void EditorInstructors::on_btnEdit_clicked()
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);
Instructor instructor = dbLMS->getInstructor(id);
@@ -225,10 +249,11 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
ui->btnNewInstructor->setEnabled(true);
if(dbLMS->isAdminInstructor(id))
{//Это Админ! Удалять/Архивировать нельзя!
if(dbLMS->isAdminInstructor(id) || dbLMS->isLoggedInInstructor(id))
{//Это Админ или залогированный! Удалять/Архивировать/Редактировать нельзя!
ui->btnDeleteInstructor->setEnabled(false);
ui->btnToOrFromArchive->setEnabled(false);
ui->btnEdit->setEnabled(false);
}
else
{
@@ -238,9 +263,11 @@ void EditorInstructors::on_treeWidget_currentItemChanged(QTreeWidgetItem *curren
ui->btnDeleteInstructor->setEnabled(true);
else
ui->btnDeleteInstructor->setEnabled(false);
ui->btnEdit->setEnabled(true);
}
ui->btnEdit->setEnabled(true);
//ui->btnEdit->setEnabled(true);
ui->btnArchive->setEnabled(true);
}
}

View File

@@ -10,6 +10,12 @@
<height>800</height>
</rect>
</property>
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="windowTitle">
<string>List instructors</string>
</property>
@@ -18,7 +24,8 @@
<widget class="QWidget" name="widget" native="true">
<property name="font">
<font>
<pointsize>12</pointsize>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="styleSheet">
@@ -28,32 +35,7 @@
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_1">
<item>
<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>
<layout class="QVBoxLayout" name="verticalLayout_1"/>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
@@ -72,6 +54,7 @@
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="styleSheet">

View File

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

View File

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

View File

@@ -3,24 +3,16 @@
#include "viewerinstructors.h"
#include "ui_viewerinstructors.h"
ViewerInstructors::ViewerInstructors(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent) :
InstructorsView(db, CommonView::TypeView::onlyView, adminMode, parent),
ViewerInstructors::ViewerInstructors(InterfaceDataBaseLMS* db, QWidget *parent) :
InstructorsView(db, CommonView::TypeView::onlyView, parent),
ui(new Ui::ViewerInstructors)
{
ui->setupUi(this);
this->adminMode = adminMode;
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);
loadInstructorsFromDB();
if(! this->adminMode)
ui->btnEditorInstructors->setEnabled(false);
}
ViewerInstructors::~ViewerInstructors()
@@ -28,38 +20,22 @@ ViewerInstructors::~ViewerInstructors()
delete ui;
}
void ViewerInstructors::setFilterInstructorLoggedIn(bool enabled)
{
setNotLoggedInVisible(!enabled);
loadInstructorsFromDB();
}
void ViewerInstructors::changeEvent(QEvent *event)
{
// В случае получения события изменения языка приложения
if (event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this); // переведём окно заново
{// переведём окно заново
ui->retranslateUi(this);
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()
{
if(! adminMode)
{
QMessageBox::warning(this, tr("Attention!"),
tr("Only the Administrator has the right to edit instructors."));
return;
}
Q_EMIT signal_BlockAutorization(true);
EditorInstructors editorInstructors(dbLMS, adminMode);
QDialog* dialog = new QDialog(this);
@@ -70,4 +46,18 @@ void ViewerInstructors::on_btnEditorInstructors_clicked()
dialog->exec();
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
#define INSTRUCTORSWIDGET_H
#include <QWidget>
#include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
#include "instructorsview.h"
namespace Ui {
@@ -17,23 +14,22 @@ class ViewerInstructors : public InstructorsView
Q_OBJECT
public:
explicit ViewerInstructors(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent = nullptr);
explicit ViewerInstructors(InterfaceDataBaseLMS* db, QWidget *parent = nullptr);
~ViewerInstructors();
protected:
// Метод получения событий
// В нём будет производиться проверка события смены перевода приложения
void changeEvent(QEvent * event) override;
public Q_SLOTS:
void slot_LanguageChanged(QString language);
Q_SIGNALS:
//сигнал о блокировке авторизации
void signal_BlockAutorization(bool block);
public:
void setFilterInstructorLoggedIn(bool enabled);
private slots:
private Q_SLOTS:
void on_btnEditorInstructors_clicked();
private:
void updateButtons() override;
private:
Ui::ViewerInstructors *ui;
};

View File

@@ -13,6 +13,7 @@
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="windowTitle">
@@ -38,6 +39,9 @@
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QToolButton" name="btnEditorInstructors">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>130</width>
@@ -77,27 +81,6 @@
</item>
</layout>
</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>
</item>
</layout>

View File

@@ -6,40 +6,91 @@
InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::InstructorsAndTraineesWidget),
dbLMS(nullptr),
viewerTrainees(nullptr),
viewerInstructors(nullptr),
adminMode(false),
loginInstructorLoggedInLocal(QStringLiteral(""))
{
ui->setupUi(this);
dbLMS = new InterfaceDataBaseLMS();
dbLMS = new InterfaceDataBaseLMS(this);
//Авторизация Инструктора локальная (Администратора)
authorizationInstructorLocal(this);
connect(this, &InstructorsAndTraineesWidget::signal_LanguageChanged, dbLMS, &InterfaceDataBaseLMS::slot_LanguageChanged);
m_viewerTrainees = new ViewerTrainees(dbLMS, adminMode);
m_viewerInstructors = new ViewerInstructors(dbLMS, adminMode);
viewerTrainees = new ViewerTrainees(dbLMS);
viewerInstructors = new ViewerInstructors(dbLMS);
ui->verticalLayout->addWidget(m_viewerTrainees);
ui->verticalLayout->addWidget(m_viewerInstructors);
connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerTrainees, &ViewerTrainees::slot_NeedUpdateUI);
connect(this, &InstructorsAndTraineesWidget::signal_NeedUpdateUI, viewerInstructors, &ViewerInstructors::slot_NeedUpdateUI);
m_viewerTrainees->setMinimumSize(1600, 700);
m_viewerInstructors->setMinimumSize(1600, 400);
connect(viewerInstructors, &ViewerInstructors::signal_BlockAutorization, this, &InstructorsAndTraineesWidget::signal_BlockAutorization);
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()
{
deAuthorizationInstructor(loginInstructorLoggedInLocal);
if(authorizationIsCompleted())
deAuthorizationInstructor(loginInstructorLoggedInLocal);
delete m_viewerInstructors;
delete m_viewerTrainees;
if(dbLMS->DBisConnected())
{
dbLMS->deAuthorizationAllInstructors();
dbLMS->deAuthorizationAllTrainees();
dbLMS->DisConnectionFromDB();
}
delete viewerInstructors;
delete viewerTrainees;
delete dbLMS;
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)
{
DialogAuthorizationInstructor dlg(parent);
dlg.setWindowTitle(tr("Instructor authorithation"));
dlg.setWindowTitle(tr("Instructor authorization"));
do
{
@@ -50,12 +101,21 @@ bool InstructorsAndTraineesWidget::authorizationInstructorLocal(QWidget* parent)
QString login = dlg.getLogin();
QString password = dlg.getPassword();
if(dbLMS->AuthorizationInstructor(login, password))
if(authorizationInstructor(login, password))
{
loginInstructorLoggedInLocal = login;
if(login == QStringLiteral("admin"))
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!"));
@@ -87,20 +147,262 @@ bool InstructorsAndTraineesWidget::authorizationIsCompleted()
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)
{
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)
{
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)
{
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
#include <QWidget>
#include <QTranslator>
#include "instructorsAndTrainees_global.h"
#include "viewertrainees.h"
#include "viewerinstructors.h"
@@ -19,29 +20,71 @@ public:
explicit InstructorsAndTraineesWidget(QWidget *parent = nullptr);
~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:
//Авторизация инструктора локальная
bool authorizationInstructorLocal(QWidget* parent = nullptr);
bool authorizationIsCompleted();
QString getMainInstructorName();
QList<Trainee> getListTrainees();
//Авторизация обучаемого на клиенте
bool authorizationTrainee(QString login, QString password, QString classroom_name = QStringLiteral(""), QString computer_name = QStringLiteral(""));
bool deAuthorizationTrainee(QString login);
QString getNameTraineeByLogin(QString login);
//Авторизация инструктора на клиенте
bool authorizationInstructor(QString login, QString password);
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:
Ui::InstructorsAndTraineesWidget *ui;
InterfaceDataBaseLMS* dbLMS;
ViewerTrainees* m_viewerTrainees;
ViewerInstructors* m_viewerInstructors;
ViewerTrainees* viewerTrainees;
ViewerInstructors* viewerInstructors;
bool adminMode;
QString loginInstructorLoggedInLocal;
QTranslator qtLanguageTranslator;
QMutex mtxAccess;
};
#endif // INSTRUCTORSANDTRAINEESWIDGET_H

View File

@@ -6,10 +6,16 @@
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
<width>1000</width>
<height>800</height>
</rect>
</property>
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
@@ -20,6 +26,7 @@
<widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
@@ -27,9 +34,102 @@
<string>Database LMS</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<item row="1" column="0">
<layout class="QVBoxLayout" name="verticalLayout"/>
</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>
</widget>
</item>
@@ -37,6 +137,8 @@
</item>
</layout>
</widget>
<resources/>
<resources>
<include location="resources.qrc"/>
</resources>
<connections/>
</ui>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -24,7 +24,8 @@
<widget class="QWidget" name="widget" native="true">
<property name="font">
<font>
<pointsize>12</pointsize>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="styleSheet">
@@ -34,32 +35,7 @@
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_1">
<item>
<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>
<layout class="QVBoxLayout" name="verticalLayout_1"/>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
@@ -78,6 +54,7 @@
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="styleSheet">

View File

@@ -1,25 +1,59 @@
#include <QHeaderView>
#include "traineesview.h"
TraineesView::TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, bool adminMode, QWidget *parent):
CommonView(type, adminMode, parent),
dbLMS(dbLMS)
TraineesView::TraineesView(InterfaceDataBaseLMS* dbLMS, TypeView type, QWidget *parent):
CommonView(dbLMS, type, parent)
{
}
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)
return;
*/
treeWidget->setColumnCount(10);
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_Trainee, 250);
@@ -28,8 +62,8 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 80);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 100);
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_Archived, true);
archiveVisible = false;
if(adminMode)
archiveVisible = true;
else
archiveVisible = false;
notLoggedInVisible = true;
}
else
{//control
archiveVisible = true;
notLoggedInVisible = true;
if(adminMode)
{
archiveVisible = true;
notLoggedInVisible = true;
}
else
{
@@ -63,19 +103,23 @@ void TraineesView::preparationTreeWidget(QTreeWidget *tree)
void TraineesView::loadTraineesFromDB()
{
QList <Group> listGroups;
QList <Trainee> listTrainees;
//dbTrainees->transactionBegin();
listGroups = dbLMS->getListGroups();
listTrainees = dbLMS->getListTrainees();
//dbTrainees->transactionEnd();
/*
if(treeWidget == nullptr)
return;
return;*/
//Обновление дерева
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)
{
//Группа
@@ -102,7 +146,8 @@ void TraineesView::loadTraineesFromDB()
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())
{//Архивный

View File

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

View File

@@ -2,21 +2,18 @@
#include "viewertrainees.h"
#include "ui_viewertrainees.h"
ViewerTrainees::ViewerTrainees(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent) :
TraineesView(db, CommonView::TypeView::onlyView, adminMode, parent),
ViewerTrainees::ViewerTrainees(InterfaceDataBaseLMS* db, QWidget *parent) :
TraineesView(db, CommonView::TypeView::onlyView, parent),
ui(new Ui::ViewerTrainees)
{
ui->setupUi(this);
this->adminMode = adminMode;
connect(treeWidget, &QTreeWidget::currentItemChanged, this, &ViewerTrainees::on_treeWidget_currentItemChanged);
// Сделаем первоначальную инициализацию перевода для окна виджета
qtLanguageTranslator.load(QString(QStringLiteral("translations/InstructorsAndTrainees_")) + QString(QStringLiteral("ru_RU")), QStringLiteral("."));
qApp->installTranslator(&qtLanguageTranslator);
ui->horizontalLayout_2->addWidget(treeWidget);
preparationTreeWidget(ui->treeWidget);
preparationTreeWidget(/*ui->treeWidget*/);
setNotLoggedInVisible(true);
loadTraineesFromDB();
}
ViewerTrainees::~ViewerTrainees()
@@ -24,12 +21,7 @@ ViewerTrainees::~ViewerTrainees()
delete ui;
}
void ViewerTrainees::setFilterTraineeLoggedIn(bool enabled)
{
setNotLoggedInVisible(!enabled);
loadTraineesFromDB();
}
/*
void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
{
if(item->childCount() == 0)
@@ -37,20 +29,20 @@ void ViewerTrainees::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column
QString login = item->text(ColumnsTreeTrainees::clmn_Login);
Q_EMIT signal_traineeSelected(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++)
{//Проход по обучаемым
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)
{
ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(i)->child(j));
treeWidget->setCurrentItem(treeWidget->topLevelItem(i)->child(j));
Q_EMIT signal_traineeSelected(login);
return;
}
@@ -62,22 +54,19 @@ void ViewerTrainees::changeEvent(QEvent *event)
{
// В случае получения события изменения языка приложения
if (event->type() == QEvent::LanguageChange)
{
ui->retranslateUi(this); // переведём окно заново
{// переведём окно заново
ui->retranslateUi(this);
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()
{
Q_EMIT signal_BlockAutorization(true);
EditorTrainees editorTraineesGroups(dbLMS, adminMode);
QDialog* dialog = new QDialog(this);
QHBoxLayout *layout = new QHBoxLayout(dialog);
@@ -87,4 +76,30 @@ void ViewerTrainees::on_btnEditorTrainees_clicked()
dialog->exec();
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
#define TRAINEESWIDGET_H
#include <QWidget>
#include <QObject>
#include <QEvent>
#include "instructorsAndTrainees_global.h"
#include "interfacedatabaselms.h"
#include "traineesview.h"
namespace Ui {
@@ -19,24 +14,20 @@ class ViewerTrainees : public TraineesView
Q_OBJECT
public:
explicit ViewerTrainees(InterfaceDataBaseLMS* db, bool adminMode, QWidget *parent = nullptr);
explicit ViewerTrainees(InterfaceDataBaseLMS* db, QWidget *parent = nullptr);
~ViewerTrainees();
protected:
// Метод получения событий
// В нём будет производиться проверка события смены перевода приложения
void changeEvent(QEvent * event) override;
public Q_SLOTS:
void slot_LanguageChanged(QString language);
public:
void setFilterTraineeLoggedIn( bool enabled );
Q_SIGNALS:
//сигнал о блокировке авторизации
void signal_BlockAutorization(bool block);
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_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
public Q_SLOTS:
//слот обработки сигнала об изменении вкладки диалога в мессенджере
@@ -46,6 +37,9 @@ Q_SIGNALS:
//сигнал о выборе обучаемого
void signal_traineeSelected(QString login);
private:
void updateButtons() override;
private:
Ui::ViewerTrainees *ui;
};

View File

@@ -13,6 +13,7 @@
<property name="font">
<font>
<family>Tahoma</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="windowTitle">
@@ -38,6 +39,9 @@
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QToolButton" name="btnEditorTrainees">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>130</width>
@@ -77,30 +81,6 @@
</item>
</layout>
</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>
</item>
</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 Sql REQUIRED)
find_package(Qt5 COMPONENTS LinguistTools REQUIRED)
add_library(DataBaseLMS SHARED
DataBaseLMS_global.h

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data>
<variable>EnvironmentId</variable>

View File

@@ -8,7 +8,7 @@ DataBaseLMS::DataBaseLMS():
db(nullptr),
transactionBegined(false)
{
createConnection();
}
DataBaseLMS::~DataBaseLMS()
@@ -24,12 +24,11 @@ bool DataBaseLMS::createConnection()
db->setPassword(dbPassword);
if(!db->open())
{
QMessageBox::critical(nullptr, dbName, "Connection error: " + db->lastError().text());
deleteConnection();
return false;
}
else
{
QMessageBox::information(nullptr, dbName, "Connection is successful!");
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()
{
/*
if(transactionBegined)
QSqlDatabase::database().rollback();
transactionBegined = true;
return QSqlDatabase::database().transaction();
*/
return true;
}
bool DataBaseLMS::transactionEnd()
{
/*
if(transactionBegined)
{
transactionBegined = false;
@@ -68,6 +83,8 @@ bool DataBaseLMS::transactionEnd()
return QSqlDatabase::database().commit();
}
return false;
*/
return true;
}
QList<Instructor> DataBaseLMS::selectAllInstructors()
@@ -236,6 +253,27 @@ int DataBaseLMS::selectInstructorID(QString login, QString password)
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)
{
QString queryStr = QString("SELECT instructors.is_admin "
@@ -251,7 +289,7 @@ bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor)
}
else
{
if(query.next())
if(query.first())
return query.value(0).toBool();
}
return false;
@@ -272,7 +310,7 @@ bool DataBaseLMS::selectInstructorLoggedIn(int id_instructor)
}
else
{
if(query.next())
if(query.first())
return query.value(0).toBool();
}
return false;
@@ -293,7 +331,7 @@ bool DataBaseLMS::selectInstructorArchived(int id_instructor)
}
else
{
if(query.next())
if(query.first())
return query.value(0).toBool();
}
return false;
@@ -311,6 +349,25 @@ int DataBaseLMS::updateInstructorLoggedIn(int id_instructor, bool loggedIn)
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)
{
QString queryStr = QString("UPDATE public.instructors "
@@ -560,6 +617,93 @@ int DataBaseLMS::selectTraineeID(QString login, QString password)
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)
{
QString queryStr = QString("SELECT trainees.archived "
@@ -575,7 +719,7 @@ bool DataBaseLMS::selectTraineeArchived(int id_trainee)
}
else
{
if(query.next())
if(query.first())
return query.value(0).toBool();
}
return false;
@@ -596,7 +740,7 @@ bool DataBaseLMS::selectTraineeLoggedIn(int id_trainee)
}
else
{
if(query.next())
if(query.first())
return query.value(0).toBool();
}
return false;
@@ -614,6 +758,25 @@ int DataBaseLMS::updateTraineeLoggedIn(int id_trainee, bool loggedIn)
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)
{
QString queryStr = QString("UPDATE public.trainees "
@@ -732,24 +895,6 @@ int DataBaseLMS::queryExecInt(QString queryStr)
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)
{

View File

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

View File

@@ -1,12 +1,47 @@
#include <QMessageBox>
#include <QCoreApplication>
#include <QSqlError>
#include "interfacedatabaselms.h"
InterfaceDataBaseLMS::InterfaceDataBaseLMS():
InterfaceDataBaseLMS::InterfaceDataBaseLMS(QWidget* parent):
QWidget(parent),
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)
@@ -39,6 +74,16 @@ bool InterfaceDataBaseLMS::deAuthorizationInstructor(QString login)
return false;
}
bool InterfaceDataBaseLMS::deAuthorizationAllInstructors()
{
return updateAllInstructorsLoggedIn(false);
}
QString InterfaceDataBaseLMS::getNameInstructorByLogin(QString login)
{
return selectInstructorNameByLogin(login);
}
QList<Instructor> InterfaceDataBaseLMS::getListInstructors()
{
return selectAllInstructors();
@@ -67,35 +112,35 @@ int InterfaceDataBaseLMS::editInstructor(Instructor 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."));
return 0;
}
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."));
return 0;
}
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."));
return 0;
}
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."));
return 0;
}
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."));
return 0;
}
@@ -114,6 +159,11 @@ bool InterfaceDataBaseLMS::isArchivedInstructor(int id)
return selectInstructorArchived(id);
}
bool InterfaceDataBaseLMS::isLoggedInInstructor(int id)
{
return selectInstructorLoggedIn(id);
}
//Инструкторы
@@ -147,6 +197,11 @@ bool InterfaceDataBaseLMS::deAuthorizationTrainee(QString login)
return false;
}
bool InterfaceDataBaseLMS::deAuthorizationAllTrainees()
{
return updateAllTraineesLoggedIn(false);
}
QList<Task> InterfaceDataBaseLMS::getTasksTrainee(int id)
{
return selectTasksOfTrainee(id);
@@ -154,35 +209,17 @@ QList<Task> InterfaceDataBaseLMS::getTasksTrainee(int id)
QString InterfaceDataBaseLMS::getNameTraineeOnComputer(QString computer_name)
{
/*
for(Trainee trainee : listOfTrainees)
{
if(trainee.getComputer().getName() == computer_name)
return trainee.getName();
}*/
return QString(QStringLiteral(""));
return selectTraineeNameOnComputer(computer_name);
}
Trainee InterfaceDataBaseLMS::getTraineeOnComputer(QString computer_name)
{
/*
for(Trainee trainee : listOfTrainees)
{
if(trainee.getComputer().getName() == computer_name)
return trainee;
}*/
return Trainee();
return selectTraineeOnComputer(computer_name);
}
QString InterfaceDataBaseLMS::getNameTraineeByLogin(QString login)
{
/*
for(Trainee trainee : listOfTrainees)
{
if(trainee.getLogin() == login)
return trainee.getName();
}*/
return QString(QStringLiteral(""));
return selectTraineeNameByLogin(login);
}
QList<Trainee> InterfaceDataBaseLMS::getListTraineesInGroup(int id)
@@ -228,15 +265,15 @@ int InterfaceDataBaseLMS::editGroup(Group 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."));
return 0;
}
if(group.getName() == exist_group.getName() && group.getID() != exist_group.getID())
{//Имя уже существует
QMessageBox::critical(nullptr, tr("Editing error!"),
tr("An existing group name has been entered."));
QMessageBox::critical(this, tr("Editing error!"),
tr("An existing group name has been entered.\nThe changes will not be accepted."));
return 0;
}
}
@@ -262,35 +299,35 @@ int InterfaceDataBaseLMS::editTrainee(Trainee 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."));
return 0;
}
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."));
return 0;
}
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."));
return 0;
}
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."));
return 0;
}
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."));
return 0;
}
@@ -303,3 +340,8 @@ bool InterfaceDataBaseLMS::isArchivedTrainee(int id)
{
return selectTraineeArchived(id);
}
bool InterfaceDataBaseLMS::isLoggedInTrainee(int id)
{
return selectTraineeLoggedIn(id);
}

View File

@@ -2,23 +2,35 @@
#define INTERFACEDATABASELMS_H
#include <QObject>
#include <QWidget>
#include <QTranslator>
#include "DataBaseLMS_global.h"
#include "databaselms.h"
class DATABASELMS_EXPORT InterfaceDataBaseLMS : public QObject, DataBaseLMS
class DATABASELMS_EXPORT InterfaceDataBaseLMS : public /*QObject*/QWidget, DataBaseLMS
{
Q_OBJECT
public:
InterfaceDataBaseLMS();
InterfaceDataBaseLMS(QWidget* parent = nullptr);
public Q_SLOTS:
void slot_LanguageChanged(QString language);
public:
//Соединение
bool ConnectionToDB();
bool DisConnectionFromDB();
bool DBisConnected();
//Инструкторы
bool AuthorizationInstructor(QString login, QString password);
bool deAuthorizationInstructor(QString login);
bool deAuthorizationAllInstructors();
QString getNameInstructorByLogin(QString login);
QList<Instructor> getListInstructors();
Instructor getInstructor(int id);
@@ -29,12 +41,14 @@ public:
bool isAdminInstructor(int id);
bool isArchivedInstructor(int id);
bool isLoggedInInstructor(int id);
//Обучаемые
bool AuthorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name);
bool deAuthorizationTrainee(QString login);
bool deAuthorizationAllTrainees();
//void setTasks(QString login, QStringList tasks);
QList<Task> getTasksTrainee(int id);
@@ -60,8 +74,10 @@ public:
int editTrainee(Trainee trainee);
bool isArchivedTrainee(int id);
bool isLoggedInTrainee(int id);
private:
QTranslator qtLanguageTranslator;
};
#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",
"value" : "CXX compiler"
"value" : "No help, variable specified on the command line."
}
],
"type" : "STRING",
@@ -1285,6 +1285,18 @@
"type" : "PATH",
"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",
"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,
"id" : "DataBaseLMS::@6890427a1f51a3e7e1df",
"jsonFile" : "target-DataBaseLMS-Debug-5eb45d4d55eb23675b98.json",
"jsonFile" : "target-DataBaseLMS-Debug-eb266f74c47cd0f59951.json",
"name" : "DataBaseLMS",
"projectIndex" : 0
},

View File

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

View File

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

Binary file not shown.

View File

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

View File

@@ -1,23 +1,23 @@
# 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/interfacedatabaselms.h
mmc:Q_OBJECT
D:/LMS/DB_LMS/DataBaseLMS/group.h
D:/LMS/DB_LMS/DataBaseLMS/user.cpp
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/databaselms.h
D:/LMS/DB_LMS/DataBaseLMS/computer.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp
D:/LMS/DB_LMS/DataBaseLMS/classroom.h
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/user.h
D:/LMS/DB_LMS/DataBaseLMS/computer.cpp
D:/LMS/DB_LMS/DataBaseLMS/basicentity.h
D:/LMS/DB_LMS/DataBaseLMS/user.h
D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp
D:/LMS/DB_LMS/DataBaseLMS/classroom.h
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/basicentity.cpp
D:/LMS/DB_LMS/DataBaseLMS/task.h
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 makefile_is_custom="1"/>
<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>
<Target title="all">
<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">
<Option virtualFolder="CMake Files\Qt\Qt5.14.2\5.14.2\mingw73_64\lib\cmake\Qt5Sql\"/>
</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>
</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_DISABLE_DEPRECATED
struct qt_meta_stringdata_InterfaceDataBaseLMS_t {
QByteArrayData data[1];
char stringdata0[21];
QByteArrayData data[4];
char stringdata0[52];
};
#define QT_MOC_LITERAL(idx, ofs, 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 = {
{
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
@@ -45,26 +49,36 @@ static const uint qt_meta_data_InterfaceDataBaseLMS[] = {
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 19, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::QString, 3,
0 // eod
};
void InterfaceDataBaseLMS::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<InterfaceDataBaseLMS *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->slot_LanguageChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
default: ;
}
}
}
QT_INIT_METAOBJECT const QMetaObject InterfaceDataBaseLMS::staticMetaObject = { {
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_InterfaceDataBaseLMS.data,
qt_meta_data_InterfaceDataBaseLMS,
qt_static_metacall,
@@ -85,12 +99,23 @@ void *InterfaceDataBaseLMS::qt_metacast(const char *_clname)
return static_cast<void*>(this);
if (!strcmp(_clname, "DataBaseLMS"))
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)
{
_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;
}
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