From 2b937e208465162c64fc47a743fe1fad68b1fca1 Mon Sep 17 00:00:00 2001 From: zyh <2282014856@qq.com> Date: Sun, 12 Oct 2025 16:43:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=A1=B5=E9=9D=A2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile.Debug | 560 ++++++++++++++++++++++- Makefile.Release | 560 ++++++++++++++++++++++- debug/object_script.examSystem.Debug | 2 + examSystem.pro.user | 14 +- release/change_password_dialog.o | Bin 0 -> 26821 bytes release/examSystem.exe | Bin 357376 -> 386560 bytes release/login_widget.o | Bin 24729 -> 25285 bytes release/main_window.o | Bin 12914 -> 16071 bytes release/moc_change_password_dialog.cpp | 166 +++++++ release/moc_change_password_dialog.o | Bin 0 -> 17039 bytes release/moc_login_widget.cpp | 67 +-- release/moc_login_widget.o | Bin 17897 -> 29397 bytes release/moc_main_window.cpp | 81 ++-- release/moc_main_window.o | Bin 40500 -> 41043 bytes release/moc_question_widget.cpp | 42 +- release/moc_question_widget.o | Bin 24793 -> 25392 bytes release/moc_selection_widget.cpp | 108 ++++- release/moc_selection_widget.o | Bin 35933 -> 37007 bytes release/object_script.examSystem.Release | 2 + release/question_widget.o | Bin 15942 -> 19328 bytes release/selection_widget.o | Bin 10982 -> 19147 bytes src/frontend/change_password_dialog.cc | 212 +++++++++ src/frontend/change_password_dialog.h | 44 ++ src/frontend/login_widget.cc | 75 ++- src/frontend/login_widget.h | 11 +- src/frontend/main_window.cc | 18 +- src/frontend/main_window.h | 5 +- src/frontend/question_widget.cc | 106 ++++- src/frontend/question_widget.h | 5 + src/frontend/selection_widget.cc | 152 ++++-- src/frontend/selection_widget.h | 36 +- users.csv | 13 + zhangsan1/2025-10-12-16-36-11.txt | 19 + zhangsan1/2025-10-12-16-39-45.txt | 19 + 34 files changed, 2107 insertions(+), 210 deletions(-) create mode 100644 release/change_password_dialog.o create mode 100644 release/moc_change_password_dialog.cpp create mode 100644 release/moc_change_password_dialog.o create mode 100644 src/frontend/change_password_dialog.cc create mode 100644 src/frontend/change_password_dialog.h create mode 100644 users.csv create mode 100644 zhangsan1/2025-10-12-16-36-11.txt create mode 100644 zhangsan1/2025-10-12-16-39-45.txt diff --git a/Makefile.Debug b/Makefile.Debug index 899849e..9046fee 100644 --- a/Makefile.Debug +++ b/Makefile.Debug @@ -51,6 +51,7 @@ OBJECTS_DIR = debug ####### Files SOURCES = src\frontend\base_widget.cc \ + src\frontend\change_password_dialog.cc \ src\frontend\login_widget.cc \ src\frontend\main_window.cc \ src\frontend\question_widget.cc \ @@ -65,12 +66,14 @@ SOURCES = src\frontend\base_widget.cc \ src\backend\logger\logger.cc \ src\backend\problem_generator\problem_generator.cc debug\qrc_qmake_qmake_qm_files.cpp \ debug\moc_base_widget.cpp \ + debug\moc_change_password_dialog.cpp \ debug\moc_login_widget.cpp \ debug\moc_main_window.cpp \ debug\moc_question_widget.cpp \ debug\moc_result_widget.cpp \ debug\moc_selection_widget.cpp OBJECTS = debug/base_widget.o \ + debug/change_password_dialog.o \ debug/login_widget.o \ debug/main_window.o \ debug/question_widget.o \ @@ -86,6 +89,7 @@ OBJECTS = debug/base_widget.o \ debug/problem_generator.o \ debug/qrc_qmake_qmake_qm_files.o \ debug/moc_base_widget.o \ + debug/moc_change_password_dialog.o \ debug/moc_login_widget.o \ debug/moc_main_window.o \ debug/moc_question_widget.o \ @@ -93,6 +97,7 @@ OBJECTS = debug/base_widget.o \ debug/moc_selection_widget.o DIST = src\frontend\base_widget.h \ + src\frontend\change_password_dialog.h \ src\frontend\login_widget.h \ src\frontend\main_window.h \ src\frontend\question_widget.h \ @@ -105,6 +110,7 @@ DIST = src\frontend\base_widget.h \ src\backend\input_validator\input_validator.h \ src\backend\logger\logger.h \ src\backend\problem_generator\problem_generator.h src\frontend\base_widget.cc \ + src\frontend\change_password_dialog.cc \ src\frontend\login_widget.cc \ src\frontend\main_window.cc \ src\frontend\question_widget.cc \ @@ -137,10 +143,10 @@ qmake: FORCE qmake_all: FORCE dist: - $(ZIP) examSystem.zip $(SOURCES) $(DIST) examSystem.pro ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\device_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\sanitize.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\gcc-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows_vulkan_sdk.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-vulkan.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-win32.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-desktop.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\qconfig.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_freetype.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libjpeg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libpng.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bodymovin_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_entrypoint_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_example_icons_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_freetype_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_harfbuzz_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jpeg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jsonrpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_languageserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediaquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_png_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcompiler_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldom_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltyperegistrar_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dglslparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dspatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrolstestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickshapes_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_tools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_zlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\win32-g++\qmake.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\toolchain.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resolve_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\build_pass.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lrelease.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\entrypoint.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\precompile_header.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\warn_on.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\moc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\opengl.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\uic.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qmake_use.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\file_copies.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\testcase_targets.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exceptions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\yacc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lex.prf examSystem.pro debug\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\lib\Qt6Widgets.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Gui.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Core.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6EntryPoint.prl examSystem_zh_CN.ts examSystem_zh_CN.ts examSystem_zh_CN.ts debug\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\mkspecs\features\data\dummy.cpp src\frontend\base_widget.h src\frontend\login_widget.h src\frontend\main_window.h src\frontend\question_widget.h src\frontend\result_widget.h src\frontend\selection_widget.h src\shared\backend_interface.h src\backend\duplicate_checker\duplicate_checker.h src\backend\exam_system\exam_system.h src\backend\file_manager\file_manager.h src\backend\input_validator\input_validator.h src\backend\logger\logger.h src\backend\problem_generator\problem_generator.h src\frontend\base_widget.cc src\frontend\login_widget.cc src\frontend\main_window.cc src\frontend\question_widget.cc src\frontend\result_widget.cc src\frontend\selection_widget.cc src\main\main.cc src\shared\backend_interface.cc src\backend\duplicate_checker\duplicate_checker.cc src\backend\exam_system\exam_system.cc src\backend\file_manager\file_manager.cc src\backend\input_validator\input_validator.cc src\backend\logger\logger.cc src\backend\problem_generator\problem_generator.cc mainwindow.ui + $(ZIP) examSystem.zip $(SOURCES) $(DIST) examSystem.pro ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\device_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\sanitize.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\gcc-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows_vulkan_sdk.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-vulkan.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-win32.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-desktop.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\qconfig.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_freetype.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libjpeg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libpng.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bodymovin_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_entrypoint_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_example_icons_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_freetype_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_harfbuzz_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jpeg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jsonrpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_languageserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediaquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_png_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcompiler_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldom_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltyperegistrar_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dglslparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dspatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrolstestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickshapes_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_tools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_zlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\win32-g++\qmake.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\toolchain.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resolve_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\build_pass.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lrelease.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\entrypoint.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\precompile_header.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\warn_on.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\moc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\opengl.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\uic.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qmake_use.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\file_copies.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\testcase_targets.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exceptions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\yacc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lex.prf examSystem.pro debug\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\lib\Qt6Widgets.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Gui.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Core.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6EntryPoint.prl examSystem_zh_CN.ts examSystem_zh_CN.ts examSystem_zh_CN.ts debug\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\mkspecs\features\data\dummy.cpp src\frontend\base_widget.h src\frontend\change_password_dialog.h src\frontend\login_widget.h src\frontend\main_window.h src\frontend\question_widget.h src\frontend\result_widget.h src\frontend\selection_widget.h src\shared\backend_interface.h src\backend\duplicate_checker\duplicate_checker.h src\backend\exam_system\exam_system.h src\backend\file_manager\file_manager.h src\backend\input_validator\input_validator.h src\backend\logger\logger.h src\backend\problem_generator\problem_generator.h src\frontend\base_widget.cc src\frontend\change_password_dialog.cc src\frontend\login_widget.cc src\frontend\main_window.cc src\frontend\question_widget.cc src\frontend\result_widget.cc src\frontend\selection_widget.cc src\main\main.cc src\shared\backend_interface.cc src\backend\duplicate_checker\duplicate_checker.cc src\backend\exam_system\exam_system.cc src\backend\file_manager\file_manager.cc src\backend\input_validator\input_validator.cc src\backend\logger\logger.cc src\backend\problem_generator\problem_generator.cc mainwindow.ui clean: compiler_clean - -$(DEL_FILE) debug\base_widget.o debug\login_widget.o debug\main_window.o debug\question_widget.o debug\result_widget.o debug\selection_widget.o debug\main.o debug\backend_interface.o debug\duplicate_checker.o debug\exam_system.o debug\file_manager.o debug\input_validator.o debug\logger.o debug\problem_generator.o debug\qrc_qmake_qmake_qm_files.o debug\moc_base_widget.o debug\moc_login_widget.o debug\moc_main_window.o debug\moc_question_widget.o debug\moc_result_widget.o debug\moc_selection_widget.o + -$(DEL_FILE) debug\base_widget.o debug\change_password_dialog.o debug\login_widget.o debug\main_window.o debug\question_widget.o debug\result_widget.o debug\selection_widget.o debug\main.o debug\backend_interface.o debug\duplicate_checker.o debug\exam_system.o debug\file_manager.o debug\input_validator.o debug\logger.o debug\problem_generator.o debug\qrc_qmake_qmake_qm_files.o debug\moc_base_widget.o debug\moc_change_password_dialog.o debug\moc_login_widget.o debug\moc_main_window.o debug\moc_question_widget.o debug\moc_result_widget.o debug\moc_selection_widget.o distclean: clean -$(DEL_FILE) .qmake.stash @@ -177,9 +183,9 @@ compiler_moc_predefs_clean: debug/moc_predefs.h: ../../Qt/6.5.3/mingw_64/mkspecs/features/data/dummy.cpp g++ -fno-keep-inline-dllexport -g -std=gnu++1z -Wall -Wextra -Wextra -dM -E -o debug\moc_predefs.h ..\..\Qt\6.5.3\mingw_64\mkspecs\features\data\dummy.cpp -compiler_moc_header_make_all: debug/moc_base_widget.cpp debug/moc_login_widget.cpp debug/moc_main_window.cpp debug/moc_question_widget.cpp debug/moc_result_widget.cpp debug/moc_selection_widget.cpp +compiler_moc_header_make_all: debug/moc_base_widget.cpp debug/moc_change_password_dialog.cpp debug/moc_login_widget.cpp debug/moc_main_window.cpp debug/moc_question_widget.cpp debug/moc_result_widget.cpp debug/moc_selection_widget.cpp compiler_moc_header_clean: - -$(DEL_FILE) debug\moc_base_widget.cpp debug\moc_login_widget.cpp debug\moc_main_window.cpp debug\moc_question_widget.cpp debug\moc_result_widget.cpp debug\moc_selection_widget.cpp + -$(DEL_FILE) debug\moc_base_widget.cpp debug\moc_change_password_dialog.cpp debug\moc_login_widget.cpp debug\moc_main_window.cpp debug\moc_question_widget.cpp debug\moc_result_widget.cpp debug\moc_selection_widget.cpp debug/moc_base_widget.cpp: src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QWidget \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qwidget.h \ @@ -349,6 +355,203 @@ debug/moc_base_widget.cpp: src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/bin/moc.exe E:\Qt\6.5.3\mingw_64\bin\moc.exe $(DEFINES) --include E:/qt_project/1/debug/moc_predefs.h -IE:/Qt/6.5.3/mingw_64/mkspecs/win32-g++ -IE:/qt_project/1 -IE:/Qt/6.5.3/mingw_64/include -IE:/Qt/6.5.3/mingw_64/include/QtWidgets -IE:/Qt/6.5.3/mingw_64/include/QtGui -IE:/Qt/6.5.3/mingw_64/include/QtCore -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++ -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32 -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed -IE:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include src\frontend\base_widget.h -o debug\moc_base_widget.cpp +debug/moc_change_password_dialog.cpp: src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversionchecks.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconfig.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcore-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtconfigmacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcoreexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtpreprocessorsupport.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtnoop.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsystemdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qprocessordetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompilerdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qassert.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypes.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtclasshelpermacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypeinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsysinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlogging.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qflags.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbasicatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic_cxx11.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qgenericatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconstructormacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdarwinhelpers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qexceptionhandling.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qforeach.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtdeprecationmarkers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttypetraits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfunctionpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobalstatic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmalloc.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qminmax.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnumeric.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qoverload.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qswap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtenvironmentvariables.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtresource.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttranslation.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qversiontagging.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtgui-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgets-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qwidget.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnamespace.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtmetamacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs_win.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstring.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qchar.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrefcount.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpair.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydatapointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydataops.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainertools_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qxptype_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20type_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringliteral.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qanystringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qutf8stringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringtokenizer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringbuilder.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhashfunctions.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterator.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearraylist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringmatcher.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetatype.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdatastream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevicebase.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfloat16.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmath.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterable.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetacontainer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtaggedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopeguard.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbindingstorage.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmargins.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qaction.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qkeysequence.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qicon.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsize.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpaintdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrect.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcolor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgb.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgba64.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qimage.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixelformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtransform.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpolygon.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qregion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qline.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvariant.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdebug.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtextstream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringconverter_base.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontiguouscache.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qset.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhash.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvarlengtharray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20memory.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpalette.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbrush.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfont.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontmetrics.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qsizepolicy.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbitmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qurl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qeventpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvector2d.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvectornd.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpointingdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qinputdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qscreen.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QList \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QObject \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRect \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSize \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSizeF \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QTransform \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnativeinterface.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qframe.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextdocument.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QPushButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qpushbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qabstractbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLabel \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlabel.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpicture.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ + src/shared/backend_interface.h \ + src/backend/exam_system/exam_system.h \ + src/backend/problem_generator/problem_generator.h \ + src/backend/file_manager/file_manager.h \ + src/backend/duplicate_checker/duplicate_checker.h \ + src/backend/logger/logger.h \ + src/backend/input_validator/input_validator.h \ + debug/moc_predefs.h \ + ../../Qt/6.5.3/mingw_64/bin/moc.exe + E:\Qt\6.5.3\mingw_64\bin\moc.exe $(DEFINES) --include E:/qt_project/1/debug/moc_predefs.h -IE:/Qt/6.5.3/mingw_64/mkspecs/win32-g++ -IE:/qt_project/1 -IE:/Qt/6.5.3/mingw_64/include -IE:/Qt/6.5.3/mingw_64/include/QtWidgets -IE:/Qt/6.5.3/mingw_64/include/QtGui -IE:/Qt/6.5.3/mingw_64/include/QtCore -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++ -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32 -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed -IE:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include src\frontend\change_password_dialog.h -o debug\moc_change_password_dialog.cpp + debug/moc_login_widget.cpp: src/frontend/login_widget.h \ src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QWidget \ @@ -728,16 +931,31 @@ debug/moc_main_window.cpp: src/frontend/main_window.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qvalidator.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qlocale.h \ - src/frontend/question_widget.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + src/frontend/question_widget.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ src/frontend/result_widget.h \ debug/moc_predefs.h \ ../../Qt/6.5.3/mingw_64/bin/moc.exe @@ -1288,6 +1506,32 @@ debug/moc_selection_widget.cpp: src/frontend/selection_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qframe.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qpicture.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qtextdocument.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ debug/moc_predefs.h \ ../../Qt/6.5.3/mingw_64/bin/moc.exe E:\Qt\6.5.3\mingw_64\bin\moc.exe $(DEFINES) --include E:/qt_project/1/debug/moc_predefs.h -IE:/Qt/6.5.3/mingw_64/mkspecs/win32-g++ -IE:/qt_project/1 -IE:/Qt/6.5.3/mingw_64/include -IE:/Qt/6.5.3/mingw_64/include/QtWidgets -IE:/Qt/6.5.3/mingw_64/include/QtGui -IE:/Qt/6.5.3/mingw_64/include/QtCore -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++ -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32 -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed -IE:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include src\frontend\selection_widget.h -o debug\moc_selection_widget.cpp @@ -1485,6 +1729,201 @@ debug/base_widget.o: src/frontend/base_widget.cc src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\base_widget.o src\frontend\base_widget.cc +debug/change_password_dialog.o: src/frontend/change_password_dialog.cc src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversionchecks.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconfig.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcore-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtconfigmacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcoreexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtpreprocessorsupport.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtnoop.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsystemdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qprocessordetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompilerdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qassert.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypes.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtclasshelpermacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypeinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsysinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlogging.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qflags.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbasicatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic_cxx11.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qgenericatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconstructormacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdarwinhelpers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qexceptionhandling.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qforeach.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtdeprecationmarkers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttypetraits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfunctionpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobalstatic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmalloc.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qminmax.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnumeric.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qoverload.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qswap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtenvironmentvariables.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtresource.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttranslation.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qversiontagging.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtgui-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgets-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qwidget.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnamespace.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtmetamacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs_win.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstring.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qchar.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrefcount.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpair.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydatapointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydataops.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainertools_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qxptype_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20type_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringliteral.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qanystringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qutf8stringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringtokenizer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringbuilder.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhashfunctions.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterator.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearraylist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringmatcher.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetatype.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdatastream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevicebase.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfloat16.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmath.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterable.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetacontainer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtaggedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopeguard.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbindingstorage.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmargins.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qaction.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qkeysequence.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qicon.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsize.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpaintdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrect.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcolor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgb.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgba64.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qimage.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixelformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtransform.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpolygon.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qregion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qline.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvariant.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdebug.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtextstream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringconverter_base.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontiguouscache.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qset.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhash.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvarlengtharray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20memory.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpalette.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbrush.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfont.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontmetrics.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qsizepolicy.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbitmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qurl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qeventpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvector2d.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvectornd.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpointingdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qinputdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qscreen.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QList \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QObject \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRect \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSize \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSizeF \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QTransform \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnativeinterface.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qframe.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextdocument.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QPushButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qpushbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qabstractbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLabel \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlabel.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpicture.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ + src/shared/backend_interface.h \ + src/backend/exam_system/exam_system.h \ + src/backend/problem_generator/problem_generator.h \ + src/backend/file_manager/file_manager.h \ + src/backend/duplicate_checker/duplicate_checker.h \ + src/backend/logger/logger.h \ + src/backend/input_validator/input_validator.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\change_password_dialog.o src\frontend\change_password_dialog.cc + debug/login_widget.o: src/frontend/login_widget.cc src/frontend/login_widget.h \ src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QWidget \ @@ -1879,16 +2318,31 @@ debug/main_window.o: src/frontend/main_window.cc src/frontend/main_window.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qvalidator.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qlocale.h \ - src/frontend/question_widget.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + src/frontend/question_widget.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ src/frontend/result_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QApplication \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qapplication.h \ @@ -2098,7 +2552,10 @@ debug/question_widget.o: src/frontend/question_widget.cc src/frontend/question_w ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QGroupBox \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgroupbox.h + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgroupbox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\question_widget.o src\frontend\question_widget.cc debug/result_widget.o: src/frontend/result_widget.cc src/frontend/result_widget.h \ @@ -2468,8 +2925,51 @@ debug/selection_widget.o: src/frontend/selection_widget.cc src/frontend/selectio ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QGroupBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgroupbox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QApplication \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qapplication.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreapplication.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qeventloop.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreapplication_platform.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfuture.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfutureinterface.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmutex.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtsan_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qresultstore.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfuture_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qthreadpool.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qthread.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdeadlinetimer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qelapsedtimer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrunnable.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qexception.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpromise.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qguiapplication.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qinputmethod.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qguiapplication_platform.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\selection_widget.o src\frontend\selection_widget.cc debug/main.o: src/main/main.cc ../../Qt/6.5.3/mingw_64/include/QtWidgets/QApplication \ @@ -2686,16 +3186,31 @@ debug/main.o: src/main/main.cc ../../Qt/6.5.3/mingw_64/include/QtWidgets/QApplic ../../Qt/6.5.3/mingw_64/include/QtWidgets/qabstractspinbox.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qvalidator.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ - src/frontend/question_widget.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + src/frontend/question_widget.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ src/frontend/result_widget.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\main.o src\main\main.cc @@ -2746,6 +3261,9 @@ debug/qrc_qmake_qmake_qm_files.o: debug/qrc_qmake_qmake_qm_files.cpp debug/moc_base_widget.o: debug/moc_base_widget.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_base_widget.o debug\moc_base_widget.cpp +debug/moc_change_password_dialog.o: debug/moc_change_password_dialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_change_password_dialog.o debug\moc_change_password_dialog.cpp + debug/moc_login_widget.o: debug/moc_login_widget.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_login_widget.o debug\moc_login_widget.cpp diff --git a/Makefile.Release b/Makefile.Release index 041dfcf..9d6ed9a 100644 --- a/Makefile.Release +++ b/Makefile.Release @@ -51,6 +51,7 @@ OBJECTS_DIR = release ####### Files SOURCES = src\frontend\base_widget.cc \ + src\frontend\change_password_dialog.cc \ src\frontend\login_widget.cc \ src\frontend\main_window.cc \ src\frontend\question_widget.cc \ @@ -65,12 +66,14 @@ SOURCES = src\frontend\base_widget.cc \ src\backend\logger\logger.cc \ src\backend\problem_generator\problem_generator.cc release\qrc_qmake_qmake_qm_files.cpp \ release\moc_base_widget.cpp \ + release\moc_change_password_dialog.cpp \ release\moc_login_widget.cpp \ release\moc_main_window.cpp \ release\moc_question_widget.cpp \ release\moc_result_widget.cpp \ release\moc_selection_widget.cpp OBJECTS = release/base_widget.o \ + release/change_password_dialog.o \ release/login_widget.o \ release/main_window.o \ release/question_widget.o \ @@ -86,6 +89,7 @@ OBJECTS = release/base_widget.o \ release/problem_generator.o \ release/qrc_qmake_qmake_qm_files.o \ release/moc_base_widget.o \ + release/moc_change_password_dialog.o \ release/moc_login_widget.o \ release/moc_main_window.o \ release/moc_question_widget.o \ @@ -93,6 +97,7 @@ OBJECTS = release/base_widget.o \ release/moc_selection_widget.o DIST = src\frontend\base_widget.h \ + src\frontend\change_password_dialog.h \ src\frontend\login_widget.h \ src\frontend\main_window.h \ src\frontend\question_widget.h \ @@ -105,6 +110,7 @@ DIST = src\frontend\base_widget.h \ src\backend\input_validator\input_validator.h \ src\backend\logger\logger.h \ src\backend\problem_generator\problem_generator.h src\frontend\base_widget.cc \ + src\frontend\change_password_dialog.cc \ src\frontend\login_widget.cc \ src\frontend\main_window.cc \ src\frontend\question_widget.cc \ @@ -137,10 +143,10 @@ qmake: FORCE qmake_all: FORCE dist: - $(ZIP) examSystem.zip $(SOURCES) $(DIST) examSystem.pro ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\device_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\sanitize.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\gcc-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows_vulkan_sdk.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-vulkan.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-win32.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-desktop.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\qconfig.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_freetype.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libjpeg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libpng.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bodymovin_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_entrypoint_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_example_icons_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_freetype_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_harfbuzz_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jpeg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jsonrpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_languageserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediaquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_png_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcompiler_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldom_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltyperegistrar_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dglslparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dspatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrolstestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickshapes_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_tools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_zlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\win32-g++\qmake.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\toolchain.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resolve_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\build_pass.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lrelease.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\entrypoint.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\precompile_header.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\warn_on.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\moc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\opengl.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\uic.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qmake_use.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\file_copies.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\testcase_targets.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exceptions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\yacc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lex.prf examSystem.pro release\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\lib\Qt6Widgets.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Gui.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Core.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6EntryPoint.prl examSystem_zh_CN.ts examSystem_zh_CN.ts examSystem_zh_CN.ts release\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\mkspecs\features\data\dummy.cpp src\frontend\base_widget.h src\frontend\login_widget.h src\frontend\main_window.h src\frontend\question_widget.h src\frontend\result_widget.h src\frontend\selection_widget.h src\shared\backend_interface.h src\backend\duplicate_checker\duplicate_checker.h src\backend\exam_system\exam_system.h src\backend\file_manager\file_manager.h src\backend\input_validator\input_validator.h src\backend\logger\logger.h src\backend\problem_generator\problem_generator.h src\frontend\base_widget.cc src\frontend\login_widget.cc src\frontend\main_window.cc src\frontend\question_widget.cc src\frontend\result_widget.cc src\frontend\selection_widget.cc src\main\main.cc src\shared\backend_interface.cc src\backend\duplicate_checker\duplicate_checker.cc src\backend\exam_system\exam_system.cc src\backend\file_manager\file_manager.cc src\backend\input_validator\input_validator.cc src\backend\logger\logger.cc src\backend\problem_generator\problem_generator.cc mainwindow.ui + $(ZIP) examSystem.zip $(SOURCES) $(DIST) examSystem.pro ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\device_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\sanitize.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\gcc-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-base.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows_vulkan_sdk.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-vulkan.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\g++-win32.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\common\windows-desktop.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\qconfig.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_freetype.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libjpeg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_ext_libpng.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3danimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dlogic_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickextras_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickinput_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickrender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_3drender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_activeqt_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axbase_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axcontainer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_axserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bluetooth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_bodymovin_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_charts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_chartsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_concurrent_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_core_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualization_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_datavisualizationqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_dbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designer_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_designercomponents_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_entrypoint_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_example_icons_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_fb_support_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_freetype_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_grpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_gui_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_harfbuzz_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_help_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_httpserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttracker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_insighttrackerqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jpeg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_jsonrpc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsanimation_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsfolderlistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labsqmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssettings_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labssharedimage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_labswavefrontmesh_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_languageserver_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_linguist_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_location_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimedia_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediaquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_network_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_networkauth_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_nfc_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_opengl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_openglwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_packetprotocol_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_png_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioning_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_positioningquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_printsupport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_protobuf_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcompiler_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlcore_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldebug_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmldom_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlintegration_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmllocalstorage_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlmodels_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltest_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmltyperegistrar_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_qmlxmllistmodel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3d_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetimport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dassetutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3deffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dglslparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dhelpersimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3diblbaker_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticleeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysics_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dphysicshelpers_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3druntimerender_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dspatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick3dutils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrols2impl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickcontrolstestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickdialogs2utils_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickeffects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicklayouts_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickparticles_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickshapes_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktestutilsprivate_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quicktimeline_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_quickwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjects_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_remoteobjectsqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_repparser_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_scxmlqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensors_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sensorsquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialbus_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_serialport_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_shadertools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_spatialaudio_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_sql_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachine_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_statemachineqml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svg_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_svgwidgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_testlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_texttospeech_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_tools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uiplugin.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_uitools_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_virtualkeyboard_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webchannel_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_websockets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webview_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_webviewquick_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_widgets_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_xml_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\modules\qt_lib_zlib_private.pri ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\win32-g++\qmake.conf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\spec_post.prf .qmake.stash ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\toolchain.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\default_pre.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resolve_config.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exclusive_builds_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\default_post.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\build_pass.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lrelease.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\entrypoint.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\precompile_header.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\warn_on.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qt.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources_functions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\resources.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\moc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\opengl.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\uic.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\qmake_use.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\file_copies.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\win32\windows.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\testcase_targets.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\exceptions.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\yacc.prf ..\..\Qt\6.5.3\mingw_64\mkspecs\features\lex.prf examSystem.pro release\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\lib\Qt6Widgets.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Gui.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6Core.prl ..\..\Qt\6.5.3\mingw_64\lib\Qt6EntryPoint.prl examSystem_zh_CN.ts examSystem_zh_CN.ts examSystem_zh_CN.ts release\qmake_qmake_qm_files.qrc ..\..\Qt\6.5.3\mingw_64\mkspecs\features\data\dummy.cpp src\frontend\base_widget.h src\frontend\change_password_dialog.h src\frontend\login_widget.h src\frontend\main_window.h src\frontend\question_widget.h src\frontend\result_widget.h src\frontend\selection_widget.h src\shared\backend_interface.h src\backend\duplicate_checker\duplicate_checker.h src\backend\exam_system\exam_system.h src\backend\file_manager\file_manager.h src\backend\input_validator\input_validator.h src\backend\logger\logger.h src\backend\problem_generator\problem_generator.h src\frontend\base_widget.cc src\frontend\change_password_dialog.cc src\frontend\login_widget.cc src\frontend\main_window.cc src\frontend\question_widget.cc src\frontend\result_widget.cc src\frontend\selection_widget.cc src\main\main.cc src\shared\backend_interface.cc src\backend\duplicate_checker\duplicate_checker.cc src\backend\exam_system\exam_system.cc src\backend\file_manager\file_manager.cc src\backend\input_validator\input_validator.cc src\backend\logger\logger.cc src\backend\problem_generator\problem_generator.cc mainwindow.ui clean: compiler_clean - -$(DEL_FILE) release\base_widget.o release\login_widget.o release\main_window.o release\question_widget.o release\result_widget.o release\selection_widget.o release\main.o release\backend_interface.o release\duplicate_checker.o release\exam_system.o release\file_manager.o release\input_validator.o release\logger.o release\problem_generator.o release\qrc_qmake_qmake_qm_files.o release\moc_base_widget.o release\moc_login_widget.o release\moc_main_window.o release\moc_question_widget.o release\moc_result_widget.o release\moc_selection_widget.o + -$(DEL_FILE) release\base_widget.o release\change_password_dialog.o release\login_widget.o release\main_window.o release\question_widget.o release\result_widget.o release\selection_widget.o release\main.o release\backend_interface.o release\duplicate_checker.o release\exam_system.o release\file_manager.o release\input_validator.o release\logger.o release\problem_generator.o release\qrc_qmake_qmake_qm_files.o release\moc_base_widget.o release\moc_change_password_dialog.o release\moc_login_widget.o release\moc_main_window.o release\moc_question_widget.o release\moc_result_widget.o release\moc_selection_widget.o distclean: clean -$(DEL_FILE) .qmake.stash @@ -177,9 +183,9 @@ compiler_moc_predefs_clean: release/moc_predefs.h: ../../Qt/6.5.3/mingw_64/mkspecs/features/data/dummy.cpp g++ -fno-keep-inline-dllexport -O2 -std=gnu++1z -Wall -Wextra -Wextra -dM -E -o release\moc_predefs.h ..\..\Qt\6.5.3\mingw_64\mkspecs\features\data\dummy.cpp -compiler_moc_header_make_all: release/moc_base_widget.cpp release/moc_login_widget.cpp release/moc_main_window.cpp release/moc_question_widget.cpp release/moc_result_widget.cpp release/moc_selection_widget.cpp +compiler_moc_header_make_all: release/moc_base_widget.cpp release/moc_change_password_dialog.cpp release/moc_login_widget.cpp release/moc_main_window.cpp release/moc_question_widget.cpp release/moc_result_widget.cpp release/moc_selection_widget.cpp compiler_moc_header_clean: - -$(DEL_FILE) release\moc_base_widget.cpp release\moc_login_widget.cpp release\moc_main_window.cpp release\moc_question_widget.cpp release\moc_result_widget.cpp release\moc_selection_widget.cpp + -$(DEL_FILE) release\moc_base_widget.cpp release\moc_change_password_dialog.cpp release\moc_login_widget.cpp release\moc_main_window.cpp release\moc_question_widget.cpp release\moc_result_widget.cpp release\moc_selection_widget.cpp release/moc_base_widget.cpp: src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QWidget \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qwidget.h \ @@ -349,6 +355,203 @@ release/moc_base_widget.cpp: src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/bin/moc.exe E:\Qt\6.5.3\mingw_64\bin\moc.exe $(DEFINES) --include E:/qt_project/1/release/moc_predefs.h -IE:/Qt/6.5.3/mingw_64/mkspecs/win32-g++ -IE:/qt_project/1 -IE:/Qt/6.5.3/mingw_64/include -IE:/Qt/6.5.3/mingw_64/include/QtWidgets -IE:/Qt/6.5.3/mingw_64/include/QtGui -IE:/Qt/6.5.3/mingw_64/include/QtCore -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++ -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32 -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed -IE:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include src\frontend\base_widget.h -o release\moc_base_widget.cpp +release/moc_change_password_dialog.cpp: src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversionchecks.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconfig.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcore-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtconfigmacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcoreexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtpreprocessorsupport.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtnoop.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsystemdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qprocessordetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompilerdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qassert.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypes.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtclasshelpermacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypeinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsysinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlogging.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qflags.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbasicatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic_cxx11.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qgenericatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconstructormacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdarwinhelpers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qexceptionhandling.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qforeach.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtdeprecationmarkers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttypetraits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfunctionpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobalstatic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmalloc.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qminmax.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnumeric.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qoverload.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qswap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtenvironmentvariables.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtresource.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttranslation.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qversiontagging.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtgui-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgets-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qwidget.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnamespace.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtmetamacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs_win.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstring.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qchar.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrefcount.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpair.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydatapointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydataops.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainertools_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qxptype_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20type_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringliteral.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qanystringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qutf8stringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringtokenizer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringbuilder.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhashfunctions.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterator.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearraylist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringmatcher.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetatype.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdatastream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevicebase.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfloat16.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmath.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterable.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetacontainer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtaggedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopeguard.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbindingstorage.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmargins.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qaction.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qkeysequence.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qicon.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsize.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpaintdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrect.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcolor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgb.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgba64.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qimage.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixelformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtransform.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpolygon.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qregion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qline.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvariant.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdebug.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtextstream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringconverter_base.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontiguouscache.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qset.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhash.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvarlengtharray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20memory.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpalette.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbrush.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfont.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontmetrics.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qsizepolicy.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbitmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qurl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qeventpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvector2d.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvectornd.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpointingdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qinputdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qscreen.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QList \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QObject \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRect \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSize \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSizeF \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QTransform \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnativeinterface.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qframe.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextdocument.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QPushButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qpushbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qabstractbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLabel \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlabel.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpicture.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ + src/shared/backend_interface.h \ + src/backend/exam_system/exam_system.h \ + src/backend/problem_generator/problem_generator.h \ + src/backend/file_manager/file_manager.h \ + src/backend/duplicate_checker/duplicate_checker.h \ + src/backend/logger/logger.h \ + src/backend/input_validator/input_validator.h \ + release/moc_predefs.h \ + ../../Qt/6.5.3/mingw_64/bin/moc.exe + E:\Qt\6.5.3\mingw_64\bin\moc.exe $(DEFINES) --include E:/qt_project/1/release/moc_predefs.h -IE:/Qt/6.5.3/mingw_64/mkspecs/win32-g++ -IE:/qt_project/1 -IE:/Qt/6.5.3/mingw_64/include -IE:/Qt/6.5.3/mingw_64/include/QtWidgets -IE:/Qt/6.5.3/mingw_64/include/QtGui -IE:/Qt/6.5.3/mingw_64/include/QtCore -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++ -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32 -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed -IE:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include src\frontend\change_password_dialog.h -o release\moc_change_password_dialog.cpp + release/moc_login_widget.cpp: src/frontend/login_widget.h \ src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QWidget \ @@ -728,16 +931,31 @@ release/moc_main_window.cpp: src/frontend/main_window.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qvalidator.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qlocale.h \ - src/frontend/question_widget.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + src/frontend/question_widget.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ src/frontend/result_widget.h \ release/moc_predefs.h \ ../../Qt/6.5.3/mingw_64/bin/moc.exe @@ -1288,6 +1506,32 @@ release/moc_selection_widget.cpp: src/frontend/selection_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qframe.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qpicture.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qtextdocument.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ release/moc_predefs.h \ ../../Qt/6.5.3/mingw_64/bin/moc.exe E:\Qt\6.5.3\mingw_64\bin\moc.exe $(DEFINES) --include E:/qt_project/1/release/moc_predefs.h -IE:/Qt/6.5.3/mingw_64/mkspecs/win32-g++ -IE:/qt_project/1 -IE:/Qt/6.5.3/mingw_64/include -IE:/Qt/6.5.3/mingw_64/include/QtWidgets -IE:/Qt/6.5.3/mingw_64/include/QtGui -IE:/Qt/6.5.3/mingw_64/include/QtCore -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++ -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32 -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include -IE:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed -IE:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include src\frontend\selection_widget.h -o release\moc_selection_widget.cpp @@ -1485,6 +1729,201 @@ release/base_widget.o: src/frontend/base_widget.cc src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\base_widget.o src\frontend\base_widget.cc +release/change_password_dialog.o: src/frontend/change_password_dialog.cc src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobal.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversionchecks.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconfig.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcore-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtconfigmacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtcoreexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtpreprocessorsupport.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtnoop.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsystemdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qprocessordetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompilerdetection.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qassert.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypes.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtclasshelpermacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtversion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtypeinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsysinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlogging.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qflags.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbasicatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qatomic_cxx11.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qgenericatomic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qconstructormacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdarwinhelpers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qexceptionhandling.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qforeach.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtdeprecationmarkers.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttypetraits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfunctionpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qglobalstatic.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmalloc.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qminmax.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnumeric.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qoverload.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qswap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtenvironmentvariables.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtresource.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qttranslation.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qversiontagging.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtgui-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtguiexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgets-config.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qtwidgetsexports.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qwidget.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnamespace.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtmetamacros.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qwindowdefs_win.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstring.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qchar.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrefcount.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpair.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydatapointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qarraydataops.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainertools_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qxptype_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearrayview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringfwd.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20type_traits.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringliteral.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qanystringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qutf8stringview.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringtokenizer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringbuilder.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhashfunctions.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterator.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbytearraylist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringlist.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qalgorithms.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringmatcher.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetatype.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcompare.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdatastream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevicebase.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfloat16.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmath.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiterable.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmetacontainer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontainerinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtaggedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qscopeguard.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qobject_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qbindingstorage.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmargins.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qaction.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qkeysequence.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qicon.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsize.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpaintdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrect.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcolor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgb.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qrgba64.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qsharedpointer_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qimage.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpixelformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtransform.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpolygon.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qregion.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qline.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvariant.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdebug.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtextstream.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qstringconverter_base.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcontiguouscache.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qshareddata_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qset.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qhash.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qvarlengtharray.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/q20memory.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpalette.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbrush.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfont.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontmetrics.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qfontinfo.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qsizepolicy.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qbitmap.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qevent.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qiodevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpointer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qurl.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qeventpoint.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvector2d.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qvectornd.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpointingdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qinputdevice.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qscreen.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QList \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QObject \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRect \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSize \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QSizeF \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QTransform \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qnativeinterface.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qframe.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextdocument.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QPushButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qpushbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qabstractbutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLabel \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlabel.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpicture.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ + src/shared/backend_interface.h \ + src/backend/exam_system/exam_system.h \ + src/backend/problem_generator/problem_generator.h \ + src/backend/file_manager/file_manager.h \ + src/backend/duplicate_checker/duplicate_checker.h \ + src/backend/logger/logger.h \ + src/backend/input_validator/input_validator.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\change_password_dialog.o src\frontend\change_password_dialog.cc + release/login_widget.o: src/frontend/login_widget.cc src/frontend/login_widget.h \ src/frontend/base_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QWidget \ @@ -1879,16 +2318,31 @@ release/main_window.o: src/frontend/main_window.cc src/frontend/main_window.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qvalidator.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qlocale.h \ - src/frontend/question_widget.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + src/frontend/question_widget.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ src/frontend/result_widget.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QApplication \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qapplication.h \ @@ -2098,7 +2552,10 @@ release/question_widget.o: src/frontend/question_widget.cc src/frontend/question ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QGroupBox \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgroupbox.h + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgroupbox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\question_widget.o src\frontend\question_widget.cc release/result_widget.o: src/frontend/result_widget.cc src/frontend/result_widget.h \ @@ -2468,8 +2925,51 @@ release/selection_widget.o: src/frontend/selection_widget.cc src/frontend/select ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLineEdit \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlineedit.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextcursor.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextformat.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qpen.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qtextoption.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QGroupBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgroupbox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QApplication \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qapplication.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreapplication.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qeventloop.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qcoreapplication_platform.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfuture.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfutureinterface.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qmutex.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qtsan_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qresultstore.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qfuture_impl.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qthreadpool.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qthread.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qdeadlinetimer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qelapsedtimer.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qrunnable.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qexception.h \ + ../../Qt/6.5.3/mingw_64/include/QtCore/qpromise.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qguiapplication.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qinputmethod.h \ + ../../Qt/6.5.3/mingw_64/include/QtGui/qguiapplication_platform.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\selection_widget.o src\frontend\selection_widget.cc release/main.o: src/main/main.cc ../../Qt/6.5.3/mingw_64/include/QtWidgets/QApplication \ @@ -2686,16 +3186,31 @@ release/main.o: src/main/main.cc ../../Qt/6.5.3/mingw_64/include/QtWidgets/QAppl ../../Qt/6.5.3/mingw_64/include/QtWidgets/qabstractspinbox.h \ ../../Qt/6.5.3/mingw_64/include/QtGui/qvalidator.h \ ../../Qt/6.5.3/mingw_64/include/QtCore/qregularexpression.h \ - src/frontend/question_widget.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ - ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/QVBoxLayout \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qboxlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayout.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qlayoutitem.h \ ../../Qt/6.5.3/mingw_64/include/QtWidgets/qgridlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QHBoxLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenuBar \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenubar.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmenu.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMenu \ + ../../Qt/6.5.3/mingw_64/include/QtGui/QAction \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QMessageBox \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qmessagebox.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qdialog.h \ + src/frontend/change_password_dialog.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QDialog \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QFormLayout \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qformlayout.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QLayout \ + ../../Qt/6.5.3/mingw_64/include/QtCore/QRegularExpression \ + src/frontend/question_widget.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QRadioButton \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qradiobutton.h \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/QButtonGroup \ + ../../Qt/6.5.3/mingw_64/include/QtWidgets/qbuttongroup.h \ src/frontend/result_widget.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\main.o src\main\main.cc @@ -2746,6 +3261,9 @@ release/qrc_qmake_qmake_qm_files.o: release/qrc_qmake_qmake_qm_files.cpp release/moc_base_widget.o: release/moc_base_widget.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_base_widget.o release\moc_base_widget.cpp +release/moc_change_password_dialog.o: release/moc_change_password_dialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_change_password_dialog.o release\moc_change_password_dialog.cpp + release/moc_login_widget.o: release/moc_login_widget.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_login_widget.o release\moc_login_widget.cpp diff --git a/debug/object_script.examSystem.Debug b/debug/object_script.examSystem.Debug index 69d9920..940b425 100644 --- a/debug/object_script.examSystem.Debug +++ b/debug/object_script.examSystem.Debug @@ -1,4 +1,5 @@ debug/base_widget.o +debug/change_password_dialog.o debug/login_widget.o debug/main_window.o debug/question_widget.o @@ -14,6 +15,7 @@ debug/logger.o debug/problem_generator.o debug/qrc_qmake_qmake_qm_files.o debug/moc_base_widget.o +debug/moc_change_password_dialog.o debug/moc_login_widget.o debug/moc_main_window.o debug/moc_question_widget.o diff --git a/examSystem.pro.user b/examSystem.pro.user index fad17a1..5cf1db7 100644 --- a/examSystem.pro.user +++ b/examSystem.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -162,10 +162,10 @@ false -e cpu-cycles --call-graph "dwarf,4096" -F 250 - + examSystem2 Qt4ProjectManager.Qt4RunConfiguration: - E:/qt_project/examSystem/examSystem.pro - false + E:/qt_project/1/examSystem.pro + true true true true @@ -198,10 +198,10 @@ false -e cpu-cycles --call-graph "dwarf,4096" -F 250 - + examSystem2 Qt4ProjectManager.Qt4RunConfiguration: - E:/qt_project/examSystem/examSystem.pro - false + E:/qt_project/1/examSystem.pro + true true true true diff --git a/release/change_password_dialog.o b/release/change_password_dialog.o new file mode 100644 index 0000000000000000000000000000000000000000..f94ef81faf1f495591041efc1d22ad9318765644 GIT binary patch literal 26821 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 B;iCWm literal 0 HcmV?d00001 diff --git a/release/examSystem.exe b/release/examSystem.exe index 2b1236813c3dd8c9505252f6bf622afb645e3a75..af365ed04b03c75b7e02299bb6604241bce599d4 100644 GIT binary patch delta 120185 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 OqUgA3wcl;N`2PS4F^n$& diff --git a/release/login_widget.o b/release/login_widget.o index 70140f8762d7bf31f70f8b00ed9b301386fa68db..90161c663477d5c0aba4e21b602932de1d98e2ad 100644 GIT binary patch delta 8133 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 RS=ACAUcTh|+co8${{!%E3hn>^ delta 7574 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 p*VNY3*Z7fSbzAqmCk=VFs!r~#8ZDZCYnC|5BSI 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 MJv$`!IgTIy3pt=eK>z>% literal 12914 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 h4B3ZKD!#LjTI-}KbSL8A6v)vIj(tasZnW*i{{ +#include + +#if __has_include() +#include +#else +QT_BEGIN_MOC_NAMESPACE +#endif + + +#include + +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'change_password_dialog.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 68 +#error "This file was generated using the moc from 6.5.3. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +#ifndef Q_CONSTINIT +#define Q_CONSTINIT +#endif + +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +QT_WARNING_DISABLE_GCC("-Wuseless-cast") +namespace { + +#ifdef QT_MOC_HAS_STRINGDATA +struct qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS_t {}; +static constexpr auto qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS = QtMocHelpers::stringData( + "ChangePasswordDialog", + "onChangePasswordClicked", + "", + "onCancelClicked", + "validatePassword" +); +#else // !QT_MOC_HAS_STRING_DATA +struct qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS_t { + uint offsetsAndSizes[10]; + char stringdata0[21]; + char stringdata1[24]; + char stringdata2[1]; + char stringdata3[16]; + char stringdata4[17]; +}; +#define QT_MOC_LITERAL(ofs, len) \ + uint(sizeof(qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS_t::offsetsAndSizes) + ofs), len +Q_CONSTINIT static const qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS_t qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS = { + { + QT_MOC_LITERAL(0, 20), // "ChangePasswordDialog" + QT_MOC_LITERAL(21, 23), // "onChangePasswordClicked" + QT_MOC_LITERAL(45, 0), // "" + QT_MOC_LITERAL(46, 15), // "onCancelClicked" + QT_MOC_LITERAL(62, 16) // "validatePassword" + }, + "ChangePasswordDialog", + "onChangePasswordClicked", + "", + "onCancelClicked", + "validatePassword" +}; +#undef QT_MOC_LITERAL +#endif // !QT_MOC_HAS_STRING_DATA +} // unnamed namespace + +Q_CONSTINIT static const uint qt_meta_data_CLASSChangePasswordDialogENDCLASS[] = { + + // content: + 11, // revision + 0, // classname + 0, 0, // classinfo + 3, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags, initial metatype offsets + 1, 0, 32, 2, 0x08, 1 /* Private */, + 3, 0, 33, 2, 0x08, 2 /* Private */, + 4, 0, 34, 2, 0x08, 3 /* Private */, + + // slots: parameters + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + + 0 // eod +}; + +Q_CONSTINIT const QMetaObject ChangePasswordDialog::staticMetaObject = { { + QMetaObject::SuperData::link(), + qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS.offsetsAndSizes, + qt_meta_data_CLASSChangePasswordDialogENDCLASS, + qt_static_metacall, + nullptr, + qt_incomplete_metaTypeArray, + // method 'onChangePasswordClicked' + QtPrivate::TypeAndForceComplete, + // method 'onCancelClicked' + QtPrivate::TypeAndForceComplete, + // method 'validatePassword' + QtPrivate::TypeAndForceComplete + >, + nullptr +} }; + +void ChangePasswordDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + auto *_t = static_cast(_o); + (void)_t; + switch (_id) { + case 0: _t->onChangePasswordClicked(); break; + case 1: _t->onCancelClicked(); break; + case 2: _t->validatePassword(); break; + default: ; + } + } + (void)_a; +} + +const QMetaObject *ChangePasswordDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *ChangePasswordDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_CLASSChangePasswordDialogENDCLASS.stringdata0)) + return static_cast(this); + return QDialog::qt_metacast(_clname); +} + +int ChangePasswordDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 3) + qt_static_metacall(this, _c, _id, _a); + _id -= 3; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 3) + *reinterpret_cast(_a[0]) = QMetaType(); + _id -= 3; + } + return _id; +} +QT_WARNING_POP diff --git a/release/moc_change_password_dialog.o b/release/moc_change_password_dialog.o new file mode 100644 index 0000000000000000000000000000000000000000..8d082deb71e78eb54d44f4bb041ac33bab03a4ac GIT binary patch literal 17039 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 literal 0 HcmV?d00001 diff --git a/release/moc_login_widget.cpp b/release/moc_login_widget.cpp index 6db2a74..05f1934 100644 --- a/release/moc_login_widget.cpp +++ b/release/moc_login_widget.cpp @@ -42,6 +42,7 @@ static constexpr auto qt_meta_stringdata_CLASSLoginWidgetENDCLASS = QtMocHelpers "LoginWidget", "loginSuccess", "", + "userName", "registerSuccess", "onLoginClicked", "showRegisterPage", @@ -51,16 +52,17 @@ static constexpr auto qt_meta_stringdata_CLASSLoginWidgetENDCLASS = QtMocHelpers ); #else // !QT_MOC_HAS_STRING_DATA struct qt_meta_stringdata_CLASSLoginWidgetENDCLASS_t { - uint offsetsAndSizes[18]; + uint offsetsAndSizes[20]; char stringdata0[12]; char stringdata1[13]; char stringdata2[1]; - char stringdata3[16]; - char stringdata4[15]; - char stringdata5[17]; - char stringdata6[14]; - char stringdata7[18]; + char stringdata3[9]; + char stringdata4[16]; + char stringdata5[15]; + char stringdata6[17]; + char stringdata7[14]; char stringdata8[18]; + char stringdata9[18]; }; #define QT_MOC_LITERAL(ofs, len) \ uint(sizeof(qt_meta_stringdata_CLASSLoginWidgetENDCLASS_t::offsetsAndSizes) + ofs), len @@ -69,16 +71,18 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSLoginWidgetENDCLASS_t qt_meta_s QT_MOC_LITERAL(0, 11), // "LoginWidget" QT_MOC_LITERAL(12, 12), // "loginSuccess" QT_MOC_LITERAL(25, 0), // "" - QT_MOC_LITERAL(26, 15), // "registerSuccess" - QT_MOC_LITERAL(42, 14), // "onLoginClicked" - QT_MOC_LITERAL(57, 16), // "showRegisterPage" - QT_MOC_LITERAL(74, 13), // "showLoginPage" - QT_MOC_LITERAL(88, 17), // "onRegisterClicked" - QT_MOC_LITERAL(106, 17) // "onSendCodeClicked" + QT_MOC_LITERAL(26, 8), // "userName" + QT_MOC_LITERAL(35, 15), // "registerSuccess" + QT_MOC_LITERAL(51, 14), // "onLoginClicked" + QT_MOC_LITERAL(66, 16), // "showRegisterPage" + QT_MOC_LITERAL(83, 13), // "showLoginPage" + QT_MOC_LITERAL(97, 17), // "onRegisterClicked" + QT_MOC_LITERAL(115, 17) // "onSendCodeClicked" }, "LoginWidget", "loginSuccess", "", + "userName", "registerSuccess", "onLoginClicked", "showRegisterPage", @@ -104,19 +108,19 @@ Q_CONSTINIT static const uint qt_meta_data_CLASSLoginWidgetENDCLASS[] = { 2, // signalCount // signals: name, argc, parameters, tag, flags, initial metatype offsets - 1, 0, 56, 2, 0x06, 1 /* Public */, - 3, 0, 57, 2, 0x06, 2 /* Public */, + 1, 1, 56, 2, 0x06, 1 /* Public */, + 4, 1, 59, 2, 0x06, 3 /* Public */, // slots: name, argc, parameters, tag, flags, initial metatype offsets - 4, 0, 58, 2, 0x08, 3 /* Private */, - 5, 0, 59, 2, 0x08, 4 /* Private */, - 6, 0, 60, 2, 0x08, 5 /* Private */, - 7, 0, 61, 2, 0x08, 6 /* Private */, - 8, 0, 62, 2, 0x08, 7 /* Private */, + 5, 0, 62, 2, 0x08, 5 /* Private */, + 6, 0, 63, 2, 0x08, 6 /* Private */, + 7, 0, 64, 2, 0x08, 7 /* Private */, + 8, 0, 65, 2, 0x08, 8 /* Private */, + 9, 0, 66, 2, 0x08, 9 /* Private */, // signals: parameters - QMetaType::Void, - QMetaType::Void, + QMetaType::Void, QMetaType::QString, 3, + QMetaType::Void, QMetaType::QString, 3, // slots: parameters QMetaType::Void, @@ -139,8 +143,10 @@ Q_CONSTINIT const QMetaObject LoginWidget::staticMetaObject = { { QtPrivate::TypeAndForceComplete, // method 'loginSuccess' QtPrivate::TypeAndForceComplete, + QtPrivate::TypeAndForceComplete, // method 'registerSuccess' QtPrivate::TypeAndForceComplete, + QtPrivate::TypeAndForceComplete, // method 'onLoginClicked' QtPrivate::TypeAndForceComplete, // method 'showRegisterPage' @@ -161,8 +167,8 @@ void LoginWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, auto *_t = static_cast(_o); (void)_t; switch (_id) { - case 0: _t->loginSuccess(); break; - case 1: _t->registerSuccess(); break; + case 0: _t->loginSuccess((*reinterpret_cast< std::add_pointer_t>(_a[1]))); break; + case 1: _t->registerSuccess((*reinterpret_cast< std::add_pointer_t>(_a[1]))); break; case 2: _t->onLoginClicked(); break; case 3: _t->showRegisterPage(); break; case 4: _t->showLoginPage(); break; @@ -173,21 +179,20 @@ void LoginWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, } else if (_c == QMetaObject::IndexOfMethod) { int *result = reinterpret_cast(_a[0]); { - using _t = void (LoginWidget::*)(); + using _t = void (LoginWidget::*)(const QString & ); if (_t _q_method = &LoginWidget::loginSuccess; *reinterpret_cast<_t *>(_a[1]) == _q_method) { *result = 0; return; } } { - using _t = void (LoginWidget::*)(); + using _t = void (LoginWidget::*)(const QString & ); if (_t _q_method = &LoginWidget::registerSuccess; *reinterpret_cast<_t *>(_a[1]) == _q_method) { *result = 1; return; } } } - (void)_a; } const QMetaObject *LoginWidget::metaObject() const @@ -221,14 +226,16 @@ int LoginWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) } // SIGNAL 0 -void LoginWidget::loginSuccess() +void LoginWidget::loginSuccess(const QString & _t1) { - QMetaObject::activate(this, &staticMetaObject, 0, nullptr); + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); } // SIGNAL 1 -void LoginWidget::registerSuccess() +void LoginWidget::registerSuccess(const QString & _t1) { - QMetaObject::activate(this, &staticMetaObject, 1, nullptr); + void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); } QT_WARNING_POP diff --git a/release/moc_login_widget.o b/release/moc_login_widget.o index 018677d90019d75198f2e7fe7cf101898528298c..face6479e2c2cf47f3a13bb8b7ab5fed4ceb3b1d 100644 GIT binary patch literal 29397 zcmeHP3v^sZdA{qFZ9$w^NgQJe!AnrUfFti+?Mq33m9^{a+Oo2;WGBZ2)@$k7+8}Ag zYNc3)QXL#~q6$+Tj(bih^pI0RPYz8vDW%j61r%&*w+&#Nv<)Q$^C)#17fgAjJmP-; zKQs5v-Mgzt^njjrj_%z5e)G-$&-^oYX71dp?S0>NgTkd73}c;-q&lOiY#l0-D8tkW z!+7ut!$|&)0M_9YFtYoadh_MHBGou2jO=vN{^8*o$u>L=-j=X^$wC9-@KuJf<`n{` z;sqMA`?i?Ds6a$qhf@+fJtP`}i7laEi;k_qMH;;IQlB5!%xgA7I*;sjSLkEA;gE|* zc6%#$tS{2stm`AYec**F?MB0{8VA5DSLkEAv52R>$18YjHy-uW_kQqpRoZQdyXp~y z-3Kf5Nk6y5kfs9F_sI$#+ciU`USX>5Q{W9%+BKU)dI8DL-vjRhlIOH<*wh_Ec7IaU zZX`%$SApz458nMAyOFr=K(br6)-XQfu^S6UlrrMrSO=aSM1A8Sokw;zfH&>2+Y;7! zWVaE#XDaQ6f>FJEWH(&RZpe(swZf3yICvK-?S`67-7i`2lHjd+rO0giITUtv{CXrG zuWC19>h&PI9|5mH>a*{oP}J1RM|K|qugPOK=Hijv=d0R{n|gmCy9S&X_tGchO zwg$XCl850-j2oeraAkkq44xjieM2p=%K8SuySu_}(;@c&NPYI!N_|E!(KO`drNJ8l z?>?#T8eAv9+tM5i>i1Cs_zCcCy&eJr`I+y_=3sM>5fQQfD(%wv*Bp%K?ZN)L+A#KN z`nbN$LD&63y4QerNb>Cd(rmVvnqBIrw}Ph!p$`t!K(dan$i|GE#g7yN{qeMd%yk@hKmjo}lQP9YLlGj|x>#nZPRS&Y;3*MbxeXenrc;%}4!a?1C z3GnU(uV3n;b`<3cyZlW0PF2?z(fu3%?@92EOMRk!$uHqpWqp5ARbM2i_ZQMvx85*5 z<l+6i-e4HpZh(OBQXGi}YTu}99H;tz8azD+eNoqa zG!DWk@IE2+iTduF-V%;^>?U7s7-uAp#w%er?wa4&&*14n*p0jHBjP;?-Z_^(@^d_< zw?_iJ?^WtEm>1W_anjd_we!;+eJ!qem3U$BzF)yhPiE@VN5E5*mdJLU*^s>1x@jjQwMOq7;im6tuVJN#6Nm&B+z=~`BnF9MA1ogYGQhOPu+Xd zzO$FluiZFK(2-xPEMLJ!MEx_9o%QKsSHA7?<;y!Ked);+>6SBV@BIpxK<@#H>yfXf zj~uQyM$WXJHmF3;eSyk%DlTg~4hZ#|-*slPwO-awIYPKacq2WLY}_PV@@xl6F-3eP zkP}r7RFjPB4ekZP`rpT`pXuhC8Eiv)6^yPgU1Vg3MctAm#OrPG$ zIdG<)Z=9^ur-q2kB;2$jGnuH*i0WrfCq&MPt@VH#aLpRh6I&agMcHd2tqAGKm2~px zx63>6wf2cG%3BMCQ2DQ5bv~o+y~6f3aiV)Ljovf4y&-c;x?yCqvJoVsy0Pv? zpwQhRFS;JtR z`>UMm>x}wcbwU5W71LxYKoLR!#|RFZ7sqk@ISy*aM{u0SLG4fHm!XFSa1P-7`#3g1 z<`FL-Th=KtZUI?n;oL`0fQvp17X(`G;+tOf$yFY z*@i(kZ6H1IL}oIJCj9zN^kf)MucbAO8dTGhSB#GZjS(960&m5rokTH60be_1p<4M? zt}s@Hd_l^cp$Ng_q4Y%OrSy?!8}x=1F5y^}u~B5N<>&Te`Ae*6!Uylp;A@}e=Qm58 zr(ooM9Ph_5j-!mD562pE?{6TShiwYe9E(0DMLq@e3&_|CbA{Eos@R@zrPBpfjm*#y zm)EQ0b)7ulqT#gG;ZX}`@*Cx+E=U;Vqd@C0g%d{Qppd|!aKh9$*Q()!y#xn^tvD2) zus7nMv6{+IDbuxn;L;PaK(4@X7Y=$hDBz%QHx9BpjDsHckKiD`eGmuT_aDPSWA0zz zxEjYvd2TNrEDYXJ=sjqajee55MtXWI+EW}Ewn`oO0m~>^2MfbxtE5tjgPf_YztHmz ztJfIrE8eq9QnLAj76Z)StKy(aR2hncUDjZ4Td~(t2+A^AEcD`J#5!-^f49|BCYb`2 zT@PlcGn+3AmXp?Kp~v#3$2w(YWTwje1XFvcpv#1|1$ z!-DiLER8^Vilw8FzRuE5A^j^$e#F8W1RjC?$gL!rx%zMrOU%I{m3)jfFyele5b?|^ zQfWRFsY7<^8kR`2kSH%rCVtjUvmd32IZ|k$*-~gZ#1d&eg+uVxF-EeGNZ-2|Bi@&A z2;R#WBUwnq8)uAGz<-BB@UR5|Ya|Pac=s|EM|>KG;L*0F;0cL%_c2C3`VYP41utNyHrm)GTiR@=25l^C zOH@mt`BocC*izC?CGUz_z6O%0CH4D%!XZ5L21ug5LZTWSXYBQe{}G4a(G!H=35j_3 zGls~ZGKy3oQR+t+qxN|mM;&|i%Pgf3e}yGP2JJ(Myh5V94>0DmQ2^IxaEP){4MYwh zQH}>0bL#s#T#FpkbDa9NFpu;IiSjgl9qRMR zf#K5lDq~cm&#;6@!%o=PS(b?RC`%g<|20dS5dRHJh>WkXM7+OcsR8k4Swf_xex5N( z{Txe_;|n$>N=i0_6tE?-b^{I{_pZ$>#SuTvQUdWeSxO^*h9&afw^+Ip@p+c^A^tW? zeTcuq(h%bBvUCXX_gET7{BJDXhxq#}O(FhwmhMM(x`PeEFP!)KgFd?ia45MRa8CB$o4dLD5DOEg7Z&C&*Fc#O3K5Yw}txI;rM z1rgI4!N)eYu#`Z&k)<@^SF)5v9AW8B#4l%QAL8{aH6W&u#m8&UFS0~+sJAiaZal{r zBI6oSQb^ab)O4WGZ&3om3uummKn=sXmSQ~|mIzt&`-BaZj%sr_Z*v0Nb}C&zCukT$ zSdGK)dnwB*QhGjVbD)P4*Iy?%#P|EiyG~HK-e+@Eu1gZR5@f%x$;kpqz}7AC-!ojk8mp>t*GxwKac0B2=texmHu> zKv-|*IxG=7`F-0Edu^S!IjZgnnm`e#|M`8bh`qTUv^gr*idRq`(SQ9u>cz^tj&!}v zQMp1A$$($WW9myCj5Jbb3AqBu;ULF>oJTREqz4D)Um)W+JDkfv9&sU?sfq}VIQ+hw zDW*#fs`R(n9A*73iO_uS_uYip>z^;#9F=PmEe8?afWz+#Aa;VX^`3Yi3B+p)lP98X*D$wLeTc=4H9Vv>i4~wVj^%*`P*!cvh{W#=fQFO z{Ba-wWN?tD2?57xozrxQki_Bl4N**&9F(;7)#94gZi3_ZS#jDWXRFO|Mia%ElAIWG zXuakH#d%P2XzcX+=&n~ac1m_aa$1-}PajTDdd^7>_oW(oE=tZV$nN)5FApz6kbWz3 zs8n@0L{PTY-5{>tgp(K(B!RA_xLI+2_%WJSEV?5 zMkS|}IrS^VUaZii*na@dG$5xZJSub1=p;q}k%MBD>p973W6m0fpmARJ8Uf$N9BM(I z0O%Tr{{1GU_6Q>@zbqmqLOsivM)G*KYXlu&tJC_V3x92)LxmFKMF1ejC3|6G)uSJ%*^ zf75pZbHa$-LI0kQy0zbzMocZ|4)t#o*VK(_)vHl*sQGKvDW86Ou#juBB() zW+WmIwU(ayB!^D5^!!S4XoXp;UPYS55oonvOV4*C$7D|R_NtT1SbCDErRTMhLoHRS zJZZ^^)X<}UtHvX??{nyS>%n%1yQLm#albF&PLx+8;EY2iJ)-}9NaosZBc~*iv5{{| zBxxfX$$1DV974}-iEOoz4@!h)e8KssL}(@z$iot$*<2uBkOH5AtCT@+A-Q0~az} zF7*ryDcb?*jn%ZgVoZ*PBgbWB4?+~ndA(&0gdJjfq0XKO~ZrB*3BNI*Mm%YkcU0U6CUK}9wb0Rk<0pR9^|kG`IrZJ+=Kkm zgKVNf&SmQk5ArS#@=*_R(u4fagIrC+r^{BxgA96*DG%~V5AtmfvVjI>m#v#U$Zii( z@*u}O$T<)4YY%cGO#&|K85=R=XtURa{4TEeIixYSx1*)AoGleb^JUA7?X=2y@%hBI zVySy<$jZ1rM;J|+@d1Z2GT2it6bDn;9UWacGu}zLIny9M_BfF5u~LRuu`RtB{wI#5 zH$(q>2P-b8MeTZ5^;s&0FJqGBVktG6>e$_1+gI7qR4$y`w!0(M70Go)bB^zp$(-`x zGMSs3FJtokdCF`iKUxR!BmL#J^3r*8@eIz8`cl`=#0uSSBHnQ6M%1@}5Sv$~6x z*{`mcUFkH!gvhsy<7-b0ptiD38tPv#3R^;TP?(MK)61UyE!+dCRqm zPMRtGhO3fhm#s=#b(O&xRB~Dkm7FG3&a&=PL;BJ$Xcxhfs_xR)X`aqAX))4P92%R` zq6=e4#iA>&jVN=i++x_AuR|BZrt0e2931ORTKh*1&SlYI_BzZN2Ay44#t;#%)>dT8 zXHq#B+hh?Jn$+mlJs?AWPuFaUqh-|m8$&V!-tjFRI&~Xl}kKPhZrd_us-_@Jjq~~t%7rhU*Z2N6n5+jF^&oY@|3mYm!$FWYFfm1}En?dsAN z?5U0(}4{e=X!&9_CudGyZS$7lWKEu4|m4~YPyyne? zJ>1W|R{txXu+e3f@6mduM^M^>!y>=tBk)XlMc=QQx7uxC#&I8uH%0Q6@9$4#)x)WK zkr8goBe9UhyN}AdOB*sknIT&!2786Up5nkzzg4!_COz!&^G~M3bd56M$UFv_TsgH} zZ@(a`9qh$hpB}4C+H-$0&{Z~L__YP=U@709>nRSx4};~*ets{MN_BKK=Q5*s-%Uu6 zUX3y0j8$FnTq@PolIu$5DAxW`zje=_TF0K@DOiodRi9!1Z|-B{_O>@upQZUQH{&d) z9@FXGnB&v_LiRVbodW(fQTJZQQhY9>_SLkzY$?pB+UTS4th+uhei~J^S|)RItet%) zF7!cOd~%M?F-!dx&)~dkxCqbKb8JMXl8azd)zdxOc|WR{-**?PCX1`pE~_>VEXOAj zc5Rl~?!xN3kZ0(H)p#M6tJQf49|IWl24uXsQcnA&9_dA@%*WLJXb$1hD}vZZHX0H;uo%}n#*WX)w1eS zDt~~Y3RRmiqYl?SQdI{t#PXZouz8+mJzr1K+er2LZPwRo4%NFAr_F>jJc+r+1O0K# zy-6{H2G@(oIp?zPRqZvb>lL=^-8H3DyqczTFXX(Y7Ww5nYtFC#1|jFJ04iQZGsX1| z8c4;<=ea+Exg0a=Q-*xEjK@LwmNr+;AIwE_ksN+cve(Gv3IjvA+}_f#`y<9(%Bwb` zzmlPCfJ!CW{b+`1za(F>#4GaQ6yE&^aZkazrz@E22z8dtNE?335kEdTTqqYt@xdE* zU8|@HS@fk_Ek#Zi^$kHXM4M4c5%!VgPgo|g;cLcv$ME`E|HxP;yWUX6^Z0)Z`bQ3D zcZt3<7Q0DGy&3G}jUZMY?6t7pRP5nAUAaStoMI?{MswD{kgKNhgPE40k+P^G_OBzI zZGHLDn3Ej^>&8DzfPk-q@zoz~aCh&)U7gGI96FTWUl=vb807x^@Nlk--6`x?9VpT+ zb_FYB=5nJ0g}E@Hd$<~rtM2VkJR)f~g0{h??aAx6ff@7s7-^MlaI=|y(UkY-=?6@! zF`|{fd0LGWcK=RlH44g8@l&XhRlQm>?;Ccg{ur@FtwFq%h<2t(AU~`NET>=_v@7Y8J-TA`Y;u{ekyMeHb+ z3kSyV_Cnqk_#C9Kh%rMef3&wSJS!U`g%~|!z1ApyC&SyZ3N?enR(VfhxUj$9O6@20 zc82(H;jop)hNox;8#f~Zg~7tW$Us+(^l+b5IM`RlPAV*y`%(p$S~J#{A5Oa&TqMVU zIYhr|n;OIiC$h`g#f=OUF?ME4_-5I0_D;h1Qus$y*o-lEm(_1!q??T$GMSw$j=&TA zTfDR7FvFaKzAc!Q8oZ~^vicp`9rmTG#Le%p#`LfK+X(P#Y-S>TX+Ik?h`UI?A5!+EtB653-S&&CpUcJxiZ-^*@edh$3f3~9c{kW; z``Ts8L~lS>R7DSU?sBeO#9&WBT8wkv#kPjWiiWnbQ{}y zq0VmS+D)W+4gY5->mBNBb*^2+aBnGp&~a`mYeqVgF33f1Cc5n&u*1x@5f_uOTXP&(ItmYK=zm@TxS8_u)(bY|^_^n=<|fHLd59 literal 17897 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, // method 'showSelection' QtPrivate::TypeAndForceComplete, + QtPrivate::TypeAndForceComplete, // method 'showQuestions' QtPrivate::TypeAndForceComplete, QtPrivate::TypeAndForceComplete, @@ -141,6 +158,10 @@ Q_CONSTINIT const QMetaObject MainWindow::staticMetaObject = { { QtPrivate::TypeAndForceComplete, QtPrivate::TypeAndForceComplete, // method 'restartFromResult' + QtPrivate::TypeAndForceComplete, + // method 'logout' + QtPrivate::TypeAndForceComplete, + // method 'onExitTest' QtPrivate::TypeAndForceComplete >, nullptr @@ -152,10 +173,12 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, auto *_t = static_cast(_o); (void)_t; switch (_id) { - case 0: _t->showSelection(); break; + case 0: _t->showSelection((*reinterpret_cast< std::add_pointer_t>(_a[1]))); break; case 1: _t->showQuestions((*reinterpret_cast< std::add_pointer_t>(_a[1])),(*reinterpret_cast< std::add_pointer_t>(_a[2]))); break; case 2: _t->showResult((*reinterpret_cast< std::add_pointer_t>(_a[1]))); break; case 3: _t->restartFromResult(); break; + case 4: _t->logout(); break; + case 5: _t->onExitTest(); break; default: ; } } @@ -180,13 +203,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 4) + if (_id < 6) qt_static_metacall(this, _c, _id, _a); - _id -= 4; + _id -= 6; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 4) + if (_id < 6) *reinterpret_cast(_a[0]) = QMetaType(); - _id -= 4; + _id -= 6; } return _id; } diff --git a/release/moc_main_window.o b/release/moc_main_window.o index 3daada8d6f9e9be378ee0e878e25242423f29065..6bec2ed9d53d6a5acb1c1ba4c6324690821191dd 100644 GIT binary patch delta 5566 zcmZXX33OD|8OQIPOkOfs$T|ZgADtGV&hVaYhw=;5VR>pq(=|*fA4$qFur@v_s#G9zVF`q z-sHVE@P}iz4|;5ojd$I_#8{NY*usv;!7=@uv8-su`qQLm@g0S~Qj%gBds*!`r1C5p z&*M8jk5h7>-cUQPs(cJ}@OaARaeOL@9;F7AK9!od$`_*Kp&Xl&PV+dW6@}|6eZ^I3 zwYezS7R!%OuFa$Lppc}|BAd$Jq3t#gzXa{1jWGANFs?M^BT zic=cn7^~B$I!L7kyPaBs+|*`w(Q`qubi{7At=H(SAeH+u&q>#VVtE(E*geV>MJVPl@Wb7Re z9Y=90@M{l!h2qLY3X8~4nqjVcs3<~Jwg8hdX;Fk~JC;a0P&@%snn}+^sJxfbB3*PY zB1Y+htjnb9ko}Mzg(WezGLxz!Ra%eGB7HqS!$h zN*ByqnN&7NReFGDGili%)z+I#_n_FH%-H-9^b(5ADU9tML0%+ngy?Kv5B^|p z?tXt=()gX%f;YIl`>Ld$xG}zyu9~DUsMWvGb*JOmR%4D$AQnP_8FlDw~A6# z`}k<#D%t}ryM%@x*eB=smyL`{N!A<2&mKR^yYo_}clY~MdrnvF`LJay&ZNyoC!&}8 zg12SwJg<0np2%6SX#B!A{X2gMS@$2Dt?z=j-Q|7TCU&^^xmZnKY)^$dYr{70zQ_s` z_PpU;65rwFr*8Z+P@lTz%kyGRJNhmjT;?Be-1)QP-OGmfz3p>Cf7*1R>Bfy4Q7QCr z%ux4qpru|4>DPyMUvN)%U(BVTp`F;$j_5*shX_S5jxUw|<;)+s5C_eOy@)P^I9`r8 zgN`1=vxqLlencB5p0qwKRbDxIpu|X(`DSXMM_egfq1Rm_e4-@}A*P6p#j!XUaa?G8 z3XkWQg&;(|6cOlGz+nh6#v%e<%n26~qYM%74se8!7~}BXFbiUl5eV@qHVd$r7>p1b z35SJS#Ug@bP?}3yx*SJh=2}D~Vmm^N9SCtM?Fiu?M2Nm85MtG*jpG;bIT&#oA$Ix@ z5rg>3IQ|BoVf69fVWI2RE?rZ7`>Lh%-Qb0;m8J^RM z%ZK=b!n!a;4&Kd^?&sYHhIQF&LxS)ZT1H)|yL{OwzK5{0mrObiO2=1hmyd~4QY^Ad z(mZ5+Mhhrax?RXAlEe+*mUI|dlk_$+eiO0YXUJ)is;~!UdX8Bq?cPj`jp)u zeVGoByZeE(^dO&j3HT6pED)dqlS)h)V^X-JhkG1(S@YQlw4&{*~E-+J)xUAul#KqhqsR1-X(sEFiq-IdIBylYxCAETX zmDC2xk>m&EN)p$SC#g%EOTNUzpaMxpK!uWC1{F!_0ToL+2`Z7)3mPTq45(C6A853s z^Pn-3`axqQT?3U#!ZovT2)sr@@lh^iH1c>!Ly#v(N=2S1Nqj36lEn2?N)jhBNs?IM zHc4J&5uDW^S4pZvo-C;Wd5Wav$W!M_Y(}0YX(MvAq*mnVlG>2PQn($EXGl7LJX2B^ za;>Dp$g?CJL7q)j!#(+P^uw_e$ta%z*qz1&7LB9JxAkP=}Y8SDL7Z-*J(KNXqtxH zL3bh_q)y~l=oRD-=yT+6i05fGUQ8KzDtA&N;JpOO1+Xt&*Opz zPtuR_W#1NRFVXk|^t|XZDkY+ipQi6iHVqzz8zV`d@RNL=?jEJ_)$|PVRr>2F&C%f1 z%M;|Pr)Y4g#>;3l@=>ZU)g0-Q^}1Kq573jPn$13i-YFITH2gOjI;Q9i)uO?1)Hte< zr}6uV_&u?5=vwjoSrQeoC@C)=*ndZwD_n;i9##cYtVwPCUc8ht& zVm`8%XmNL&d#!C*vt$){#>J!;4)CI3w#96w?c=oclNSHA#W?BHahh+wcy8nfTvv<5 z?6sI@E#@y4^Nqzg#1lDSuR@zdAQ(+U+Zv=B{XJ oT)iPT=jMMiE7wzbr;GYJ!@_QE2{ncu>nx=$okP3(J1au}53YAt`2YX_ delta 5059 zcmZXX3vg7`8OP7PySZdT9-B=zkOY#=y~$n40||MMKoWN`z=9zLl<*P+NdqdNwn2lA z>|y{z1Gw>{LT4xw9CcuZGQl|3=_ri@t%{W)R;^Q&M#rI{1}DBEBUSo8=iaPM&l%2l z|L6Dr?m6GNIeT~cTfh3!t7=lqo{fyRlZA|}>Q0)J+N&^D>}JfJCpb&)uDDTqiJc~cv~_=UXgQCs05|=|P86eMYBN$it2dI_mULKTwZOFFSQDio`QIU4q+*iM?@Y)a!JrZ|XEXPS-BN zy{uDnoURO_o^;wDm!^FVIHJ=F@JAq%4Z0AgKOL7rn*>5NS_C`Z$&DbA@@8Z;lW zJF2 zd_En8-$}2>`?V;5nNME=9HCT~UwajxKA-AbIjIqqv0)5f&9{z95^Zs1YnvxCR#!j= zT)JAENiVugttykT)&jcZ(zSZXT?M2i=xSRg6(*QkJIH|oY6jVrNslI&>T{X&ER5qY zP8QIG1nda%d;yIn@EsjX@Y3{&9_n>D)u95KKM}jiVoWn>>qK2yL8o2m^!&s$Z5?2i zNoU}1hO9E_GW>nQpPHDaMFAU3s!Y_iBaru*v^G&!J{JCO;C~L-Y0{}gT^-4ycN0yG zW#iPF^b^wDl$Ye!d;otmsWFM4z=1?B?Md=z0l*6;9R-XC_yJ%PaMYwP0eb~BlRa8L zV7i~`l67qma;BeJld;%T`gO9YxpNphK8;?68HN1EG`a-o&Sfm4khBzCjpkBeimCO0 zJX%Q2DZ1wKF?P6+cEIfM(X%P0+Uuk9$mxgiY$1)pxagxScS$&czu4K`?`|s&c3e~2 z>cYkIcK5d}z(CoSxv(qfUf8uHzP^iHK^kjK$=$`T>}*PIgkO>7*!H#XQgZ7V z?YKT++gF%6d?nPC5qblMi?J_0X`Mc{JSyE=pI_XTi=4KlD7CGmVeh9yJgp1-ix=(k zLS4=A82PiYt)#&D4eV4-Rim@B7JaXg4jg;H~``??c+yfXL-$MK2B7Hv3up{$v z-0MV-pudkEk3NWgj0!T!=wL=mUJrK3Tfc~m`Rwc1B|uXr<>EBgPAUp>W}@>Q^O^Xq z4twmkubgvVL+5_6J?1;b-6upgY-7L<75ZvbUhTLVXRDA=Cmy zU8r@4c|wH|bA>vH=o9Kz++nf1p)9rq%DQ7alr;-~!9KhfkbcKZwzZHr< zAWN-)`cANQh@(PnLbTimp}rT4KQfDTLQNGcipaO8u){Ic1I3Sl!g?*%ch#JwhVxOs z!U8}ALh({ep?E2Np?E1b3AGMtnozuyLZNsmMMCjXiiL_ml?cU)nl2PC>Sm#MQ8R?< z;T4q%c^qn{P`th}pxlq>-d4c$ckM+vFWkv66^CEau3iF8%I=&^!m{_O= zl%HY7hCl{!{W&M69M25o=bRFHV5Xt85h0$YKOlZbA0f`98;G4`lo|NOUx3(4_amOC zr^*c1=arZQt(l6-vej#q^kJEfAAi@8P(ZomMoQf*D`6Eb4kd|7%e+c6Z7es^w!-NL z{keq0^t*CH`HWsKH(ZHT)_pCsz9#MIig=}#Tos1WP9+tkamTRxWZF=%Qt6=AK(ElJ z6^85fYU`GG8km!=>@^;l)Bd^GtNLywZ%DvQ$yf^ABCrjk{Z?Q(%BJWB15qXy=ugY*$1T4oV@?Nw@ zc_Qy-+FxbhXWMDyrOvhTOlw_xq8&B5 zvXPDeCzj=@b7DjI2$3+)}UKtflYo9Blp>)B}NX~ zWPOah*(kn^@Y64b2JIvOd+LPSxwe|Mm?@E)8u9nCeiR_ff^AZ^VvG+f= z{5Mik5r6xQTfRvmzm!N+B4;J?11Hw{W6MwBFILgUNI)WMBoda$YZ4ifh?~E%*+d@r zV&$tD4J=9TyIOy)+;KO diff --git a/release/moc_question_widget.cpp b/release/moc_question_widget.cpp index d3d8d4f..3d63e01 100644 --- a/release/moc_question_widget.cpp +++ b/release/moc_question_widget.cpp @@ -45,11 +45,13 @@ static constexpr auto qt_meta_stringdata_CLASSQuestionWidgetENDCLASS = QtMocHelp "exam_system::TestResult", "result", "onNextClicked", - "onSubmitClicked" + "onSubmitClicked", + "onPrevClicked", + "onOptionSelected" ); #else // !QT_MOC_HAS_STRING_DATA struct qt_meta_stringdata_CLASSQuestionWidgetENDCLASS_t { - uint offsetsAndSizes[14]; + uint offsetsAndSizes[18]; char stringdata0[15]; char stringdata1[14]; char stringdata2[1]; @@ -57,6 +59,8 @@ struct qt_meta_stringdata_CLASSQuestionWidgetENDCLASS_t { char stringdata4[7]; char stringdata5[14]; char stringdata6[16]; + char stringdata7[14]; + char stringdata8[17]; }; #define QT_MOC_LITERAL(ofs, len) \ uint(sizeof(qt_meta_stringdata_CLASSQuestionWidgetENDCLASS_t::offsetsAndSizes) + ofs), len @@ -68,7 +72,9 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSQuestionWidgetENDCLASS_t qt_met QT_MOC_LITERAL(30, 23), // "exam_system::TestResult" QT_MOC_LITERAL(54, 6), // "result" QT_MOC_LITERAL(61, 13), // "onNextClicked" - QT_MOC_LITERAL(75, 15) // "onSubmitClicked" + QT_MOC_LITERAL(75, 15), // "onSubmitClicked" + QT_MOC_LITERAL(91, 13), // "onPrevClicked" + QT_MOC_LITERAL(105, 16) // "onOptionSelected" }, "QuestionWidget", "testCompleted", @@ -76,7 +82,9 @@ Q_CONSTINIT static const qt_meta_stringdata_CLASSQuestionWidgetENDCLASS_t qt_met "exam_system::TestResult", "result", "onNextClicked", - "onSubmitClicked" + "onSubmitClicked", + "onPrevClicked", + "onOptionSelected" }; #undef QT_MOC_LITERAL #endif // !QT_MOC_HAS_STRING_DATA @@ -88,7 +96,7 @@ Q_CONSTINIT static const uint qt_meta_data_CLASSQuestionWidgetENDCLASS[] = { 11, // revision 0, // classname 0, 0, // classinfo - 3, 14, // methods + 5, 14, // methods 0, 0, // properties 0, 0, // enums/sets 0, 0, // constructors @@ -96,16 +104,20 @@ Q_CONSTINIT static const uint qt_meta_data_CLASSQuestionWidgetENDCLASS[] = { 1, // signalCount // signals: name, argc, parameters, tag, flags, initial metatype offsets - 1, 1, 32, 2, 0x06, 1 /* Public */, + 1, 1, 44, 2, 0x06, 1 /* Public */, // slots: name, argc, parameters, tag, flags, initial metatype offsets - 5, 0, 35, 2, 0x08, 3 /* Private */, - 6, 0, 36, 2, 0x08, 4 /* Private */, + 5, 0, 47, 2, 0x08, 3 /* Private */, + 6, 0, 48, 2, 0x08, 4 /* Private */, + 7, 0, 49, 2, 0x08, 5 /* Private */, + 8, 0, 50, 2, 0x08, 6 /* Private */, // signals: parameters QMetaType::Void, 0x80000000 | 3, 4, // slots: parameters + QMetaType::Void, + QMetaType::Void, QMetaType::Void, QMetaType::Void, @@ -127,6 +139,10 @@ Q_CONSTINIT const QMetaObject QuestionWidget::staticMetaObject = { { // method 'onNextClicked' QtPrivate::TypeAndForceComplete, // method 'onSubmitClicked' + QtPrivate::TypeAndForceComplete, + // method 'onPrevClicked' + QtPrivate::TypeAndForceComplete, + // method 'onOptionSelected' QtPrivate::TypeAndForceComplete >, nullptr @@ -141,6 +157,8 @@ void QuestionWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _ case 0: _t->testCompleted((*reinterpret_cast< std::add_pointer_t>(_a[1]))); break; case 1: _t->onNextClicked(); break; case 2: _t->onSubmitClicked(); break; + case 3: _t->onPrevClicked(); break; + case 4: _t->onOptionSelected(); break; default: ; } } else if (_c == QMetaObject::IndexOfMethod) { @@ -174,13 +192,13 @@ int QuestionWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 3) + if (_id < 5) qt_static_metacall(this, _c, _id, _a); - _id -= 3; + _id -= 5; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 3) + if (_id < 5) *reinterpret_cast(_a[0]) = QMetaType(); - _id -= 3; + _id -= 5; } return _id; } diff --git a/release/moc_question_widget.o b/release/moc_question_widget.o index dea38025364b9ff659ab136dd53cbe4275ec3172..26b1f98fc378f404a7183a7bdf622d17bf9f16ff 100644 GIT binary patch delta 4247 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, QtPrivate::TypeAndForceComplete, QtPrivate::TypeAndForceComplete, + // method 'logoutRequested' + QtPrivate::TypeAndForceComplete, // method 'onPrimaryClicked' QtPrivate::TypeAndForceComplete, // method 'onJuniorClicked' @@ -144,6 +176,14 @@ Q_CONSTINIT const QMetaObject SelectionWidget::staticMetaObject = { { // method 'onSeniorClicked' QtPrivate::TypeAndForceComplete, // method 'onStartClicked' + QtPrivate::TypeAndForceComplete, + // method 'onChangePasswordClicked' + QtPrivate::TypeAndForceComplete, + // method 'onLogoutClicked' + QtPrivate::TypeAndForceComplete, + // method 'onExitClicked' + QtPrivate::TypeAndForceComplete, + // method 'showUserInfo' QtPrivate::TypeAndForceComplete >, nullptr @@ -156,10 +196,15 @@ void SelectionWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int (void)_t; switch (_id) { case 0: _t->startRequest((*reinterpret_cast< std::add_pointer_t>(_a[1])),(*reinterpret_cast< std::add_pointer_t>(_a[2]))); break; - case 1: _t->onPrimaryClicked(); break; - case 2: _t->onJuniorClicked(); break; - case 3: _t->onSeniorClicked(); break; - case 4: _t->onStartClicked(); break; + case 1: _t->logoutRequested(); break; + case 2: _t->onPrimaryClicked(); break; + case 3: _t->onJuniorClicked(); break; + case 4: _t->onSeniorClicked(); break; + case 5: _t->onStartClicked(); break; + case 6: _t->onChangePasswordClicked(); break; + case 7: _t->onLogoutClicked(); break; + case 8: _t->onExitClicked(); break; + case 9: _t->showUserInfo(); break; default: ; } } else if (_c == QMetaObject::IndexOfMethod) { @@ -171,6 +216,13 @@ void SelectionWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int return; } } + { + using _t = void (SelectionWidget::*)(); + if (_t _q_method = &SelectionWidget::logoutRequested; *reinterpret_cast<_t *>(_a[1]) == _q_method) { + *result = 1; + return; + } + } } } @@ -193,13 +245,13 @@ int SelectionWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 5) + if (_id < 10) qt_static_metacall(this, _c, _id, _a); - _id -= 5; + _id -= 10; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 5) + if (_id < 10) *reinterpret_cast(_a[0]) = QMetaType(); - _id -= 5; + _id -= 10; } return _id; } @@ -210,4 +262,10 @@ void SelectionWidget::startRequest(const QString & _t1, int _t2) void *_a[] = { nullptr, const_cast(reinterpret_cast(std::addressof(_t1))), const_cast(reinterpret_cast(std::addressof(_t2))) }; QMetaObject::activate(this, &staticMetaObject, 0, _a); } + +// SIGNAL 1 +void SelectionWidget::logoutRequested() +{ + QMetaObject::activate(this, &staticMetaObject, 1, nullptr); +} QT_WARNING_POP diff --git a/release/moc_selection_widget.o b/release/moc_selection_widget.o index 67ec4c621ed385af890c805731bae35676f86239..6dc7c4b6cd895ce61c2a446ed9872ce86b426e5c 100644 GIT binary patch literal 37007 zcmeHQ3vgW3dA{qFjd)t&{V?$Y1_T&+?`mHH11n2wc5T^6mi)jbS;^Ac+COiK2h9(Y>#1u-Ew;KrV_n+5&uO#nE zX{SA-d-lKo`Og2J|3A-r?pbZ$-McgvR%=>|kEj~0p_CmfaW0D=TcT-gr)b)}7jWiT z_y}n2-3@&`r5+Q`jZA3m(+#_eMYl9FZvwbAVKYb5>TvruqM-{ppNbc#Ywup8>p?TJ z1~(_Y%goWVL|rhkCZxyA+>>xq2i%yD=f^$6HHIvjN$(1qJf=6?7&pr!y{m0FCNC0c zG~-Bb5V%j+^+ux>c>&;AR|p zqmAYYCcV$vRP!rN*AiXcya9nRZ6pco0TIK$;9xZ*SOe+>WqgJeUFQh|P{Q;Ye7Q!thD{dmFejFXl|Lm+Os2%NX7LNz+Xq}+$dmnJO(YgEw=1%D7`SZ?y|H*mD!?b{4bWoF6u92F9yakvZ#{7L zI`qaZ^EBxV1NV@?EyF#xHy$&u4@mE;u6mm+{f+d#0o=sj>a`!zKCT!AiYO`GY76W5;xZe;c721qoiM=mh~y&&Iayfi(aa?sAav80IuFH zPh&XCxIyyzfqTO#FK%yFW5E5^hD%MQYg7Bi<67zD)KNAz?peOF6?6LjrPC1oRP)y6 zuGGFa>Qi?;m!AB`^yCjp*QEBJF@sjnHu;moKxmsL58pLCvb=3_I<@cH_02amzvrpt zE0Owg+vIDK^BMt}+@wDJ`VS85X;{AUPU2}v{U4g2@PUBTY5L%WI3UxZJC)ksx~jW% z5)pEzCc9SEx9x9R6-YhZx+;JyDk~7dqiilX0L3X3BcUPxj=P>42{i9Ja{MhTp@cFd zC#N^`*4&Zu9Xxty`N|1m?fd=G(uv5m<0)=`da9!~wg2P~9zA+=)08hYwItQ_OzA>! zHi83sAU)w}Q;cheB2z|nbydG!KZ!gcB?++njn zjg)i_D#2Id(`xSEguRQ#9OTbM630G2OX)RQ?UtILzkA6vWeZS*5WqEpi{|tRT=(OmHt`^?mvGUt z_zcolhpf*C|Szs52!B)(NB!Jx;ZGoKOTe?JB8uA56 ze3~Kzse>BM)QOeJlyiM*@?dJ}R1~$eY-Zo(zS41Wyqv0Seu5hFH{cL8`Wx-^N-7XS za~GAW9^Icjo0@E%NiC&$BQ^Qm)Fj5|=6Kuwo*B50n>E{N1;~?ZxGA6NI%{PfL8{^5wfT@5S`}$W7VBU;7`5$KOi~039zjoX@ ze{jh(#3DS*KZI|+tuTtb)oMY5upqU6sT*8joB@xZ3gv+RwagxD#!b+U*;-G<28K zan<8mi>ny0j_=J`AZ8h-; zOV894w&9X`2`lIL?Iu29X^Bty2usgDWE1gby8tO0hLO4)*90!ovmY0QkKiJGe}Rk2 zM178MkK>}z`WbQmg7`d)PpY@y;W~?Ws0_ld#3$vy5}zc$Gdqy&E#>k<+jD(;vn8!q z>M4}AWN#kH7E9Pw$?e&b>m3;=jcbepTuXjrsH6?#_vS|=F59Q&huRCd!Jfi+%RsL8 z{fx0;WGI&}826o7+dXMAl3V(FhW2LLdy2(d@`XNw-^Mf<_sOxG%2n*o-?FusEu@F` zRM3LC2F+$6z|VK{hINf zR=npF?-z>qSDvgPpN4puE3aHdoidV0w)hd;G70(e?6qT9lU8{HrMYXC_5E||E^D=Xa%KSHs zM>X{uTs6$czhzVsF|9JWH%KGT%PGqHIOCC(M{w0>5yVE07)zzxoT41xWIXccf8pYi zsdl(zP7&_!7?0M)FXF1vS`hy$quzt~_l%lE%%yxrQ8$C~v7QG)y9O7R%qf!m6yp)a zB~uEQ{9aI8@;E3i`A-!ELL+Z-d7L6CG#2q5z~xr)cg-H7YqX_p?Mo~|Bl~IUHsXu2tO8pt5D92&N<0T~>oC+w4w54(R zv>@U(M#T}Ih#uh65};0ER0`C|jA{pU3Zr&_qGv~+)(xtTQT?Fa#i(IWr!r~`)M<>G z0ChT}?ge!QqYi*NlTiwq{s6>}Cie%L@isH){ z6-0bFqvD9KU{nI}YDT3H({nXiG2#YB?LfSSQQe3szfbE&tTSpDafnf4h#MI-fjG>l zdl5$%bpUacQ4b)FG3r6YR0^N=MZ`^vdJOSZjG9JFe(RL7r4Up9=l!>dQ9BT?WK=ie6^x?1 z|IVlY;u9HFkGPRhLBzD)^J#I!YZ;Y5dQFcgNww?>oVqq@K$jQW(f#h*Qa}2!!|h$X+8z?RO}Q%=L!g&_0mg z*I;A;C39uY=j@X;nd@1>A^-Y)H1ili=DO_NoL8rEO$g3uNbt(_V}+5r;?!^u&cx;A z)%^-1bG;-uyUOG`C4fYPb8z{6e?NXdr(V&M}5v>}4337pq*|G#MjMzw-N< z5&P(t1zD%xRv77x3rPurPsv#iPQbz$0A~UslHmGrY1&tagHI#Zi{LzH;ndPn8{tY^ zeqR8w5oCF8Qy5vE!-7NOhu=pt9oI;CWv-o<(j7)%Rp##q4vjs2AB|ZOYfw5l2BA^q z`h?)n_~Z9cIei3RLFPZIFtUWZFXIT(;`cp_co}CPmbvax7@6xK!D(l?Y5}}X<&qXY zB``ZV2C=g|uL#UqhPfZ{Qd~Sp?X{Ql`?bo_O9h8?@-jPftydUX=8WL1Q@Na$-mWk* z*ZtreLJp&CybMkPg)=zkV;V>Rlf=cXzknWj5V~;reZv&fEenzw6qv2xa*W|0iTRSi zY*CmKxDdJ*)SCj+p)iJB5_1JL2ZZ&w>|>q8TqiKsGYpNTvIY!YodT0$nB|C#Amt1S zOd3gkpSzrU1ZD%n9B&ArdvW(kf!W9~G*8k@#)HH>Dllze^ASlR3^`8=%qE7RnMmd~ zs2>Z=W`?0%1S3fF+X8a~lK6}!Qw%xh(3FL0G+IJROk&$vF2e$nFY^}!W*fuQQj!W1 z^ErX(L<;w+f+#t!2+R(Jv9>7lw}dFg@1t`F^ps%)^EZU3{%Hrv9?ahkqVl<6D9@Xs zJk&e=KCA7rZQZzrkbKnf`%VHSEjHTUw*`hg<0VHPtERT(CFe^)BqE%M%S+CAI)kt` zP+oHG6PQ!V$k9Sv4)qZ)IVFLim8w^Ho)Z{qlU{Pm}y^O(qCu;PR3)BQVq= zyyUD8lN3B3;qsF6DS@HIrI(zOBP0b+Qn=%y;3@rt`>^hSsZ3LP` zz2w{`FqpJl<(R*zfoTjF(MdqdVE&fIYB2pi8vm(9TEiisi@Lp+f4Z*Xd8kW!+4YRT zP&f0k>*}ky9O@oka=t7u)EvF!oJ&g&1ZqZJa_$xws#-6*W(0<+%}dVCYmkUQ=5Y+W zWs$7+34x)ad&zl7VCciku4e`2+A?x}DKLpLa!w@y2+g>>$`cZp7KX9TU(&8E0@Lat z$NUWeHhcQMg^6GV(AH28a&83M?@L${#oY&inFdXAxc)DQT)PzKpy0GC&d&sAr{WwH zoG!&lie>Ir#koyzwkXaMg43ZmZwd~rzIb`w5*%7Ec;LErIXL?roQEBpXC0iMJ2*?I zv5T;TeO~V1BpjSQ4$c7w=j#?uu~g_C9G02_!iUc(3~@3$`v%%a#|21Yer3T>;yKj$ zSdf@&9h|)m&PN@b#~qv>IXI_K=da1qATIx_gY&$D^E(IUJQ`vx zx~_L{at_XC9GvesIENjaWi)tObTv6R!w$~J9GtH>INx({W*nRbnkX#VZ**|}#KHN3 z;%H)w`kICFBJSAp=c>%k%}pI89LgK*DP{H8rfjK)AADP%FLaF$XVZ>@WTQzvK4`#3 zhS;&dWc$X=of$peK@wQTp;ET6r>8fY)cC4)aa6IdFfWcO`Y#{QWN~0r+3)GUWDMsg zTTA&uax}Sl>wvf4+DDU_aAy71&B@M4rZbu`{J4lJr9T%@<=p%l6DN?8dL#KWyQc@o zPg_b0=hf;doTE>xr*OU=4Z@?F@}t=~xf3nZ+D_-wR1F)epmW}St%6SBTGJpJ3U?%L z9_bm#mBw!v&K7#m)8$x@Yul|SlTn8j#`|!Fw&*F7Dl?OW7@LCViyi@ zyE`U6Ad-*SHPw^v?wsn$m+sMZHe>KPSC8UYeJR&#%);q5Owi`D-%dypp?za#X4IG; zHdj@uaz$08N(UILk5IIu75@+m2TQX(gYGRv57B=v;E424nP##DWi^Dgn|-rb3YFUy zOX0D3w9)YB4I`zwyL98R`?M03$LQ5cRL;|{a!O-k{USElYU!P?hpVNxA~#o3zwEyw zSsxk74n=)1@KCI$E>4 zNA|j}ourfbjHLG&$a2#?R$~N&t4#|_(^_VMRZ7R2$BqS7IbXl>$2omb99n^{d3&+~ zUGwbq3%(U5n|=kGZqj{o?cv96lW<;F|BxQdY<6tCwg!`?u2>!=3tb*Hn?ij~3K?ov zg$yNonA0|kDi_-=O1#p&#amqGlAWbX8@$rlzsnQ-X^pQuhYCMpqa29{7#3@Etwo&7dIqsE0fbaI!DyrcUtcKZ!h!=V-GByOR`r6 z^j-k31Ee44m|6AVS!C#Q*?bQV^$b!O=&9GX<}XuzhX*RLXVg72T7-Ic(icK=!eowb z*d}$IiridmE);sk&EB(R$T^TVmqxRNBK{YHbos5f-YUt4LUzw^snCFyyUne|80oWZ zKWT&c-b_*cdx*>}?EgbF^bQX%;v1$#d5a}Rms#ckXHz-m31Ly+EzQk3qg7V;)@4@P zs-{W4=bWY941JZq6_|%{l`E6>nMc#Ay@IfGtSY|QkTbREdBXdNov%mdy77P)rS?*L z?KsR^u<~^^x58$KLTWlj%PQDeo40Kh=$fx}a)_&N zXL{}?R!L!Hc2?lvW3{vbm2S3rkBk-v&vk&rKBLvJ>dSYxqPjbbb{ncLeWPP3rw5IL zPk1y&37io9=2C`Gy*)*Go7T%vq0IGdH>_)J%VaiZ^tNzJU@}Fv#HVMGOiNpHXQ%DI z3?(XX*0C#*_RO_4F5H8a>>(9w8;TWf*$p^6e3#wplN%*?MEBaCF_wAu=lIzQ zKs#z>3NVNLI=At!b(Vaz(dL@ZD?yKAu;j;L#JD;zkZhNmZPt}@xTOb)xptiQaMPh1 zV>4i7vW94Y&JFeE2Zsl;r7Y7+dsl1=CcRm=4Cmpdd5-3pQgVa&VJ*l+5B1@cSZ}sP z=yaaD?JVgr{Fk-t-a^knrZ+zXpA41KyV+tcncUpjm`RV~peS*IbS8*#jKRJ$o)Nqp zBRiWiUVq8|k^5t&hm$fpb*ksivRN1^Bg1{S^8duHZ)Rs(SoV_4tm_iFnMj?@x_jx| zjFe-U9jPkJbDz_w_<8N{nsz^3PIxTTQFrwY!Bpx6K2<-B zjb>Eg#w7oGEnW>Qn!e zUzNYAJB_N;Rh6pBY7C)e&*O;)j*xMXb)H9ql^Khr@E9$uWLxPNZLCD)e65s&O@-T& zt|LLYP3CIpt<2s^JU!pawOU+>W;dG`U^~&xzy(m_ZcTMJ7G0aC_cUm!s`;NIo%14w z=JyKs+GHgyrcSpSTi{JMX{LFqUSO5;wz7gfxOtmbfi7v+TwBaBZ}_QBxA2;zP33p? zq?gO1W|d_*73V37p`WGg8Da6=gEH!Ql)Q!2H$1LNU1|=aGi*_!>!tqV+q8TV%mi<^elGy{J zv_0KZ$ns-?MV$TqN9m8Bl*8^_T^^Vd~rb6?80JQK!y@LwY6UrZQV_w=1rzEv-CNRLD_ z*}-8;S;cn|nubS8;#6e&#z+T#3aT(}QP_ol$p8SpKMLRD)vJ_@vRIOgYQfOb!M638 zMZvx--XP?ASwTB9V`GL0c?7pL#NV52L(WX5cWkU@cWzYIW1t7{qg0s^-V@;6!Ja(5 zwC%E@LV6}MI+&Xa60(bKKxUD%iLyb})bC8MI!v#j?LAI!%nzA?MMlvuS07zV#!$GY(nKLyY}+K$BmjenvE>AmcSDTP{7BU2+u6vx5} zxn3MRu>5wU9y9%rBnDQ3kYtrl*D=DC7>K5ZIRD|vY{3c&7P5W00>idO>6Zn`crOt7nh@MYIcK(X5|$)9Yvn4}FBz zG!HFumg;^Fbvm2%Di6JkR*Q$;M{Bi*<|dTty&hVX(5!Fs(0;V`dFU;)4tl6Cu~a|q zp=F89`e_e6o>-`r(@Tl7GZx?$`!acqvJ-qKN7Q&kmG zNZKUW1>{M}T31sQs*CGLfo{wa;&~&01MNt9Ac6ql`Zzx~bPN3Ai%L`zsELDo1DjN$ zP*otVgA?^2z?-&2wbiw8el5^_@cSUnPbI1g#mD0rol=RyweeHsL}w5n$)}=D&Zs^d zA0UG63-Bv7{B*QsqEH|lze1d-m@<;HzY(ne>pbPzLd^T?JfZ49HO82QbB5v9X837n zt2{MClsuS<2;`(jKABKr*_H$_rb3hetm{t0@^B1Z72wB7M{;I^2~^Z z<8PDGh#5j0vZbjDhRm_J4xy&N@02Y~U8pL~kK;WBzxX0IR;aFCJqGm>3U)jIN4;3N zI&e{r;i~xc*#!P0__+-~UN1Gjsn1_MFKt?OZvB+!zEmgoi3es1kyk>6)4lqUnY3hjY2tB^xg~TT$eEe+D99y{ zB_;Fjw zK>Rq@KJwFyG>n2A_tT=ZIRzb<(W?zB8(O3NANr#Mr*0TrMC*xttAAYI>}?u6C*$ve$LN7hS5c!7Q`lqCU8~ZYb~hDAmIg<5O^d$KSRCP~ zz)6Em#S7pZ9c(R*Mt8RsFJRSzX?DOtO^f4RzHMS+!c{aS?&Z3A3H#tVwZj8G)H!+k z7>Lzq8#uk$-GCWT*fqDfAqh#k|1vQVtxw;4G1}joBsRale3$kHM-!v(@I2_Kt48af ztFBzLRg9A3>kEpUv=z%nFTaa|&r)PGDgh2rq8`Ywm`xU*>-GbiO?752u8S(UmNJy1Qxj zU1QOKk)Fh{e!teUm^S5PQ8YWPW-_#YjTzh8E{N~8-}XUzGJB@BgI>xmO>s}gte{V` z{Wr^9^X21?4QUCwNT|{RJcEsFP#UoyJ5irPeG#=$Cr|ELPaoEh%RXtASTd1k1F;w0jL#XV(&$zybYZ_h5n@5%Tkp!`2 z{*K)g8Dzn-iFn%Ku!^W)un2Lbx5@hR>j*1rA9o(J+k*lunAI~i{YXi@5Y)abw89E z^0!DbA=8Dx)Q|xv73QCzRO0VLsl@#IqoP2_Wp>C%0|()d59%MJ;$D7S^t3l!dx&1} z7HHe(=djyp6!zPc>?@eg$C(5F3GpimqW!3BC&PY7?Px!4wXe`tw4borAJKDYKW(+I z(%Wc%SGMQDj?s0r_sez|_J7G!To5}b+c2U>D&A8{@eX@lGTs}C@h(s*%j(Uw7=Dk8 zUbod-Y%#y3cyFu70p40FV2!2t=2SON`wXg6RKos`R9}VtL@M5%f07DD1W?twE5)~e zNHQ3~-)E{lFfmgyt#;EytYcQ-+xN>WmEhLdejsj;Pp{q)LUN?Gw&GXlUANDs=@w0tTsxa(trHa6+-l(NoEY)VI z^-wven%D%(Z>%PIE!79bi8Xo5sa|>X{aHf3*Y~A@5tHn!#XggY{mx633;R2%{IKVw zf)Srf#eNs0N{9WuR4{S9e_$4q3vy9*^N>GE#Y5D+auTK7mg00(sG58ycq?ln44a7E zqsa|;gH%zlB&m3{lBH^cnkH2T)O6&>koAx$67s^OO4SRMCRHDlORAkv=~4|rWk|Ib z>PD&dL1jvH04htW7ooDHIs!FAsu8FhsgCpd=Sq1BaHdpepz@?T3zaX`C8$|ajX@Pi zH4arM6=oocq~h7SrQ+N4NX7BJQgM$@DnD$oR5AXgDUmV^TPjrqcD7VeSa#M#3+x=J z+F);zsspx6s`aqtQf-2*kg6AUu2g-nl~V15<&4;but5#;*Ti1PDhc<&R!emNwnnNK zVM9`lz^eUm9EuMSO@75ir8)yvEB(&G)=6~mV9mQ@yp&z5i}78TW@-4ClyNM@LTEEATG+hDn+v_0TW z4wWj0)f6nxPhM%X0u-yvUvb=Q33E_rw(_pV#i6MaPLat}&ssj_s7#(PN-d36=I1|T zwydbXH%L8s0{Nb%Im)}<>VLr?3((=vVw4fg_Pk{=Gs_n*t-0*s(qQ~;lB_5lle2~1@z9RcVN5d8te}!zb2T#f7E2tikf!Z&A-?9G%x*k zjW2mOe_@~`(XP-e$_eou&kyk7-SV!Sbc|Ei?-6qvWdd zxhnW;8O4oidVk+w9_d{`|5)eK{)N5+?+kvgP$+@o@q(E5bjLh)#>pkKygiS~>%Ds8 zd}^upx(?4*eezq(xGNuLMG3RN>k*^HL5zs{^#ybmgTKL_S}5|1%NX2mutjq4_l#Bq zUJfmVC#|1YNSo$)U001R`PHNbYuR*oUNC1Vw#AJccS@O06Z3qrWs8L90O!r6&XoH= zxU4}{TW zGsr57{JzcrFr46Hgr3>JS{3C}V8@g^IZhqBdvC`W}w~ah$BZq9{&861kG(%soIXU^onv&jU zBTH@ME*sfxBmc3?+D>NrD>kQGev7B1Uu+|tHu8v#9I=t}AjbU7^vQfcOi6Z=jjXVd z%{KD1jr`0;#+j)6W_k~wMzWaXRvUT1M)uptFKy(yjTG=Xr}CT08YE(Dl5QJ$#75q* zkq>PojgL@S%*f@6@cd15r_Jec8#!Vlzp{}}Y-9!>*Rq(oS`C7q5fjC1PS4uNNs9>M zw0Lg{nP?Jp?zSwdyyI)b#W#QMqEP#tbnwm!iadA=eWj;@IyNjm)Ox!UJd*<5PTJI# zOe+n2vfV>JX>%L=6*|B13LRTLjXJyXhQC-HOQnBX@1=`fLAs->Q3mbUuxL2A;i_&# zE1+X-9*j<;#a)GnR7|gQ718HiS(LthIvwuD|LEw>q`SMr^vmwC;a}W$G8L)AbX$9p zd25fh_6)}!d_tdcOLz2fP$!*iPo~9v_YTk5TH>V9ffV}jKovC)e3PyXyi8*|LiA+! Wja0Rxg_3v7p=~>|hf8+eoAmz|l>e>( diff --git a/release/object_script.examSystem.Release b/release/object_script.examSystem.Release index 08f44ff..f6b7aed 100644 --- a/release/object_script.examSystem.Release +++ b/release/object_script.examSystem.Release @@ -1,4 +1,5 @@ release/base_widget.o +release/change_password_dialog.o release/login_widget.o release/main_window.o release/question_widget.o @@ -14,6 +15,7 @@ release/logger.o release/problem_generator.o release/qrc_qmake_qmake_qm_files.o release/moc_base_widget.o +release/moc_change_password_dialog.o release/moc_login_widget.o release/moc_main_window.o release/moc_question_widget.o diff --git a/release/question_widget.o b/release/question_widget.o index 7d72932c13e2879e4801ef92939ca486a68cc6f6..626d59db7ad1db5b443f800abd37397f0ea2d0f1 100644 GIT binary patch literal 19328 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 bx-m;4rc^$%u(G^tQpJ**2P)|GF}42(tEn^v diff --git a/release/selection_widget.o b/release/selection_widget.o index c26628bccccae7df70b9fc2217f31edf6a83c9e8..eb3608d651b2dfc432924b3f53bec11a5a9d8695 100644 GIT binary patch literal 19147 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 Y)wHlaL-jq%D;%-RHp4a$(q7X34v>pNwEzGB literal 10982 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 diff --git a/src/frontend/change_password_dialog.cc b/src/frontend/change_password_dialog.cc new file mode 100644 index 0000000..4fd6f76 --- /dev/null +++ b/src/frontend/change_password_dialog.cc @@ -0,0 +1,212 @@ +#include "change_password_dialog.h" + +ChangePasswordDialog::ChangePasswordDialog(exam_system::BackendInterface* backend, QWidget* parent) + : QDialog(parent), backend(backend) +{ + setupUI(); + setWindowTitle("修改密码"); + setModal(true); + setFixedSize(400, 300); +} + +void ChangePasswordDialog::setupUI() +{ + auto* mainLayout = new QVBoxLayout(this); + mainLayout->setContentsMargins(20, 20, 20, 20); + mainLayout->setSpacing(15); + + // 标题 + auto* titleLabel = new QLabel("修改密码"); + titleLabel->setStyleSheet("font-size: 18px; font-weight: bold;"); + titleLabel->setAlignment(Qt::AlignCenter); + mainLayout->addWidget(titleLabel); + + // 表单布局 + auto* formLayout = new QFormLayout(); + formLayout->setSpacing(10); + + // 原密码输入 + oldPasswordEdit = new QLineEdit(); + oldPasswordEdit->setEchoMode(QLineEdit::Password); + oldPasswordEdit->setPlaceholderText("请输入当前密码"); + formLayout->addRow("原密码:", oldPasswordEdit); + + // 新密码输入 + newPasswordEdit = new QLineEdit(); + newPasswordEdit->setEchoMode(QLineEdit::Password); + newPasswordEdit->setPlaceholderText("6-10位,包含大小写字母和数字"); + formLayout->addRow("新密码:", newPasswordEdit); + + // 确认密码输入 + confirmPasswordEdit = new QLineEdit(); + confirmPasswordEdit->setEchoMode(QLineEdit::Password); + confirmPasswordEdit->setPlaceholderText("请再次输入新密码"); + formLayout->addRow("确认密码:", confirmPasswordEdit); + + // 密码强度提示 + strengthLabel = new QLabel(); + strengthLabel->setStyleSheet("font-size: 12px; color: #666;"); + strengthLabel->setWordWrap(true); + formLayout->addRow("", strengthLabel); + + mainLayout->addLayout(formLayout); + + // 按钮布局 + auto* buttonLayout = new QHBoxLayout(); + changeBtn = new QPushButton("确认修改"); + cancelBtn = new QPushButton("取消"); + + changeBtn->setStyleSheet("QPushButton { padding: 8px 16px; }"); + cancelBtn->setStyleSheet("QPushButton { padding: 8px 16px; }"); + + buttonLayout->addStretch(); + buttonLayout->addWidget(changeBtn); + buttonLayout->addWidget(cancelBtn); + + mainLayout->addLayout(buttonLayout); + + // 连接信号槽 + connect(changeBtn, &QPushButton::clicked, this, &ChangePasswordDialog::onChangePasswordClicked); + connect(cancelBtn, &QPushButton::clicked, this, &ChangePasswordDialog::onCancelClicked); + + // 实时验证密码 + connect(newPasswordEdit, &QLineEdit::textChanged, this, &ChangePasswordDialog::validatePassword); + connect(confirmPasswordEdit, &QLineEdit::textChanged, this, &ChangePasswordDialog::validatePassword); +} + +void ChangePasswordDialog::validatePassword() +{ + QString newPassword = newPasswordEdit->text(); + QString confirmPassword = confirmPasswordEdit->text(); + + // 更新密码强度提示 + updatePasswordStrength(newPassword); + + // 验证密码匹配 + if (!newPassword.isEmpty() && !confirmPassword.isEmpty()) { + if (newPassword != confirmPassword) { + strengthLabel->setText("❌ 两次输入的密码不一致"); + strengthLabel->setStyleSheet("font-size: 12px; color: #e74c3c;"); + changeBtn->setEnabled(false); + return; + } + } + + // 验证密码格式 + if (!newPassword.isEmpty() && !validatePasswordFormat(newPassword)) { + changeBtn->setEnabled(false); + return; + } + + // 所有验证通过 + if (!newPassword.isEmpty() && !confirmPassword.isEmpty() && + validatePasswordFormat(newPassword) && newPassword == confirmPassword) { + strengthLabel->setText("✅ 密码格式正确"); + strengthLabel->setStyleSheet("font-size: 12px; color: #27ae60;"); + changeBtn->setEnabled(true); + } else { + changeBtn->setEnabled(false); + } +} + +void ChangePasswordDialog::updatePasswordStrength(const QString& password) +{ + if (password.isEmpty()) { + strengthLabel->setText("密码要求: 6-10位,包含大小写字母和数字"); + strengthLabel->setStyleSheet("font-size: 12px; color: #666;"); + return; + } + + // 检查各项条件 + bool hasLength = password.length() >= 6 && password.length() <= 10; + bool hasLower = password.contains(QRegularExpression("[a-z]")); + bool hasUpper = password.contains(QRegularExpression("[A-Z]")); + bool hasDigit = password.contains(QRegularExpression("[0-9]")); + + QStringList conditions; + if (!hasLength) conditions << "长度6-10位"; + if (!hasLower) conditions << "小写字母"; + if (!hasUpper) conditions << "大写字母"; + if (!hasDigit) conditions << "数字"; + + if (conditions.isEmpty()) { + strengthLabel->setText("✅ 密码格式正确"); + strengthLabel->setStyleSheet("font-size: 12px; color: #27ae60;"); + } else { + strengthLabel->setText("❌ 缺少: " + conditions.join(", ")); + strengthLabel->setStyleSheet("font-size: 12px; color: #e74c3c;"); + } +} + +bool ChangePasswordDialog::validatePasswordFormat(const QString& password) +{ + // 检查长度 + if (password.length() < 6 || password.length() > 10) { + return false; + } + + // 检查是否包含大小写字母和数字 + QRegularExpression regex("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).+$"); + return regex.match(password).hasMatch(); +} + +void ChangePasswordDialog::onChangePasswordClicked() +{ + QString oldPassword = oldPasswordEdit->text(); + QString newPassword = newPasswordEdit->text(); + QString confirmPassword = confirmPasswordEdit->text(); + + // 验证输入是否完整 + if (oldPassword.isEmpty()) { + QMessageBox::warning(this, "输入错误", "请输入原密码"); + oldPasswordEdit->setFocus(); + return; + } + + if (newPassword.isEmpty()) { + QMessageBox::warning(this, "输入错误", "请输入新密码"); + newPasswordEdit->setFocus(); + return; + } + + if (confirmPassword.isEmpty()) { + QMessageBox::warning(this, "输入错误", "请确认新密码"); + confirmPasswordEdit->setFocus(); + return; + } + + // 验证密码格式 + if (!validatePasswordFormat(newPassword)) { + QMessageBox::warning(this, "密码格式错误", + "密码必须满足以下要求:\n" + "• 长度6-10位\n" + "• 包含大小写字母\n" + "• 包含数字"); + newPasswordEdit->setFocus(); + return; + } + + // 验证密码匹配 + if (newPassword != confirmPassword) { + QMessageBox::warning(this, "密码不匹配", "两次输入的新密码不一致"); + confirmPasswordEdit->setFocus(); + return; + } + + // 调用后端接口修改密码 + bool success = backend->ChangePassword(oldPassword.toStdString(), newPassword.toStdString()); + + if (success) { + QMessageBox::information(this, "修改成功", "密码修改成功!"); + accept(); // 关闭对话框并返回 Accepted + } else { + QMessageBox::warning(this, "修改失败", "密码修改失败,请检查原密码是否正确"); + oldPasswordEdit->setFocus(); + oldPasswordEdit->selectAll(); + } +} + +void ChangePasswordDialog::onCancelClicked() +{ + reject(); // 关闭对话框并返回 Rejected +} \ No newline at end of file diff --git a/src/frontend/change_password_dialog.h b/src/frontend/change_password_dialog.h new file mode 100644 index 0000000..f44c85c --- /dev/null +++ b/src/frontend/change_password_dialog.h @@ -0,0 +1,44 @@ +#ifndef CHANGEPASSWORDDIALOG_H +#define CHANGEPASSWORDDIALOG_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../shared/backend_interface.h" + +class ChangePasswordDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ChangePasswordDialog(exam_system::BackendInterface* backend, QWidget* parent = nullptr); + +private slots: + void onChangePasswordClicked(); + void onCancelClicked(); + void validatePassword(); + +private: + void setupUI(); + bool validatePasswordFormat(const QString& password); + void updatePasswordStrength(const QString& password); + + exam_system::BackendInterface* backend; + + QLineEdit* oldPasswordEdit; + QLineEdit* newPasswordEdit; + QLineEdit* confirmPasswordEdit; + + QPushButton* changeBtn; + QPushButton* cancelBtn; + + QLabel* strengthLabel; +}; + +#endif \ No newline at end of file diff --git a/src/frontend/login_widget.cc b/src/frontend/login_widget.cc index 376cdf4..451a56c 100644 --- a/src/frontend/login_widget.cc +++ b/src/frontend/login_widget.cc @@ -175,7 +175,7 @@ void LoginWidget::onLoginClicked() if (result) { showMessage("登录成功!"); - emit loginSuccess(); // 发射登录成功信号,通知槽函数 + emit loginSuccess(user_name); // 发射登录成功信号,通知槽函数 } else { showMessage("登录失败,请检查用户名和密码"); } @@ -197,29 +197,42 @@ void LoginWidget::onSendCodeClicked() return; } - backend->SendVerificationCode(email.toStdString()); - showMessage("验证码已发送到您的邮箱,请查收"); + // 如果已经在倒计时,直接返回 + if (countdownTimer && countdownTimer->isActive()) { + showMessage("请等待倒计时结束"); + return; + } + + bool result = backend->SendVerificationCode(email.toStdString()); + if(result){ + showMessage("验证码已发送到您的邮箱,请查收"); + } else{ + showMessage("邮箱已被注册"); + } + + // 初始化或重置计时器 + if (!countdownTimer) { + countdownTimer = new QTimer(this); + connect(countdownTimer, &QTimer::timeout, this, &LoginWidget::onCountdownTimeout); + } - // 禁用发送按钮60秒(防止重复发送) + // 开始倒计时 sendCodeBtn->setEnabled(false); - sendCodeBtn->setText("60秒后重发"); - - QTimer *timer = new QTimer(this); - int countdown = 60; - - connect(timer, &QTimer::timeout, this, [this, timer, &countdown]() { - countdown--; - if (countdown > 0) { - sendCodeBtn->setText(QString("%1秒后重发").arg(countdown)); - } else { - sendCodeBtn->setEnabled(true); - sendCodeBtn->setText("发送验证码"); - timer->stop(); - timer->deleteLater(); - } - }); - - timer->start(1000); + countdown_seconds_ = 60; + sendCodeBtn->setText(QString("%1秒后重发").arg(countdown_seconds_)); + countdownTimer->start(1000); + +} + +void LoginWidget::onCountdownTimeout() { + countdown_seconds_--; + if (countdown_seconds_ > 0) { + sendCodeBtn->setText(QString("%1秒后重发").arg(countdown_seconds_)); + } else { + sendCodeBtn->setEnabled(true); + sendCodeBtn->setText("发送验证码"); + countdownTimer->stop(); + } } void LoginWidget::onRegisterClicked() @@ -252,7 +265,7 @@ void LoginWidget::onRegisterClicked() if (result) { showMessage("注册成功!"); - emit registerSuccess(); // 发射注册成功信号 + emit registerSuccess(user_name); // 发射注册成功信号 } else { showMessage("注册失败,验证码错误或邮箱已被注册"); } @@ -296,3 +309,19 @@ void LoginWidget::showLoginPage() stackedWidget->setCurrentWidget(loginPage); } +void LoginWidget::clearInputs() +{ + // 清空登录页面 + loginUserNameEdit->clear(); + loginPasswordEdit->clear(); + + // 清空注册页面 + registerEmailEdit->clear(); + registerUserNameEdit->clear(); + codeEdit->clear(); + registerPasswordEdit->clear(); + confirmPasswordEdit->clear(); + + // 确保显示登录页面 + stackedWidget->setCurrentWidget(loginPage); +} \ No newline at end of file diff --git a/src/frontend/login_widget.h b/src/frontend/login_widget.h index 8b58f65..0ca5a90 100644 --- a/src/frontend/login_widget.h +++ b/src/frontend/login_widget.h @@ -16,12 +16,15 @@ class LoginWidget : public BaseWidget public: //禁止隐式类型转换 explicit LoginWidget(exam_system::BackendInterface* backend, QWidget* parent = nullptr); + + //清空输入 + void clearInputs(); signals: // 登录成功信号 - void loginSuccess(); + void loginSuccess(const QString& userName); // 注册成功信号 - void registerSuccess(); + void registerSuccess(const QString& userName); private slots: // 登录按钮点击 @@ -44,7 +47,7 @@ private: void setupRegisterPage(); // 验证密码格式 bool validatePassword(const QString &password); - + void onCountdownTimeout(); // 登录页面组件 QWidget *loginPage; QLineEdit *loginUserNameEdit; @@ -65,6 +68,8 @@ private: //BackendInterface* backend; QStackedWidget *stackedWidget; // 页面堆栈 + QTimer *countdownTimer; + int countdown_seconds_; }; #endif \ No newline at end of file diff --git a/src/frontend/main_window.cc b/src/frontend/main_window.cc index 02cb135..bf827e3 100644 --- a/src/frontend/main_window.cc +++ b/src/frontend/main_window.cc @@ -26,17 +26,19 @@ MainWindow::MainWindow(exam_system::BackendInterface* backend, QWidget* parent) connect(loginWidget, &LoginWidget::registerSuccess, this, &MainWindow::showSelection); connect(selectionWidget, &SelectionWidget::startRequest, this, &MainWindow::showQuestions); + connect(selectionWidget, &SelectionWidget::logoutRequested, this, &MainWindow::logout); connect(questionWidget, &QuestionWidget::testCompleted, this, &MainWindow::showResult); connect(resultWidget, &ResultWidget::restartTest, this, &MainWindow::restartFromResult); - connect(resultWidget, &ResultWidget::exitTest, this, &MainWindow::showSelection); + connect(resultWidget, &ResultWidget::exitTest, this, &MainWindow::onExitTest); // 显示登录页面 stackedWidget->setCurrentWidget(loginWidget); } -void MainWindow::showSelection() { +void MainWindow::showSelection(const QString& userName) { + selectionWidget->setCurrentUserName(userName); stackedWidget->setCurrentWidget(selectionWidget); } @@ -52,4 +54,16 @@ void MainWindow::showResult(const exam_system::TestResult& result) { void MainWindow::restartFromResult() { stackedWidget->setCurrentWidget(selectionWidget); +} + +void MainWindow::logout(){ + backend->UserLogout(); + selectionWidget->setCurrentUserName(""); + loginWidget->clearInputs(); + stackedWidget->setCurrentWidget(loginWidget); +} + +void MainWindow::onExitTest(){ + backend->UserExit(); + QApplication::quit(); } \ No newline at end of file diff --git a/src/frontend/main_window.h b/src/frontend/main_window.h index fabc36b..041d65b 100644 --- a/src/frontend/main_window.h +++ b/src/frontend/main_window.h @@ -16,11 +16,12 @@ public: explicit MainWindow(exam_system::BackendInterface* backend, QWidget* parent = nullptr); private slots: - void showSelection(); + void showSelection(const QString& userName); void showQuestions(const QString& difficulty, int count); void showResult(const exam_system::TestResult& result); void restartFromResult(); - + void logout(); + void onExitTest(); private: exam_system::BackendInterface* backend; QStackedWidget* stackedWidget; diff --git a/src/frontend/question_widget.cc b/src/frontend/question_widget.cc index 1d49987..dbd5d3f 100644 --- a/src/frontend/question_widget.cc +++ b/src/frontend/question_widget.cc @@ -2,6 +2,7 @@ #include #include #include +#include QuestionWidget::QuestionWidget(exam_system::BackendInterface* backend, QWidget* parent) : BaseWidget(backend, parent) { @@ -36,10 +37,12 @@ void QuestionWidget::setupUI() { questionLayout->addLayout(optionsLayout); auto* buttonLayout = new QHBoxLayout; + prevBtn = new QPushButton("上一题"); nextBtn = new QPushButton("下一题"); submitBtn = new QPushButton("提交试卷"); submitBtn->setVisible(false); + buttonLayout->addWidget(prevBtn); buttonLayout->addStretch(); buttonLayout->addWidget(nextBtn); buttonLayout->addWidget(submitBtn); @@ -48,8 +51,10 @@ void QuestionWidget::setupUI() { mainLayout->addWidget(questionGroup); mainLayout->addLayout(buttonLayout); + connect(prevBtn, &QPushButton::clicked, this, &QuestionWidget::onPrevClicked); connect(nextBtn, &QPushButton::clicked, this, &QuestionWidget::onNextClicked); connect(submitBtn, &QPushButton::clicked, this, &QuestionWidget::onSubmitClicked); + connect(optionGroup, &QButtonGroup::buttonClicked, this, &QuestionWidget::onOptionSelected); } void QuestionWidget::startTest(const QString& difficulty, int questionCount) { @@ -60,30 +65,95 @@ void QuestionWidget::startTest(const QString& difficulty, int questionCount) { } void QuestionWidget::showQuestion(int index) { - if (index < 0 || index >= questions_.size()) return; +if (index < 0 || index >= questions_.size()) return; const auto& question = questions_[index]; questionLabel->setText(QString::number(index + 1) + ". " + QString::fromStdString(question.content)); + optionGroup->setExclusive(false); + for (int i = 0; i < 4; ++i) { + optionButtons[i]->setChecked(false); + } + optionGroup->setExclusive(true); + + // 然后根据保存的答案设置选中状态 + int savedAnswer = user_answers_[index]; + if (savedAnswer != -1 && savedAnswer >= 0 && savedAnswer < 4) { + optionButtons[savedAnswer]->setChecked(true); + } + for (int i = 0; i < 4; ++i) { optionButtons[i]->setText(QString("%1. %2").arg(char('A' + i)) .arg(QString::fromStdString(question.options[i]))); - optionButtons[i]->setChecked(user_answers_[index] == i); } updateProgress(); - - // 更新按钮状态 - submitBtn->setVisible(index == questions_.size() - 1); - nextBtn->setVisible(index < questions_.size() - 1); + updateButtonStates(); } void QuestionWidget::updateProgress() { progressLabel->setText(QString("进度: %1/%2").arg(current_question_ + 1).arg(questions_.size())); } +void QuestionWidget::updateButtonStates() { + // 更新上一题按钮状态 + prevBtn->setEnabled(current_question_ > 0); + + // 更新下一题按钮状态 + nextBtn->setEnabled(isCurrentQuestionAnswered() && current_question_ < questions_.size() - 1); + + // 更新提交按钮状态和可见性 + bool isLastQuestion = current_question_ == questions_.size() - 1; + submitBtn->setVisible(isLastQuestion); + if (isLastQuestion) { + submitBtn->setEnabled(isCurrentQuestionAnswered()); + } + + // 更新按钮文本 + if (current_question_ == questions_.size() - 1) { + nextBtn->setVisible(false); + } else { + nextBtn->setVisible(true); + } +} + +bool QuestionWidget::isCurrentQuestionAnswered() { + return user_answers_[current_question_] != -1; +} + +void QuestionWidget::onOptionSelected() { + // 保存当前选择的答案 + int selected = optionGroup->checkedId(); + if (selected != -1) { + user_answers_[current_question_] = selected; + } + + // 更新按钮状态 + updateButtonStates(); +} + +void QuestionWidget::onPrevClicked() { + // 保存当前答案 + int selected = optionGroup->checkedId(); + if (selected != -1) { + user_answers_[current_question_] = selected; + } + + // 显示上一题 + if (current_question_ > 0) { + current_question_--; + showQuestion(current_question_); + } +} + void QuestionWidget::onNextClicked() { + // 检查当前题目是否已回答 + if (!isCurrentQuestionAnswered()) { + QMessageBox::warning(this, "未选择答案", "请先选择当前题目的答案!"); + return; + } + // 保存当前答案 int selected = optionGroup->checkedId(); if (selected != -1) { @@ -98,12 +168,36 @@ void QuestionWidget::onNextClicked() { } void QuestionWidget::onSubmitClicked() { + // 检查最后一题是否已回答 + if (!isCurrentQuestionAnswered()) { + QMessageBox::warning(this, "未选择答案", "请先选择当前题目的答案!"); + return; + } + // 保存最后一题的答案 int selected = optionGroup->checkedId(); if (selected != -1) { user_answers_[current_question_] = selected; } + // 检查是否有未回答的题目 + int unansweredCount = 0; + for (int answer : user_answers_) { + if (answer == -1) { + unansweredCount++; + } + } + + if (unansweredCount > 0) { + QMessageBox::StandardButton reply; + reply = QMessageBox::question(this, "确认提交", + QString("还有 %1 道题目未回答,确定要提交吗?").arg(unansweredCount), + QMessageBox::Yes | QMessageBox::No); + if (reply == QMessageBox::No) { + return; + } + } + // 提交答案并获取结果 exam_system::TestResult result = backend->SubmitAnswers(user_answers_); emit testCompleted(result); diff --git a/src/frontend/question_widget.h b/src/frontend/question_widget.h index d2bf106..2f77388 100644 --- a/src/frontend/question_widget.h +++ b/src/frontend/question_widget.h @@ -24,11 +24,15 @@ signals: private slots: void onNextClicked(); void onSubmitClicked(); + void onPrevClicked(); + void onOptionSelected(); private: void setupUI() override; void showQuestion(int index); void updateProgress(); + void updateButtonStates(); + bool isCurrentQuestionAnswered(); std::vector questions_; std::vector user_answers_; @@ -39,6 +43,7 @@ private: QButtonGroup* optionGroup; QRadioButton* optionButtons[4]; QPushButton* nextBtn; + QPushButton* prevBtn; QPushButton* submitBtn; }; diff --git a/src/frontend/selection_widget.cc b/src/frontend/selection_widget.cc index ac9e192..d652a6f 100644 --- a/src/frontend/selection_widget.cc +++ b/src/frontend/selection_widget.cc @@ -1,62 +1,125 @@ #include "selection_widget.h" -#include -#include #include +#include +#include SelectionWidget::SelectionWidget(exam_system::BackendInterface* backend, QWidget* parent) : BaseWidget(backend, parent) { setupUI(); } -void SelectionWidget::setupUI() { +void SelectionWidget::setupUI() +{ auto* mainLayout = new QVBoxLayout(this); - - auto* titleLabel = new QLabel("请选择学习阶段"); - titleLabel->setAlignment(Qt::AlignCenter); - titleLabel->setStyleSheet("font-size: 18px; font-weight: bold; margin: 20px;"); - - auto* buttonLayout = new QHBoxLayout; - auto* primaryBtn = new QPushButton("小学"); - auto* juniorBtn = new QPushButton("初中"); - auto* seniorBtn = new QPushButton("高中"); - - // 设置按钮样式 - QString buttonStyle = "QPushButton { font-size: 16px; padding: 15px; min-width: 100px; }"; + mainLayout->setContentsMargins(20, 10, 20, 20); + mainLayout->setSpacing(15); + + // 创建菜单栏 + createMenuBar(); + mainLayout->setMenuBar(menuBar); + + // 欢迎标签 + welcomeLabel = new QLabel("欢迎使用数学学习软件"); + welcomeLabel->setAlignment(Qt::AlignCenter); + welcomeLabel->setStyleSheet("font-size: 24px; font-weight: bold; margin: 20px;"); + mainLayout->addWidget(welcomeLabel); + + // 用户信息标签 + userInfoLabel = new QLabel(); + userInfoLabel->setAlignment(Qt::AlignCenter); + userInfoLabel->setStyleSheet("font-size: 14px; margin-bottom: 30px;"); + mainLayout->addWidget(userInfoLabel); + + // 难度选择区域 + auto* difficultyLabel = new QLabel("选择学习阶段:"); + difficultyLabel->setStyleSheet("font-size: 16px;"); + mainLayout->addWidget(difficultyLabel); + + auto* buttonLayout = new QHBoxLayout(); + primaryBtn = new QPushButton("小学"); + juniorBtn = new QPushButton("初中"); + seniorBtn = new QPushButton("高中"); + + // 难度选择按钮 + QString buttonStyle = "QPushButton { font-size: 14px; padding: 10px 20px; min-width: 100px; }"; primaryBtn->setStyleSheet(buttonStyle); juniorBtn->setStyleSheet(buttonStyle); seniorBtn->setStyleSheet(buttonStyle); - + buttonLayout->addWidget(primaryBtn); buttonLayout->addWidget(juniorBtn); buttonLayout->addWidget(seniorBtn); - + mainLayout->addLayout(buttonLayout); + // 题目数量选择 - auto* countLayout = new QHBoxLayout; + auto* countLayout = new QHBoxLayout(); auto* countLabel = new QLabel("题目数量:"); + countLabel->setStyleSheet("font-size: 14px;"); + countSpinBox = new QSpinBox; - countSpinBox->setRange(10, 30); + countSpinBox->setRange(5, 50); countSpinBox->setValue(10); countLayout->addWidget(countLabel); countLayout->addWidget(countSpinBox); countLayout->addStretch(); - + mainLayout->addLayout(countLayout); + + // 开始测试按钮 startBtn = new QPushButton("开始测试"); startBtn->setEnabled(false); - startBtn->setStyleSheet("QPushButton { font-size: 16px; padding: 10px; background-color: #fefefeff; color: black; }"); - - mainLayout->addWidget(titleLabel); - mainLayout->addLayout(buttonLayout); - mainLayout->addLayout(countLayout); - mainLayout->addWidget(startBtn); + startBtn->setStyleSheet("QPushButton { font-size: 16px; padding: 10px 20px; background-color: #4CAF50; color: white; }"); + + auto* startLayout = new QHBoxLayout(); + startLayout->addStretch(); + startLayout->addWidget(startBtn); + startLayout->addStretch(); + mainLayout->addLayout(startLayout); + mainLayout->addStretch(); - + + // 连接信号槽 connect(primaryBtn, &QPushButton::clicked, this, &SelectionWidget::onPrimaryClicked); connect(juniorBtn, &QPushButton::clicked, this, &SelectionWidget::onJuniorClicked); connect(seniorBtn, &QPushButton::clicked, this, &SelectionWidget::onSeniorClicked); connect(startBtn, &QPushButton::clicked, this, &SelectionWidget::onStartClicked); } + +void SelectionWidget::createMenuBar() +{ + menuBar = new QMenuBar(this); + + // 用户菜单 + userMenu = menuBar->addMenu("用户"); + + userInfoAction = new QAction("个人信息", this); + changePasswordAction = new QAction("修改密码", this); + logoutAction = new QAction("退出登录", this); + + userMenu->addAction(userInfoAction); + userMenu->addAction(changePasswordAction); + userMenu->addSeparator(); + userMenu->addAction(logoutAction); + + // 系统菜单 + systemMenu = menuBar->addMenu("系统"); + exitAction = new QAction("退出程序", this); + systemMenu->addAction(exitAction); + + // 连接菜单动作 + connect(userInfoAction, &QAction::triggered, this, &SelectionWidget::showUserInfo); + connect(changePasswordAction, &QAction::triggered, this, &SelectionWidget::onChangePasswordClicked); + connect(logoutAction, &QAction::triggered, this, &SelectionWidget::onLogoutClicked); + connect(exitAction, &QAction::triggered, this, &SelectionWidget::onExitClicked); +} + +void SelectionWidget::setCurrentUserName(const QString& userName) +{ + currentUserName = userName; + userInfoLabel->setText(QString("当前用户: %1").arg(userName)); +} + void SelectionWidget::onPrimaryClicked() { selectedDifficulty = "primary"; showMessage("您已选择小学难度"); @@ -80,3 +143,38 @@ void SelectionWidget::onStartClicked() { emit startRequest(selectedDifficulty, countSpinBox->value()); } } +void SelectionWidget::onChangePasswordClicked() +{ + ChangePasswordDialog dialog(backend, this); + if (dialog.exec() == QDialog::Accepted) { + QMessageBox::information(this, "成功", "密码修改成功!"); + } +} + +void SelectionWidget::onLogoutClicked() +{ + QMessageBox::StandardButton reply; + reply = QMessageBox::question(this, "确认退出", "确定要退出登录吗?", + QMessageBox::Yes | QMessageBox::No); + + if (reply == QMessageBox::Yes) { + emit logoutRequested(); + } +} + +void SelectionWidget::onExitClicked() +{ + QMessageBox::StandardButton reply; + reply = QMessageBox::question(this, "退出程序", "确定要退出程序吗?", + QMessageBox::Yes | QMessageBox::No); + + if (reply == QMessageBox::Yes) { + QApplication::quit(); + } +} + +void SelectionWidget::showUserInfo() +{ + QMessageBox::information(this, "个人信息", + QString("用户名: %1\n\n欢迎使用数学学习软件!").arg(currentUserName)); +} \ No newline at end of file diff --git a/src/frontend/selection_widget.h b/src/frontend/selection_widget.h index 9c06cc4..0df9b48 100644 --- a/src/frontend/selection_widget.h +++ b/src/frontend/selection_widget.h @@ -6,7 +6,14 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include "../shared/backend_interface.h" +#include "change_password_dialog.h" class SelectionWidget : public BaseWidget { Q_OBJECT @@ -14,22 +21,47 @@ class SelectionWidget : public BaseWidget { public: //禁止隐式类型转换 explicit SelectionWidget(exam_system::BackendInterface* backend, QWidget* parent = nullptr); + // 设置当前用户名 + void setCurrentUserName(const QString& userName); signals: void startRequest(const QString& difficulty, int questionCount); + void logoutRequested(); private slots: void onPrimaryClicked(); void onJuniorClicked(); void onSeniorClicked(); void onStartClicked(); + void onChangePasswordClicked(); + void onLogoutClicked(); + void onExitClicked(); + void showUserInfo(); private: - void setupUI() override; - +void setupUI() override; + void createMenuBar(); QString selectedDifficulty; + QString currentUserName; + + // UI 组件 QSpinBox* countSpinBox; QPushButton* startBtn; + QPushButton* primaryBtn; + QPushButton* juniorBtn; + QPushButton* seniorBtn; + + // 菜单栏 + QMenuBar* menuBar; + QMenu* userMenu; + QMenu* systemMenu; + QAction* changePasswordAction; + QAction* logoutAction; + QAction* exitAction; + QAction* userInfoAction; + + QLabel* welcomeLabel; + QLabel* userInfoLabel; }; #endif \ No newline at end of file diff --git a/users.csv b/users.csv new file mode 100644 index 0000000..5d9f4df --- /dev/null +++ b/users.csv @@ -0,0 +1,13 @@ +# 用户数据文件格式: username,password,user_type,email +# 用户类型: 小学, 初中, 高中 +# 自动生成 - 请勿手动编辑 + +zhangsan1,Erp91637,小学,zhangsan1@example.com +zhangsan2,123,小学,zhangsan2@example.com +zhangsan3,123,小学,zhangsan3@example.com +lisi1,123,初中,lisi1@example.com +lisi2,123,初中,lisi2@example.com +lisi3,123,初中,lisi3@example.com +wangwu1,123,高中,wangwu1@example.com +wangwu2,123,高中,wangwu2@example.com +wangwu3,123,高中,wangwu3@example.com diff --git a/zhangsan1/2025-10-12-16-36-11.txt b/zhangsan1/2025-10-12-16-36-11.txt new file mode 100644 index 0000000..5802ca7 --- /dev/null +++ b/zhangsan1/2025-10-12-16-36-11.txt @@ -0,0 +1,19 @@ +1. 21 * 13 + 54 / 98 + +2. 44 - 6 + +3. 73 + 90 * 73 / 36 - 23 + +4. 28 / 39 * 46 + +5. 92 * 55 + +6. 32 / 50 + +7. 73 * 74 + 71 / 73 + +8. 90 * 28 + 14 - 78 - 5 + +9. 2 / 57 + +10. 95 + 99 * 85 / 92 - 33 \ No newline at end of file diff --git a/zhangsan1/2025-10-12-16-39-45.txt b/zhangsan1/2025-10-12-16-39-45.txt new file mode 100644 index 0000000..de6b932 --- /dev/null +++ b/zhangsan1/2025-10-12-16-39-45.txt @@ -0,0 +1,19 @@ +1. 68 - 43 / 84 / 9 + 9 + +2. 15 / 92 / 46 * 60 * 88 + +3. 78 - 62 + 89 / 49 + +4. 61 * 93 / 1 + +5. 51 * 3 * 18 + +6. 57 + 62 - 12 / 82 + +7. 2 / 6 + 73 - 25 + +8. 99 - 68 / 45 - 10 + 46 + +9. 66 + 72 * 92 / 85 + +10. 20 / 9 * 35 \ No newline at end of file -- 2.34.1