增加cmark对输出富文本

This commit is contained in:
JackLee 2025-03-02 17:31:24 +08:00
parent 8e3ac1f177
commit ba8d6edd14
23 changed files with 4231 additions and 6797 deletions

View File

@ -55,11 +55,12 @@ endif()
LIST(APPEND CMAKE_PREFIX_PATH ${QT_DIR} ${MSYS}) LIST(APPEND CMAKE_PREFIX_PATH ${QT_DIR} ${MSYS})
#CURL #CURL
find_package(CURL REQUIRED) find_package(CURL REQUIRED)
#cmark
find_package(cmark CONFIG REQUIRED)
#QT #QT
FIND_PACKAGE(Qt6 REQUIRED Core Gui Widgets) FIND_PACKAGE(Qt6 REQUIRED Core Gui Widgets)
#MD4QT include
include_directories(${PROJECT_SOURCE_DIR}/3rdparty/md4qt/md4qt)
# #
MESSAGE(STATUS "----------基础路径输出 START-------------") MESSAGE(STATUS "----------基础路径输出 START-------------")
MESSAGE(STATUS "QT_DIR_PATH=${QT_DIR}") MESSAGE(STATUS "QT_DIR_PATH=${QT_DIR}")
@ -134,7 +135,7 @@ configure_file (version.h.in version.h @ONLY)
SET(CMAKE_EXE_LINKER_FLAGS -static) SET(CMAKE_EXE_LINKER_FLAGS -static)
target_link_libraries( target_link_libraries(
${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets CURL::libcurl ${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets CURL::libcurl cmark::cmark
) )

Binary file not shown.

View File

@ -1,51 +1,102 @@
# ninja log v6 # ninja log v6
5018 46024 7626049232766887 CMakeFiles/ctai.dir/src/ctai.cpp.obj 3f2a5605474560c6 7383 58680 7626079855155628 CMakeFiles/ctai.dir/src/ctai.cpp.obj c7f0e07034d2e115
7476 12546 7625226031323242 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj a4bdc9e7afd693e6 7401 12823 7626079855335805 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj ddca150b42c8a71b
531 3299 7626054468385965 CMakeFiles/ctai.dir/qrc_res.cpp.obj e5933d51f0b4b61f 12960 21531 7626079910924231 CMakeFiles/ctai.dir/qrc_res.cpp.obj 9f74f1f5e59b5b50
5020 36473 7626049232801708 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 73164b1399d3eab1 7390 47014 7626079855220635 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 46c079d0c729ba31
5027 40894 7626049232871934 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30048396fe45a344 7406 50500 7626079855375765 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 6fa8a641137702e0
4864 36817 7625506355308043 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f 4864 36817 7625506355308043 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1 7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1
19 257 7626058147644632 ctai_autogen/timestamp da3870ebc94b983e 16 7381 7626079854135217 ctai_autogen/timestamp da3870ebc94b983e
5460 32424 7625338166333098 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj fcfee72ebd436b69 7386 39010 7626079855185600 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj b2496aab435c15c7
302 529 7626054468283748 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825 302 529 7626054468283748 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
12546 18489 7625226082021822 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 1472cbef2eb3486 12823 19305 7626079909555613 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 3bdd07348bd84970
5022 42185 7626049232819103 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 10a736dff755075d 7394 52185 7626079855260627 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 22d5a962360b4db1
19 257 7626058147644632 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e 16 7381 7626079854135217 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
19 257 7626058147644632 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 16 7381 7626079854135217 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
12954 29954 7625226086103060 CMakeFiles/ctai.dir/src/sui_title.cpp.obj b2aaa7db0ee20801 12844 29360 7626079909756177 CMakeFiles/ctai.dir/src/sui_title.cpp.obj e026b4b712cf9da4
5025 41659 7626049232836502 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 8c93ec888621ab29 7399 51372 7626079855305649 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 578ff58396e1bb80
4857 36686 7625506355235589 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b 4857 36686 7625506355235589 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
7471 12954 7625226031266263 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 16410c8fb1699807 7396 12844 7626079855280611 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 4538c80be30eb6bc
7467 11761 7625226031231442 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj a7b9c7c27f09d2d2 7392 11770 7626079855240646 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj c7ba770f3578d195
258 26211 7626058150026365 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj af29f93889df7bb3 7388 46575 7626079855205579 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj d5c3d6d5615d47d0
7460 13107 7625226031167985 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj 9283b8e99a8aaac0 7385 12960 7626079855165617 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj 80d6964d23a3e9c5
7478 12469 7625226031344445 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj 35441b03d6ed42c6 7403 12662 7626079855355784 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj 41b68d110b3c0daf
18489 19694 7625226141459392 CMakeFiles/ctai.dir/sui.rc.obj ba94315dae7b8c27 19305 20061 7626079974370381 CMakeFiles/ctai.dir/sui.rc.obj e30df163c9cbe567
5015 48054 7626049232746701 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj e347e488b3f7bdf 7381 59159 7626079855135653 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 696927afe9114740
302 529 7626054468283748 qrc_res.cpp 9794859fafc6825 302 529 7626054468283748 qrc_res.cpp 9794859fafc6825
11761 27811 7625226074178138 CMakeFiles/ctai.dir/src/sui.cpp.obj 62600b24a26e62c1 11771 28989 7626079899025136 CMakeFiles/ctai.dir/src/sui.cpp.obj e1630d781a04e855
19 257 7626058147644632 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 16 7381 7626079854135217 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
26211 37172 7626058409564173 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759 59159 70147 7626080372907471 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759
7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7 7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7
5030 42198 7626049232889373 CMakeFiles/ctai.dir/src/main.cpp.obj 92e0a8f8e94288b6 7408 53206 7626079855405832 CMakeFiles/ctai.dir/src/main.cpp.obj 77280178abb968fc
12469 38682 7625226081243748 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 1394551dd9df8e22 12662 38636 7626079907940824 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 476c94d1f2c8cfea
18 284 7626059905775969 ctai_autogen/timestamp da3870ebc94b983e 16 6799 7626094936437213 ctai_autogen/timestamp da3870ebc94b983e
18 284 7626059905775969 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 16 6799 7626094936437213 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
18 284 7626059905775969 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e 16 6799 7626094936437213 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
18 284 7626059905775969 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 16 6799 7626094936437213 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
284 21680 7626059908425901 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj af29f93889df7bb3 6820 11551 7626094937733457 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj 5b4f3fa17aadf05d
286 21947 7626059908443292 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 73164b1399d3eab1 6823 11650 7626094937761135 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj eeafbafed35daaf2
21947 32564 7626060125050139 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759 6815 11759 7626094937673639 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 97bcecdc81f8d69a
18 288 7626061353726438 ctai_autogen/timestamp da3870ebc94b983e 6804 11907 7626094937567230 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj f2014334430e71bd
18 288 7626061353726438 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 6806 34432 7626094937587167 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
18 288 7626061353726438 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e 16 4723 7626095343193695 ctai_autogen/timestamp da3870ebc94b983e
18 288 7626061353726438 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 16 4723 7626095343193695 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
289 23339 7626061356423946 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj af29f93889df7bb3 16 4723 7626095343193695 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
23339 34080 7626061586927035 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759 16 4723 7626095343193695 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
19 282 7626066857285238 ctai_autogen/timestamp da3870ebc94b983e 4748 8878 7626095344479039 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj e3d97ea8bc1d2b2c
19 282 7626066857285238 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 4753 10111 7626095344533870 CMakeFiles/ctai.dir/qrc_res.cpp.obj dd75527ee8dace65
19 282 7626066857285238 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e 4742 18062 7626095344408993 CMakeFiles/ctai.dir/src/sui.cpp.obj 42bed78c7899bffd
19 282 7626066857285238 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 4751 18066 7626095344513825 CMakeFiles/ctai.dir/src/sui_title.cpp.obj 226322322265d1f8
283 25120 7626066859921594 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 73164b1399d3eab1 4745 24869 7626095344451563 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 4278f5aab5827fc6
25121 36364 7626067108304791 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759 4728 39193 7626095344279213 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj 9afc647ddec3b160
4730 39220 7626095344296609 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj ff767b1a439cfa8f
4738 43325 7626095344388240 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30e97d05c008cea2
4737 44439 7626095344368259 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 44a14cc778bf0b
4740 44583 7626095344407357 CMakeFiles/ctai.dir/src/main.cpp.obj cdab1c27daa47f87
4734 44810 7626095344338233 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj d12cfe3d50990a54
4726 48644 7626095344261763 CMakeFiles/ctai.dir/src/ctai.cpp.obj f1f03f3c05222920
4724 50206 7626095344234221 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 17adb079db0c1349
18 4959 7626100270120785 ctai_autogen/timestamp da3870ebc94b983e
18 4959 7626100270120785 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
18 4959 7626100270120785 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
18 4959 7626100270120785 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
4980 5212 7626100271326872 CMakeFiles/ctai.dir/sui.rc.obj 8caec2f89e692c3b
4969 7174 7626100271213174 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj e7088975ee9d75b9
4965 37689 7626100271170417 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj 9afc647ddec3b160
4967 37911 7626100271193199 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj ff767b1a439cfa8f
4976 42558 7626100271278798 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30e97d05c008cea2
4973 43773 7626100271256523 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 44a14cc778bf0b
4978 44360 7626100271298778 CMakeFiles/ctai.dir/src/main.cpp.obj cdab1c27daa47f87
4971 44642 7626100271233155 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj d12cfe3d50990a54
4962 48705 7626100271140359 CMakeFiles/ctai.dir/src/ctai.cpp.obj f1f03f3c05222920
4960 50397 7626100271120321 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 17adb079db0c1349
50397 71973 7626100725493529 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
18 305 7626106162614347 ctai_autogen/timestamp da3870ebc94b983e
18 305 7626106162614347 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
18 305 7626106162614347 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
18 305 7626106162614347 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
306 16084 7626106165485061 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
308 24704 7626106165519846 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj 9afc647ddec3b160
24704 36118 7626106409487508 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
26 295 7626107126004513 ctai_autogen/timestamp da3870ebc94b983e
26 295 7626107126004513 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
26 295 7626107126004513 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
26 295 7626107126004513 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
17 299 7626107530168204 ctai_autogen/timestamp da3870ebc94b983e
17 299 7626107530168204 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
17 299 7626107530168204 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
17 299 7626107530168204 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
300 17843 7626107532992409 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
17843 29342 7626107708431578 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
19 304 7626109402581002 ctai_autogen/timestamp da3870ebc94b983e
19 304 7626109402581002 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
19 304 7626109402581002 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
19 304 7626109402581002 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
304 19584 7626109405446511 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
19584 30432 7626109598248568 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a
20 312 7626110238955525 ctai_autogen/timestamp da3870ebc94b983e
20 312 7626110238955525 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
20 312 7626110238955525 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
20 312 7626110238955525 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
313 18539 7626110241890638 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 511f74c0fcaa2e5f
18539 29807 7626110424156190 F:/SourceCode/ctai/release/ctai.exe bbede5bc6dd5d74a

View File

@ -416,6 +416,9 @@ Z_VCPKG_PWSH_PATH:FILEPATH=Z_VCPKG_PWSH_PATH-NOTFOUND
// triplet // triplet
_VCPKG_INSTALLED_DIR:PATH=F:/SourceCode/vcpkg/installed _VCPKG_INSTALLED_DIR:PATH=F:/SourceCode/vcpkg/installed
//The directory containing a CMake configuration file for cmark.
cmark_DIR:PATH=F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark
//Value Computed by CMake //Value Computed by CMake
ctai_BINARY_DIR:STATIC=F:/SourceCode/ctai/build ctai_BINARY_DIR:STATIC=F:/SourceCode/ctai/build

View File

@ -49,6 +49,11 @@
"F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLTargets-debug.cmake", "F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLTargets-debug.cmake",
"F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLTargets-release.cmake", "F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLTargets-release.cmake",
"D:/Dev/msys64/mingw64/share/cmake/Modules/SelectLibraryConfigurations.cmake", "D:/Dev/msys64/mingw64/share/cmake/Modules/SelectLibraryConfigurations.cmake",
"F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-config-version.cmake",
"F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-config.cmake",
"F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-targets.cmake",
"F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-targets-debug.cmake",
"F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-targets-release.cmake",
"D:/Dev/Qt/6.8.0/mingw1310_static_x64/lib/cmake/Qt6/Qt6ConfigVersion.cmake", "D:/Dev/Qt/6.8.0/mingw1310_static_x64/lib/cmake/Qt6/Qt6ConfigVersion.cmake",
"D:/Dev/Qt/6.8.0/mingw1310_static_x64/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake", "D:/Dev/Qt/6.8.0/mingw1310_static_x64/lib/cmake/Qt6/Qt6ConfigVersionImpl.cmake",
"D:/Dev/Qt/6.8.0/mingw1310_static_x64/lib/cmake/Qt6/Qt6Config.cmake", "D:/Dev/Qt/6.8.0/mingw1310_static_x64/lib/cmake/Qt6/Qt6Config.cmake",
@ -527,6 +532,7 @@
"MOC_COMPILATION_FILE" : "F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp", "MOC_COMPILATION_FILE" : "F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp",
"MOC_DEFINITIONS" : "MOC_DEFINITIONS" :
[ [
"CMARK_STATIC_DEFINE",
"CURL_STATICLIB", "CURL_STATICLIB",
"MINGW_HAS_SECURE_API=1", "MINGW_HAS_SECURE_API=1",
"QT_CORE_LIB", "QT_CORE_LIB",
@ -552,7 +558,6 @@
[ [
"F:/SourceCode/ctai/build", "F:/SourceCode/ctai/build",
"F:/SourceCode/ctai", "F:/SourceCode/ctai",
"F:/SourceCode/ctai/3rdparty/md4qt/md4qt",
"F:/SourceCode/ctai/3rdparty/json/include", "F:/SourceCode/ctai/3rdparty/json/include",
"D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore", "D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore",
"D:/Dev/Qt/6.8.0/mingw1310_static_x64/include", "D:/Dev/Qt/6.8.0/mingw1310_static_x64/include",

View File

@ -1,2 +1,2 @@
moc:40425516f3b36ac67368de9aeee561c6a83d8de5d36c9b6bcd7edc057ab8c2c8 moc:834863012480fdf9c66c65590f86414ac340140d1c8179b803c185c4e8823422
uic:112cbdb5924982d8a55bab754383a3ad4ae11fd691919828dbe5441faa671856 uic:112cbdb5924982d8a55bab754383a3ad4ae11fd691919828dbe5441faa671856

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -36,7 +36,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QProcess \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QProcess \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRegularExpression \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSettings \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSettings \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \
@ -1099,6 +1098,9 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
F:/SourceCode/ctai/src/sui_base_ex.h \ F:/SourceCode/ctai/src/sui_base_ex.h \
F:/SourceCode/ctai/src/sui_sys_style.h \ F:/SourceCode/ctai/src/sui_sys_style.h \
F:/SourceCode/ctai/src/sui_title.h \ F:/SourceCode/ctai/src/sui_title.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_export.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_version.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \

View File

@ -31,7 +31,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QMutex \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QMutex \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRegularExpression \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QString \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QString \
@ -974,6 +973,9 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
F:/SourceCode/ctai/src/ctai_session_info.h \ F:/SourceCode/ctai/src/ctai_session_info.h \
F:/SourceCode/ctai/src/ctai_session_setting.h \ F:/SourceCode/ctai/src/ctai_session_setting.h \
F:/SourceCode/ctai/src/ctai_switch_control.h \ F:/SourceCode/ctai/src/ctai_switch_control.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_export.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_version.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \

View File

@ -32,7 +32,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QProcess \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QProcess \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRegularExpression \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QString \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QString \
@ -987,6 +986,9 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
F:/SourceCode/ctai/src/ctai_session_widget.h \ F:/SourceCode/ctai/src/ctai_session_widget.h \
F:/SourceCode/ctai/src/ctai_switch_control.h \ F:/SourceCode/ctai/src/ctai_switch_control.h \
F:/SourceCode/ctai/src/ctai_tabbar.h \ F:/SourceCode/ctai/src/ctai_tabbar.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_export.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_version.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \

View File

@ -35,7 +35,6 @@ ctai_autogen/timestamp: \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QObject \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QProcess \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QProcess \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRect \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QRegularExpression \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSettings \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSettings \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSize \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QSizeF \
@ -1431,6 +1430,9 @@ ctai_autogen/timestamp: \
F:/SourceCode/ctai/src/sui_title.cpp \ F:/SourceCode/ctai/src/sui_title.cpp \
F:/SourceCode/ctai/src/sui_title.h \ F:/SourceCode/ctai/src/sui_title.h \
F:/SourceCode/ctai/version.h.in \ F:/SourceCode/ctai/version.h.in \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_export.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/cmark_version.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curlver.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/easy.h \
@ -1443,6 +1445,11 @@ ctai_autogen/timestamp: \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/websockets.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/websockets.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/zconf.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/zconf.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/zlib.h \ F:/SourceCode/vcpkg/installed/x64-mingw-static/include/zlib.h \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-config-version.cmake \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-config.cmake \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-targets-debug.cmake \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-targets-release.cmake \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/cmark/cmark-targets.cmake \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLConfig.cmake \ F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLConfig.cmake \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLConfigVersion.cmake \ F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLConfigVersion.cmake \
F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLTargets-debug.cmake \ F:/SourceCode/vcpkg/installed/x64-mingw-static/share/curl/CURLTargets-debug.cmake \

View File

@ -402,6 +402,7 @@
#define __STDCPP_THREADS__ 1 #define __STDCPP_THREADS__ 1
#define __BFLT16_HAS_DENORM__ 1 #define __BFLT16_HAS_DENORM__ 1
#define __GNUC_STDC_INLINE__ 1 #define __GNUC_STDC_INLINE__ 1
#define CMARK_STATIC_DEFINE 1
#define __FLT64_HAS_DENORM__ 1 #define __FLT64_HAS_DENORM__ 1
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 #define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
#define __FLT16_HAS_DENORM__ 1 #define __FLT16_HAS_DENORM__ 1

Binary file not shown.

View File

@ -22,7 +22,7 @@ typedef struct curl_opts
bool ssl_state = true; bool ssl_state = true;
int timeout = 120; int timeout = 120;
bool followlocation = false; bool followlocation = false;
bool keepalive = true; bool keepalive = false;
bool verbose = true; bool verbose = true;
} curl_opts; } curl_opts;

View File

@ -183,9 +183,9 @@ void ctai_history_textedit::on_tokens_clicked()
// save按钮实现功能的槽函数 // save按钮实现功能的槽函数
void ctai_history_textedit::on_save_clicked() void ctai_history_textedit::on_save_clicked()
{ {
if (!m_msg_tokens_menu) if (!m_msg_save_menu)
{ {
m_msg_tokens_menu = new QMenu(); m_msg_save_menu = new QMenu();
} }
if (!m_msg_save_text) if (!m_msg_save_text)
{ {
@ -207,11 +207,11 @@ void ctai_history_textedit::on_save_clicked()
m_msg_save_pdf = new QAction(tr("保存为PDF")); m_msg_save_pdf = new QAction(tr("保存为PDF"));
connect(m_msg_save_pdf, SIGNAL(triggered(bool)), this, SLOT(on_save_pdf())); connect(m_msg_save_pdf, SIGNAL(triggered(bool)), this, SLOT(on_save_pdf()));
} }
m_msg_tokens_menu->addAction(m_msg_save_text); m_msg_save_menu->addAction(m_msg_save_text);
m_msg_tokens_menu->addAction(m_msg_save_html); m_msg_save_menu->addAction(m_msg_save_html);
m_msg_tokens_menu->addAction(m_msg_save_markdown); m_msg_save_menu->addAction(m_msg_save_markdown);
m_msg_tokens_menu->addAction(m_msg_save_pdf); m_msg_save_menu->addAction(m_msg_save_pdf);
m_msg_tokens_menu->exec(QCursor::pos()); m_msg_save_menu->exec(QCursor::pos());
} }
// 实现折叠功能的槽函数 // 实现折叠功能的槽函数
void ctai_history_textedit::on_fold_clicked() void ctai_history_textedit::on_fold_clicked()
@ -235,17 +235,17 @@ void ctai_history_textedit::add_message(const model_data &message)
m_tokens_data.total_tokens = "总消耗tokens:" + QSN(message.postback_total_tokens); m_tokens_data.total_tokens = "总消耗tokens:" + QSN(message.postback_total_tokens);
m_tokens_data.cache_hit_tokens = "提示词缓存命中消耗tokens:" + QSN(message.postback_prompt_cache_hit_tokens); m_tokens_data.cache_hit_tokens = "提示词缓存命中消耗tokens:" + QSN(message.postback_prompt_cache_hit_tokens);
m_tokens_data.cache_miss_tokens = "提示词缓存未命中消耗tokens:" + QSN(message.postback_prompt_cache_miss_tokens); m_tokens_data.cache_miss_tokens = "提示词缓存未命中消耗tokens:" + QSN(message.postback_prompt_cache_miss_tokens);
disp_data = QSL(message.postback_model_data); disp_data = ctai_parse::markdown_to_html(QSL(message.postback_model_data));
m_msg_sned_id = QSL(message.postback_send_id); m_msg_sned_id = QSL(message.postback_send_id);
} }
else else
{ {
disp_header = "ID:" + QSL(message.send_user_id) + " | Time:" + QSL(message.send_user_time); disp_header = "ID:" + QSL(message.send_user_id) + " | Time:" + QSL(message.send_user_time);
disp_data = QSL(message.send_user_data); disp_data = ctai_parse::markdown_to_html(QSL(message.send_user_data));
m_msg_sned_id = QSL(message.send_user_id); m_msg_sned_id = QSL(message.send_user_id);
} }
m_msg_header->setText(disp_header); m_msg_header->setText(disp_header);
m_msg_history->setText(disp_data); m_msg_history->setHtml(disp_data);
} }
void ctai_history_textedit::on_delete_clicked() void ctai_history_textedit::on_delete_clicked()
{ {

View File

@ -89,12 +89,16 @@ private:
QAction *m_msg_save_html={}; QAction *m_msg_save_html={};
QAction *m_msg_save_markdown={}; QAction *m_msg_save_markdown={};
QAction *m_msg_save_pdf={}; QAction *m_msg_save_pdf={};
// 保存展开时的原始高度
bool m_is_folded = false; // 折叠状态 int m_original_height = 0;
//折叠状态
bool m_is_folded = false;
//本次会话的tokens消耗信息
tokens_data m_tokens_data; tokens_data m_tokens_data;
//本次信息ID
QString m_msg_sned_id={}; QString m_msg_sned_id={};
QSpacerItem *bottom_spacer = new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding); QSpacerItem *bottom_spacer = new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding);
int m_original_height = 0; // 保存展开时的原始高度
}; };
#endif // ctai_history_textedit_H #endif // ctai_history_textedit_H

View File

@ -16,6 +16,8 @@ void ctai_history_widget::setup_table()
verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
// 设置自动滚动属性 // 设置自动滚动属性
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
//滚动步长
verticalScrollBar()->setSingleStep(10);
} }
ctai_history_widget::~ctai_history_widget() ctai_history_widget::~ctai_history_widget()

View File

@ -2,64 +2,51 @@
namespace ctai_parse { namespace ctai_parse {
QString parseHeaders(const QString& text) { QString markdown_to_html(const QString& text) {
QString result = text; // 转换为UTF-8编码的字符串
QByteArray markdown = text.toUtf8();
// 处理标题 h1-h6 // 使用cmark解析Markdown
QRegularExpression h1Regex("^# (.+)$", QRegularExpression::MultilineOption); char *html = cmark_markdown_to_html(
QRegularExpression h2Regex("^## (.+)$", QRegularExpression::MultilineOption); markdown.constData(),
QRegularExpression h3Regex("^### (.+)$", QRegularExpression::MultilineOption); markdown.size(),
CMARK_OPT_DEFAULT
);
result.replace(h1Regex, "<h1>\\1</h1>"); // 转换回QString并处理代码块
result.replace(h2Regex, "<h2>\\1</h2>"); QString result = QString::fromUtf8(html);
result.replace(h3Regex, "<h3>\\1</h3>"); free(html);
return result; return process_code_blocks(result);
} }
QString parseEmphasis(const QString& text) { QString escape_html(const QString& text) {
QString result = text; QString escaped = text;
escaped.replace("&", "&amp;");
// 处理粗体和斜体 escaped.replace("<", "&lt;");
QRegularExpression boldRegex("\\*\\*(.+?)\\*\\*"); escaped.replace(">", "&gt;");
QRegularExpression italicRegex("\\*(.+?)\\*"); escaped.replace("\"", "&quot;");
QRegularExpression boldUnderRegex("__(.+?)__"); escaped.replace("\n", "<br>");
QRegularExpression italicUnderRegex("_(.+?)_"); return escaped;
result.replace(boldRegex, "<strong>\\1</strong>");
result.replace(italicRegex, "<em>\\1</em>");
result.replace(boldUnderRegex, "<strong>\\1</strong>");
result.replace(italicUnderRegex, "<em>\\1</em>");
return result;
} }
QString parseLists(const QString& text) { QString process_code_blocks(QString html) {
QString result = text; // 添加代码块样式
html.replace(
"<pre><code>",
"<pre><code style='display:block; padding:1em; "
"background-color:#f6f8fa; border-radius:4px; "
"font-family:Consolas,monospace; font-size:13px;'>"
);
// 处理无序列表 // 添加内联代码样式
QRegularExpression listItemRegex("^[\\*\\-\\+] (.+)$", QRegularExpression::MultilineOption); html.replace(
result.replace(listItemRegex, "<li>\\1</li>"); "<code>",
"<code style='padding:0.2em 0.4em; background-color:#f6f8fa; "
"border-radius:3px; font-family:Consolas,monospace;'>"
);
// 将连续的<li>包装在<ul>中 return html;
QRegularExpression consecutiveListItems("(<li>.+</li>\\n?)+");
result.replace(consecutiveListItems, "<ul>\\1</ul>");
return result;
}
QString parseMarkdown(const QString& text) {
QString result = text;
// 按顺序应用所有解析器
result = parseHeaders(result);
result = parseEmphasis(result);
result = parseLists(result);
// 处理段落
result.replace(QRegularExpression("\\n\\n(.+?)\\n"), "<p>\\1</p>\n");
return result;
} }
} // namespace ctai_parse } // namespace ctai_parse

View File

@ -1,17 +1,16 @@
#ifndef CTAI_PARSESTRING_H #ifndef CTAI_PARSESTRING_H
#define CTAI_PARSESTRING_H #define CTAI_PARSESTRING_H
#include <cmark.h>
#include <QString> #include <QString>
#include <QRegularExpression>
namespace ctai_parse { namespace ctai_parse {
// 统一处理函数 // Markdown 转 HTML
QString parseMarkdown(const QString& text); // 整合所有处理 QString markdown_to_html(const QString& text);
// 纯文本转义
// Markdown解析辅助函数 QString escape_html(const QString& text);
QString parseHeaders(const QString& text); // 解析标题 // 处理代码块样式
QString parseEmphasis(const QString& text); // 解析粗体和斜体 QString process_code_blocks(QString html);
QString parseLists(const QString& text); // 解析列表
} }
#endif // CTAI_PARSESTRING_H #endif // CTAI_PARSESTRING_H