1-增加保存功能丰富化
2-增加只适应行高
This commit is contained in:
parent
cb7c8682fd
commit
8e3ac1f177
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@ -93,7 +93,9 @@
|
||||
"unordered_set": "cpp",
|
||||
"csignal": "cpp",
|
||||
"set": "cpp",
|
||||
"qmenu": "cpp"
|
||||
"qmenu": "cpp",
|
||||
"qstandarditemmodel": "cpp",
|
||||
"qscrollbar": "cpp"
|
||||
},
|
||||
"editor.gotoLocation.alternativeDeclarationCommand": "editor.action.revealDefinition",
|
||||
"editor.gotoLocation.alternativeDefinitionCommand": "editor.action.revealDefinition",
|
||||
|
||||
Binary file not shown.
130
build/.ninja_log
130
build/.ninja_log
@ -1,91 +1,51 @@
|
||||
# ninja log v6
|
||||
5018 46024 7626049232766887 CMakeFiles/ctai.dir/src/ctai.cpp.obj 3f2a5605474560c6
|
||||
7476 12546 7625226031323242 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj a4bdc9e7afd693e6
|
||||
531 3299 7626054468385965 CMakeFiles/ctai.dir/qrc_res.cpp.obj e5933d51f0b4b61f
|
||||
5020 36473 7626049232801708 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 73164b1399d3eab1
|
||||
5027 40894 7626049232871934 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30048396fe45a344
|
||||
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
|
||||
19 257 7626058147644632 ctai_autogen/timestamp da3870ebc94b983e
|
||||
5460 32424 7625338166333098 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj fcfee72ebd436b69
|
||||
302 529 7626054468283748 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
|
||||
12546 18489 7625226082021822 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 1472cbef2eb3486
|
||||
5022 42185 7626049232819103 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 10a736dff755075d
|
||||
19 257 7626058147644632 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 257 7626058147644632 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
12954 29954 7625226086103060 CMakeFiles/ctai.dir/src/sui_title.cpp.obj b2aaa7db0ee20801
|
||||
5025 41659 7626049232836502 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 8c93ec888621ab29
|
||||
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
|
||||
7467 11761 7625226031231442 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj a7b9c7c27f09d2d2
|
||||
258 26211 7626058150026365 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj af29f93889df7bb3
|
||||
7460 13107 7625226031167985 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj 9283b8e99a8aaac0
|
||||
7478 12469 7625226031344445 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj 35441b03d6ed42c6
|
||||
4776 47217 7625462302748234 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj e347e488b3f7bdf
|
||||
249 473 7625435056614594 qrc_res.cpp 9794859fafc6825
|
||||
11761 27811 7625226074178138 CMakeFiles/ctai.dir/src/sui.cpp.obj 62600b24a26e62c1
|
||||
27 4775 7625462301749330 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
47217 58635 7625462727149688 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7
|
||||
27 4775 7625462301749330 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
5460 32424 7625338166333098 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj fcfee72ebd436b69
|
||||
27 4775 7625462301749330 ctai_autogen/timestamp da3870ebc94b983e
|
||||
4780 36626 7625462302801186 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
12469 38682 7625226081243748 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 1394551dd9df8e22
|
||||
12954 29954 7625226086103060 CMakeFiles/ctai.dir/src/sui_title.cpp.obj b2aaa7db0ee20801
|
||||
4783 41826 7625462302826685 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 10a736dff755075d
|
||||
4778 45588 7625462302778476 CMakeFiles/ctai.dir/src/ctai.cpp.obj 3f2a5605474560c6
|
||||
7476 12546 7625226031323242 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj a4bdc9e7afd693e6
|
||||
476 3102 7625435056760498 CMakeFiles/ctai.dir/qrc_res.cpp.obj e5933d51f0b4b61f
|
||||
4787 40725 7625462302857982 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30048396fe45a344
|
||||
18489 19694 7625226141459392 CMakeFiles/ctai.dir/sui.rc.obj ba94315dae7b8c27
|
||||
4789 36936 7625462302876835 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
|
||||
7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1
|
||||
27 4775 7625462301749330 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
249 473 7625435056614594 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
|
||||
12546 18489 7625226082021822 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 1472cbef2eb3486
|
||||
4785 41302 7625462302838166 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 8c93ec888621ab29
|
||||
4792 41539 7625462302911178 CMakeFiles/ctai.dir/src/main.cpp.obj 92e0a8f8e94288b6
|
||||
19 268 7625465021750242 ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 268 7625465021750242 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
19 268 7625465021750242 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 268 7625465021750242 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
268 25901 7625465024229550 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
25901 36557 7625465280568829 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
21 267 7625466228081417 ctai_autogen/timestamp da3870ebc94b983e
|
||||
21 267 7625466228081417 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
21 267 7625466228081417 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
21 267 7625466228081417 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
267 21965 7625466230543815 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
21965 32806 7625466447527069 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
35 299 7625467313827130 ctai_autogen/timestamp da3870ebc94b983e
|
||||
35 299 7625467313827130 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
35 299 7625467313827130 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
35 299 7625467313827130 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
300 23374 7625467316479304 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
23375 35460 7625467547226951 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
21 259 7625469337861889 ctai_autogen/timestamp da3870ebc94b983e
|
||||
21 259 7625469337861889 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
21 259 7625469337861889 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
21 259 7625469337861889 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
260 25356 7625469340255864 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
|
||||
25356 36102 7625469591214442 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
17 257 7625471915032345 ctai_autogen/timestamp da3870ebc94b983e
|
||||
17 257 7625471915032345 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
17 257 7625471915032345 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
17 257 7625471915032345 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
259 22212 7625471917467142 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
|
||||
257 22499 7625471917449752 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
22499 34367 7625472139864554 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
24 4794 7625474569996138 ctai_autogen/timestamp da3870ebc94b983e
|
||||
24 4794 7625474569996138 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
24 4794 7625474569996138 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
24 4794 7625474569996138 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
4810 36766 7625474571150491 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
|
||||
4801 37111 7625474571055429 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
4808 40725 7625474571132656 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30048396fe45a344
|
||||
4806 41571 7625474571107605 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 8c93ec888621ab29
|
||||
4803 41877 7625474571072820 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 10a736dff755075d
|
||||
4813 42020 7625474571179709 CMakeFiles/ctai.dir/src/main.cpp.obj 92e0a8f8e94288b6
|
||||
4798 45423 7625474571037930 CMakeFiles/ctai.dir/src/ctai.cpp.obj 3f2a5605474560c6
|
||||
4795 47269 7625474570995387 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj e347e488b3f7bdf
|
||||
17 11583 7625475185530325 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
18 4841 7625478530652534 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 4841 7625478530652534 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 4841 7625478530652534 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 4841 7625478530652534 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
17 239 7625478841512641 ctai_autogen/timestamp da3870ebc94b983e
|
||||
17 239 7625478841512641 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
17 239 7625478841512641 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
17 239 7625478841512641 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
252 33576 7625478843877696 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 10751092db60a69f
|
||||
243 34318 7625478843787328 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj d5f943362cb1824b
|
||||
250 37994 7625478843849731 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 30048396fe45a344
|
||||
247 38775 7625478843822117 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 8c93ec888621ab29
|
||||
255 39165 7625478843906091 CMakeFiles/ctai.dir/src/main.cpp.obj 92e0a8f8e94288b6
|
||||
245 39311 7625478843804724 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 10a736dff755075d
|
||||
241 43061 7625478843769929 CMakeFiles/ctai.dir/src/ctai.cpp.obj 3f2a5605474560c6
|
||||
239 44879 7625478843735039 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj e347e488b3f7bdf
|
||||
44879 56547 7625479290133919 F:/SourceCode/ctai/release/ctai.exe b586bbd8722aa11a
|
||||
5015 48054 7626049232746701 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj e347e488b3f7bdf
|
||||
302 529 7626054468283748 qrc_res.cpp 9794859fafc6825
|
||||
11761 27811 7625226074178138 CMakeFiles/ctai.dir/src/sui.cpp.obj 62600b24a26e62c1
|
||||
19 257 7626058147644632 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
26211 37172 7626058409564173 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759
|
||||
7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7
|
||||
5030 42198 7626049232889373 CMakeFiles/ctai.dir/src/main.cpp.obj 92e0a8f8e94288b6
|
||||
12469 38682 7625226081243748 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 1394551dd9df8e22
|
||||
18 284 7626059905775969 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 284 7626059905775969 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 284 7626059905775969 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 284 7626059905775969 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
284 21680 7626059908425901 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj af29f93889df7bb3
|
||||
286 21947 7626059908443292 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 73164b1399d3eab1
|
||||
21947 32564 7626060125050139 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759
|
||||
18 288 7626061353726438 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 288 7626061353726438 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 288 7626061353726438 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 288 7626061353726438 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
289 23339 7626061356423946 CMakeFiles/ctai.dir/src/ctai_history_textedit.cpp.obj af29f93889df7bb3
|
||||
23339 34080 7626061586927035 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759
|
||||
19 282 7626066857285238 ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 282 7626066857285238 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
19 282 7626066857285238 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
19 282 7626066857285238 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
283 25120 7626066859921594 CMakeFiles/ctai.dir/src/ctai_history_widget.cpp.obj 73164b1399d3eab1
|
||||
25121 36364 7626067108304791 F:/SourceCode/ctai/release/ctai.exe 4d63155bd63d4759
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -437,9 +437,15 @@
|
||||
null
|
||||
],
|
||||
[
|
||||
"F:/SourceCode/ctai/src/ctai_msg_table.h",
|
||||
"F:/SourceCode/ctai/src/ctai_history_textedit.h",
|
||||
"MU",
|
||||
"UVLADIE3JM/moc_ctai_msg_table.cpp",
|
||||
"UVLADIE3JM/moc_ctai_history_textedit.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"F:/SourceCode/ctai/src/ctai_history_widget.h",
|
||||
"MU",
|
||||
"UVLADIE3JM/moc_ctai_history_widget.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
@ -484,12 +490,6 @@
|
||||
"UVLADIE3JM/moc_ctai_tabwidget.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
"F:/SourceCode/ctai/src/ctai_textedit.h",
|
||||
"MU",
|
||||
"UVLADIE3JM/moc_ctai_textedit.cpp",
|
||||
null
|
||||
],
|
||||
[ "F:/SourceCode/ctai/src/sui.h", "MU", "UVLADIE3JM/moc_sui.cpp", null ],
|
||||
[
|
||||
"F:/SourceCode/ctai/src/sui_base.h",
|
||||
@ -603,7 +603,8 @@
|
||||
[ "F:/SourceCode/ctai/src/ctai.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_cmd.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_curl.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_msg_table.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_history_textedit.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_history_widget.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_parsestring.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_session_info.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_session_setting.cpp", "MU", null ],
|
||||
@ -611,7 +612,6 @@
|
||||
[ "F:/SourceCode/ctai/src/ctai_switch_control.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_tabbar.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_tabwidget.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/ctai_textedit.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/main.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/sui.cpp", "MU", null ],
|
||||
[ "F:/SourceCode/ctai/src/sui_base_ex.cpp", "MU", null ],
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -314,6 +314,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxpfunctional.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxptype_traits.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qyieldcpu.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QAbstractTextDocumentLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QAction \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QActionGroup \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QClipboard \
|
||||
@ -479,7 +480,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTabBar \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTabWidget \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTableWidget \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextBrowser \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextEdit \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QVBoxLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QWidget \
|
||||
@ -526,7 +526,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtableview.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtablewidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtabwidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextbrowser.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextedit.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgets-config.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgetsexports.h \
|
||||
@ -1086,7 +1085,8 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
|
||||
F:/SourceCode/ctai/src/ctai_base.h \
|
||||
F:/SourceCode/ctai/src/ctai_cmd.h \
|
||||
F:/SourceCode/ctai/src/ctai_curl.h \
|
||||
F:/SourceCode/ctai/src/ctai_msg_table.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_textedit.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_widget.h \
|
||||
F:/SourceCode/ctai/src/ctai_parsestring.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_info.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_setting.h \
|
||||
@ -1094,7 +1094,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
|
||||
F:/SourceCode/ctai/src/ctai_switch_control.h \
|
||||
F:/SourceCode/ctai/src/ctai_tabbar.h \
|
||||
F:/SourceCode/ctai/src/ctai_tabwidget.h \
|
||||
F:/SourceCode/ctai/src/ctai_textedit.h \
|
||||
F:/SourceCode/ctai/src/sui.h \
|
||||
F:/SourceCode/ctai/src/sui_base.h \
|
||||
F:/SourceCode/ctai/src/sui_base_ex.h \
|
||||
|
||||
@ -307,12 +307,14 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxpfunctional.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxptype_traits.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qyieldcpu.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QAbstractTextDocumentLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QClipboard \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QMouseEvent \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QPainter \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QPainterPath \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QTextDocument \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QTransform \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qabstracttextdocumentlayout.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qaction.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qbitmap.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qbrush.h \
|
||||
@ -322,8 +324,10 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qevent.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qeventpoint.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qfont.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qfontdatabase.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qfontinfo.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qfontmetrics.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qglyphrun.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qguiapplication.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qguiapplication_platform.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qicon.h \
|
||||
@ -341,6 +345,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qpixmap.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qpointingdevice.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qpolygon.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qrawfont.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qregion.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qrgb.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qrgba64.h \
|
||||
@ -349,6 +354,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qtextcursor.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qtextdocument.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qtextformat.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qtextlayout.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qtextoption.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qtgui-config.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/qtguiexports.h \
|
||||
@ -374,7 +380,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QScrollBar \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QSplitter \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTableWidget \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextBrowser \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextEdit \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QVBoxLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QWidget \
|
||||
@ -414,7 +419,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtableview.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtablewidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtabwidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextbrowser.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextedit.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgets-config.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgetsexports.h \
|
||||
@ -964,12 +968,12 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
|
||||
F:/SourceCode/ctai/3rdparty/md4qt/md4qt/visitor.h \
|
||||
F:/SourceCode/ctai/src/ctai_base.h \
|
||||
F:/SourceCode/ctai/src/ctai_curl.h \
|
||||
F:/SourceCode/ctai/src/ctai_msg_table.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_textedit.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_widget.h \
|
||||
F:/SourceCode/ctai/src/ctai_parsestring.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_info.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_setting.h \
|
||||
F:/SourceCode/ctai/src/ctai_switch_control.h \
|
||||
F:/SourceCode/ctai/src/ctai_textedit.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/easy.h \
|
||||
|
||||
@ -308,6 +308,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxpfunctional.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxptype_traits.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qyieldcpu.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QAbstractTextDocumentLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QClipboard \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QMouseEvent \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QPaintEvent \
|
||||
@ -387,7 +388,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTabBar \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTabWidget \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTableWidget \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextBrowser \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextEdit \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QVBoxLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QWidget \
|
||||
@ -429,7 +429,6 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtableview.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtablewidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtabwidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextbrowser.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextedit.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgets-config.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgetsexports.h \
|
||||
@ -980,14 +979,14 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
|
||||
F:/SourceCode/ctai/src/ctai_base.h \
|
||||
F:/SourceCode/ctai/src/ctai_cmd.h \
|
||||
F:/SourceCode/ctai/src/ctai_curl.h \
|
||||
F:/SourceCode/ctai/src/ctai_msg_table.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_textedit.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_widget.h \
|
||||
F:/SourceCode/ctai/src/ctai_parsestring.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_info.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_setting.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_widget.h \
|
||||
F:/SourceCode/ctai/src/ctai_switch_control.h \
|
||||
F:/SourceCode/ctai/src/ctai_tabbar.h \
|
||||
F:/SourceCode/ctai/src/ctai_textedit.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/easy.h \
|
||||
|
||||
@ -313,6 +313,7 @@ ctai_autogen/timestamp: \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxpfunctional.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qxptype_traits.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/qyieldcpu.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QAbstractTextDocumentLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QAction \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QActionGroup \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QClipboard \
|
||||
@ -478,7 +479,6 @@ ctai_autogen/timestamp: \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTabBar \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTabWidget \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTableWidget \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextBrowser \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QTextEdit \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QVBoxLayout \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QWidget \
|
||||
@ -525,7 +525,6 @@ ctai_autogen/timestamp: \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtableview.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtablewidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtabwidget.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextbrowser.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtextedit.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgets-config.h \
|
||||
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qtwidgetsexports.h \
|
||||
@ -1402,8 +1401,10 @@ ctai_autogen/timestamp: \
|
||||
F:/SourceCode/ctai/src/ctai_cmd.h \
|
||||
F:/SourceCode/ctai/src/ctai_curl.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_curl.h \
|
||||
F:/SourceCode/ctai/src/ctai_msg_table.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_msg_table.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_textedit.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_history_textedit.h \
|
||||
F:/SourceCode/ctai/src/ctai_history_widget.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_history_widget.h \
|
||||
F:/SourceCode/ctai/src/ctai_parsestring.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_parsestring.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_info.cpp \
|
||||
@ -1418,8 +1419,6 @@ ctai_autogen/timestamp: \
|
||||
F:/SourceCode/ctai/src/ctai_tabbar.h \
|
||||
F:/SourceCode/ctai/src/ctai_tabwidget.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_tabwidget.h \
|
||||
F:/SourceCode/ctai/src/ctai_textedit.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_textedit.h \
|
||||
F:/SourceCode/ctai/src/main.cpp \
|
||||
F:/SourceCode/ctai/src/sui.cpp \
|
||||
F:/SourceCode/ctai/src/sui.h \
|
||||
|
||||
@ -2,14 +2,14 @@
|
||||
#include "UVLADIE3JM/moc_ctai.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_cmd.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_curl.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_msg_table.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_history_textedit.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_history_widget.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_session_info.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_session_setting.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_session_widget.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_switch_control.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_tabbar.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_tabwidget.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_textedit.cpp"
|
||||
#include "UVLADIE3JM/moc_sui.cpp"
|
||||
#include "UVLADIE3JM/moc_sui_sys_style.cpp"
|
||||
#include "UVLADIE3JM/moc_sui_title.cpp"
|
||||
|
||||
@ -65542,78 +65542,79 @@ static const unsigned char qt_resource_data[] = {
|
||||
0x3b,0xd,0xa,0x20,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x2d,0x74,0x6f,0x70,0x3a,
|
||||
0x31,0x70,0x78,0x3b,0xd,0xa,0x7d,0xd,0xa,
|
||||
// light_style.qss
|
||||
0x0,0x0,0x4,0x52,
|
||||
0x0,0x0,0x4,0x6a,
|
||||
0x0,
|
||||
0x0,0x11,0x30,0x78,0xda,0xb5,0x57,0x5b,0x6b,0x1b,0x47,0x14,0x7e,0xb6,0xc1,0xff,
|
||||
0x61,0x88,0x1e,0x72,0x41,0xaa,0x2e,0x96,0xd3,0xb0,0xa1,0xf,0x52,0x2d,0x97,0x82,
|
||||
0x63,0x5b,0x44,0x69,0x1e,0x4a,0x59,0x46,0x3b,0xa3,0xd5,0xe0,0xdd,0x9d,0x65,0x77,
|
||||
0x36,0x92,0x2b,0x2,0x21,0xa5,0x98,0x42,0x8a,0x9e,0xd2,0x24,0x25,0xf,0xa6,0x14,
|
||||
0xf2,0x94,0x36,0xd0,0x87,0x12,0x9a,0x9f,0x53,0xa9,0xf1,0xbf,0xe8,0xcc,0xec,0x45,
|
||||
0xbb,0xda,0x8b,0xe2,0x44,0x9e,0x45,0x62,0x75,0xe6,0xcc,0xf9,0xbe,0x33,0xe7,0xcc,
|
||||
0x99,0xa3,0xee,0x7d,0x82,0x74,0xcc,0x4a,0xa6,0x3a,0x92,0x2f,0x93,0xad,0x4d,0x0,
|
||||
0xfa,0xd4,0x41,0xd8,0xa9,0x38,0x10,0x11,0xcf,0x55,0xea,0x35,0x7b,0x7c,0x5b,0x8a,
|
||||
0xa1,0x76,0xac,0x3b,0xd4,0xb3,0x50,0x45,0xa3,0x6,0x75,0x14,0xe0,0xe8,0x7d,0x78,
|
||||
0xad,0xd1,0xdc,0x2e,0x87,0x9f,0xfa,0x75,0xa9,0xe9,0x4f,0x97,0x1a,0x7b,0x4d,0xfe,
|
||||
0x70,0xc9,0xc3,0xad,0xcd,0xad,0xcd,0xee,0x91,0xe7,0xe,0xdb,0x1e,0x63,0xd4,0x2a,
|
||||
0xf5,0x99,0xa5,0x52,0x5b,0xa2,0x11,0x13,0xea,0x58,0xf1,0x1c,0xe3,0x9a,0x52,0x75,
|
||||
0xb0,0x5b,0x25,0xa6,0x5e,0x75,0x3d,0xf2,0x99,0x6d,0xe9,0xd2,0x18,0xe7,0xc5,0x86,
|
||||
0xca,0xf6,0x8e,0x4f,0x62,0x88,0x89,0x3e,0x64,0xd1,0x4f,0x9f,0xa9,0x62,0x51,0xb,
|
||||
0x47,0x30,0xfb,0xb0,0x8f,0x8d,0x49,0x8c,0x46,0xb3,0x26,0x9e,0x2c,0x1a,0xa6,0x6a,
|
||||
0xe1,0x91,0xaa,0xd,0x21,0x53,0x39,0xa3,0xf2,0xf2,0xa4,0x60,0xe9,0x62,0x26,0x15,
|
||||
0x32,0x27,0x11,0x36,0xe4,0xe4,0xd6,0xa6,0xc4,0xb,0xa8,0x86,0xfb,0x15,0x72,0xf5,
|
||||
0x7f,0x3f,0x4c,0xef,0x80,0xe7,0x62,0x27,0x62,0x50,0xce,0x99,0x77,0x47,0x84,0x69,
|
||||
0x43,0xd5,0xa4,0x1c,0x6c,0x85,0xce,0xb1,0x45,0x47,0x6,0xe6,0x61,0xcc,0xd3,0xf3,
|
||||
0x6c,0x83,0x42,0xa4,0xe,0x88,0x91,0xab,0xa2,0x19,0x18,0xf2,0x6f,0x6a,0x31,0x3c,
|
||||
0xce,0xe7,0x84,0x2d,0x44,0x2c,0x5d,0x25,0xd6,0x80,0xc6,0x3c,0x6f,0xec,0x24,0x3d,
|
||||
0x8f,0x7e,0xa7,0xc2,0xd4,0xfd,0x92,0x9a,0x7d,0xda,0xa6,0xe3,0x49,0x5a,0x3d,0xb9,
|
||||
0x51,0xca,0x90,0x3e,0xc0,0x8e,0x50,0xb3,0x21,0x12,0xa0,0x15,0x3,0xf,0x98,0x52,
|
||||
0xf7,0x2d,0x87,0x32,0x46,0xed,0x40,0x14,0xe4,0x0,0x71,0x99,0x9f,0xd9,0x80,0xc7,
|
||||
0x6,0x24,0xb3,0x57,0x1,0xa5,0x3d,0x39,0x6e,0x87,0xc4,0x80,0x64,0x6,0x7c,0xec,
|
||||
0xc5,0x5a,0x45,0x21,0xc,0x9b,0xc5,0x16,0xb2,0xd7,0xf8,0xac,0x3f,0x6a,0xa5,0x8b,
|
||||
0xd,0xac,0x31,0x8c,0xa,0x17,0xe7,0xac,0x1d,0x50,0xcd,0x73,0x3f,0x0,0x55,0xae,
|
||||
0xb5,0x70,0x7,0x11,0x71,0xf2,0x4d,0x57,0x57,0x87,0x18,0x22,0x7f,0x9b,0x97,0x62,
|
||||
0x97,0xc,0x5d,0x46,0xd,0x48,0x52,0xea,0xf1,0xac,0x89,0x9b,0xe5,0xc,0xa9,0x73,
|
||||
0x32,0xb9,0xb0,0xa1,0xe5,0xd3,0xb6,0xe0,0xa8,0x12,0x8d,0x4e,0xd2,0x49,0x5,0xa,
|
||||
0x2d,0x82,0x58,0x99,0xb9,0xb2,0xa8,0x33,0x3c,0xa1,0xab,0x8,0xf,0xa0,0x67,0xb0,
|
||||
0xc0,0xba,0x28,0x3b,0x57,0xae,0xa7,0x8f,0xab,0xcf,0x0,0x5,0x85,0x65,0x4d,0xd0,
|
||||
0xe2,0x3c,0x89,0x23,0x24,0xec,0x62,0x86,0x8b,0xb1,0x35,0x6a,0x9f,0x5c,0xa,0xb8,
|
||||
0x30,0x5c,0xc,0xed,0xc2,0x7,0xf8,0x52,0xa0,0x85,0xe1,0x62,0x68,0x13,0x5b,0xde,
|
||||
0xba,0xa1,0x43,0xbb,0xc5,0xc8,0x3,0x6a,0xa0,0x72,0x5a,0xcc,0xe8,0x31,0xb6,0xdc,
|
||||
0xb,0x53,0x4a,0xa5,0x74,0xbb,0x77,0xa0,0xee,0x1e,0xde,0x3f,0xd8,0x3f,0x6c,0xed,
|
||||
0x4e,0xa2,0x6b,0xae,0x91,0xbc,0xe6,0x72,0xe,0x61,0xa1,0x77,0x88,0x8e,0x2c,0x51,
|
||||
0xe5,0xf3,0xbc,0x13,0xc0,0x77,0x3b,0xbd,0xbb,0x6b,0x5,0xe5,0xb7,0x24,0xe3,0x75,
|
||||
0xb8,0x8,0xf3,0xde,0xd1,0x6e,0xab,0xd7,0x59,0x2b,0xaa,0x67,0x23,0x98,0x7f,0x6c,
|
||||
0x4,0x68,0xab,0x7d,0x78,0xaf,0xb7,0x56,0x4c,0xd8,0xa7,0x1e,0x4b,0x40,0xf6,0x60,
|
||||
0xdf,0xc0,0xdf,0x10,0x3c,0x2a,0x7d,0xd5,0xba,0xd3,0x51,0xbf,0x3e,0xd8,0x3b,0x54,
|
||||
0x7b,0xad,0xf6,0x7e,0x67,0xb9,0xa0,0x8b,0xaa,0xbc,0x91,0x91,0x24,0xb5,0xda,0xe7,
|
||||
0xb7,0x50,0x33,0x2a,0xcd,0xd5,0x1b,0x95,0xd4,0x98,0x9f,0x9d,0x9e,0xff,0xf6,0x7c,
|
||||
0x7e,0x36,0x9d,0x9f,0xfd,0x3d,0x7b,0x37,0x5,0xf3,0x97,0x8f,0x66,0x6f,0xa6,0xb3,
|
||||
0x27,0xbf,0xc8,0xb7,0xdf,0x5f,0x89,0xb7,0xd9,0x8f,0x7f,0x9d,0x3f,0x7b,0x5d,0xc9,
|
||||
0x1a,0x37,0xaa,0xc2,0x6c,0x64,0x64,0x36,0x7d,0x7e,0x7e,0xca,0xbf,0x1f,0xcf,0x9f,
|
||||
0xbe,0x99,0x3d,0x7a,0x37,0xfb,0xe3,0xd7,0x7f,0xdf,0xfe,0xb4,0xa4,0xf3,0xfe,0x87,
|
||||
0x27,0xf3,0x17,0x7f,0xa,0x61,0x37,0x68,0x11,0x79,0x53,0xa6,0x32,0xc2,0xc,0x59,
|
||||
0xa,0x32,0xdc,0x18,0xc8,0x21,0x36,0xd0,0x84,0x8e,0x4e,0xac,0xd8,0xa5,0x1c,0x4a,
|
||||
0x1c,0xb9,0xed,0x49,0x59,0x9f,0xf2,0x68,0x99,0x4b,0xc2,0xd8,0x1d,0x9f,0xd1,0x37,
|
||||
0x99,0xc4,0x2a,0xa7,0x64,0x70,0x9c,0x92,0x69,0x6,0x75,0x5,0xdb,0x8d,0x4,0xfc,
|
||||
0xb6,0x34,0xbb,0x91,0x84,0xf7,0x7b,0xb4,0x8d,0x64,0xe7,0x7b,0x2b,0xd6,0x51,0xa4,
|
||||
0x29,0x4c,0x56,0xa5,0xa,0xd7,0x89,0x12,0x25,0x55,0x2c,0xc2,0x8c,0xc,0x9b,0xc5,
|
||||
0x28,0x27,0x73,0xbb,0x45,0xee,0xe1,0x6a,0x48,0x38,0x5e,0x33,0xe4,0xb7,0xfc,0x43,
|
||||
0x4c,0xf2,0x3d,0x3e,0x72,0xa8,0x8d,0x1d,0x76,0xf2,0xc5,0xd5,0x50,0x72,0xf5,0x3b,
|
||||
0x20,0xeb,0xe0,0x5,0x28,0x81,0x4b,0x23,0xc5,0x61,0x79,0xa7,0xf1,0xe1,0x9c,0xd4,
|
||||
0x60,0xc1,0x7a,0xb9,0x85,0x19,0xb7,0x8a,0x80,0xd4,0xfb,0x34,0xe8,0xcc,0x9c,0xf4,
|
||||
0xfb,0xce,0xac,0xc3,0x91,0x33,0x23,0x89,0x7c,0x5c,0x8f,0x9d,0x81,0x6e,0x73,0x3f,
|
||||
0x5d,0x8c,0x32,0xf1,0xf3,0xe6,0x7c,0x6,0xc1,0xec,0x85,0x38,0x64,0x15,0xca,0xee,
|
||||
0x1d,0x7e,0xb1,0xff,0xf7,0xf8,0xed,0xec,0xf4,0x1f,0xbf,0x54,0xbe,0x9f,0xbe,0x9c,
|
||||
0xfd,0xfc,0x34,0xb7,0x2a,0x4a,0xfd,0x20,0x65,0x56,0xf4,0x14,0x51,0x90,0x0,0x67,
|
||||
0x0,0x5c,0x6a,0x10,0x4,0x4a,0x9d,0x9a,0x78,0x12,0xf3,0x61,0xf5,0x0,0x37,0xc3,
|
||||
0xd8,0x85,0xf4,0x15,0xb0,0x13,0xdb,0x3f,0x81,0x1c,0xfc,0xc3,0x98,0xa4,0xd5,0x80,
|
||||
0xb8,0x9c,0xa2,0x97,0x6c,0x80,0x66,0x34,0xe1,0x17,0x33,0x5,0x34,0x22,0x49,0xe8,
|
||||
0xc0,0xb6,0x1c,0x19,0xa0,0xb1,0x7b,0x29,0xdf,0xfb,0x1d,0xf1,0x2c,0x59,0xac,0xc9,
|
||||
0x91,0x65,0x31,0x8,0x62,0x81,0xc1,0x8e,0x1c,0x4b,0x6b,0x5d,0x6c,0x43,0x7,0xf2,
|
||||
0xc3,0x18,0x2e,0xc,0x72,0x1d,0xd4,0x17,0x8e,0x67,0x98,0x8a,0xef,0x7c,0xe8,0xbf,
|
||||
0xd8,0xaf,0x7a,0x2d,0xbd,0xc9,0xfc,0xef,0xaa,0x16,0x47,0xf0,0x4f,0x17,0xa8,0x2f,
|
||||
0x42,0x14,0x61,0xde,0x5c,0xda,0x54,0x3f,0xf,0xc3,0xc8,0xfd,0xf,0x76,0xfd,0x90,
|
||||
0x1e,
|
||||
0x0,0x11,0x77,0x78,0xda,0xb5,0x57,0x5b,0x6b,0x1b,0x47,0x14,0x7e,0xb6,0xc1,0xff,
|
||||
0x61,0x88,0x1e,0x12,0x7,0x29,0xba,0x58,0x4e,0xd2,0xd,0x7d,0x90,0x6a,0xb9,0x14,
|
||||
0x1c,0xdb,0x22,0x4a,0xf3,0x50,0xca,0x32,0xda,0x1d,0xad,0x6,0xef,0xee,0x2c,0xbb,
|
||||
0xb3,0x91,0x5c,0x11,0x8,0x29,0xc5,0x14,0x52,0xf4,0x94,0x36,0x2d,0x79,0x30,0xa5,
|
||||
0xd0,0xa7,0xb6,0x81,0x3e,0x94,0xd0,0xfc,0x9c,0x4a,0x8d,0xff,0x45,0xe7,0xb2,0xbb,
|
||||
0xda,0xab,0x14,0xa7,0xf2,0xac,0x65,0x56,0x67,0x66,0xce,0xf7,0x9d,0x39,0x97,0x39,
|
||||
0xea,0x3e,0xc2,0xba,0x81,0x68,0xc9,0x52,0x47,0xe2,0x65,0xb2,0xb5,0x9,0x40,0x9f,
|
||||
0xb8,0x3a,0x72,0x2b,0x2e,0xd4,0xb1,0xef,0x29,0xf5,0x9a,0x33,0xbe,0x27,0xc4,0x50,
|
||||
0x3b,0x31,0x5c,0xe2,0xdb,0x7a,0x45,0x23,0x26,0x71,0x15,0xe0,0x1a,0x7d,0x78,0xa3,
|
||||
0xd1,0xdc,0x29,0x87,0x9f,0xfa,0xb6,0x58,0x29,0xa7,0x4b,0x8d,0xfd,0x26,0x7b,0x98,
|
||||
0xe4,0xc9,0xd6,0xe6,0xd6,0x66,0xf7,0xd8,0xf7,0x86,0x6d,0x9f,0x52,0x62,0x97,0xfa,
|
||||
0xd4,0x56,0x89,0x23,0xd0,0xb0,0x5,0xd,0xa4,0xf8,0xae,0x79,0x43,0xa9,0xba,0xc8,
|
||||
0xab,0x62,0xcb,0xa8,0x7a,0x3e,0xbe,0xe5,0xd8,0x86,0x50,0xc6,0x78,0xd1,0xa1,0xb2,
|
||||
0xb3,0x2b,0x49,0xc,0x11,0x36,0x86,0x34,0xfa,0x2a,0x99,0x2a,0x36,0xb1,0x51,0x4,
|
||||
0x73,0x0,0xfb,0xc8,0x9c,0xc4,0x68,0x34,0x6b,0xfc,0xc9,0xa3,0x61,0xa9,0x36,0x1a,
|
||||
0xa9,0xda,0x10,0x52,0x95,0x31,0x2a,0xa7,0x27,0x39,0x4b,0xf,0x51,0xb1,0x20,0x77,
|
||||
0x52,0x47,0xa6,0x98,0xdc,0xda,0x14,0x78,0x1,0xd5,0xf0,0xbc,0x42,0xae,0xf2,0xfb,
|
||||
0x93,0xec,0x9,0xf8,0x1e,0x72,0x23,0x6,0xe5,0x82,0x79,0x6f,0x84,0xa9,0x36,0x54,
|
||||
0x2d,0xc2,0xc0,0x56,0xac,0x39,0xb1,0xc9,0xc8,0x44,0xcc,0x8d,0x45,0xeb,0x7c,0xc7,
|
||||
0x24,0x50,0x57,0x7,0xd8,0x2c,0x5c,0xa2,0x99,0x8,0xb2,0xff,0xc4,0xa6,0x68,0x5c,
|
||||
0xcc,0x9,0xd9,0x3a,0xb6,0xd,0x15,0xdb,0x3,0x12,0xb3,0xbc,0xb1,0x9b,0xb4,0x3c,
|
||||
0xfa,0x9e,0x71,0x53,0xf7,0x13,0x62,0xf5,0x49,0x9b,0x8c,0x27,0xd9,0xe5,0xc9,0x83,
|
||||
0x52,0x86,0xe4,0x31,0x72,0xf9,0x32,0x7,0xea,0x1c,0xb4,0x62,0xa2,0x1,0x55,0xea,
|
||||
0x52,0x73,0x28,0xa3,0xc4,0x9,0x44,0xd2,0xc7,0x3d,0xd8,0x37,0x91,0xc,0x6d,0xc0,
|
||||
0x9c,0x3,0x16,0xd1,0x10,0xc4,0xec,0x9d,0xb2,0xfc,0xab,0xdd,0xfa,0x68,0x3b,0x15,
|
||||
0xdc,0xa,0x28,0xed,0x8b,0x71,0x2f,0xe4,0xd,0x4,0x71,0x20,0xa9,0xc5,0x54,0x2b,
|
||||
0xa,0xa6,0xc8,0x8a,0x0,0x72,0x55,0x14,0x6c,0x92,0x66,0x7d,0xd8,0x56,0xf,0x99,
|
||||
0x48,0xa3,0x48,0x5f,0xba,0xbb,0x68,0xf3,0x80,0x68,0xbe,0xf7,0x1e,0xb8,0x3c,0x91,
|
||||
0xb0,0x8d,0x3a,0x3a,0xe6,0xc5,0xc1,0xf2,0xc,0x75,0x88,0xa0,0x2e,0x3d,0x91,0x72,
|
||||
0x6f,0xd2,0xbb,0x39,0x65,0x22,0xc5,0x89,0x5,0x56,0x5c,0x2d,0xf6,0x28,0x71,0x4f,
|
||||
0x27,0x97,0x56,0x94,0x4e,0xc8,0x5,0x47,0x15,0x6b,0x64,0x92,0x8d,0x3b,0xb0,0x54,
|
||||
0x23,0x88,0x55,0xa2,0x6b,0x8b,0x52,0xc4,0x62,0xbe,0xaa,0xa3,0x1,0xf4,0x4d,0x1a,
|
||||
0x68,0xe7,0x95,0xe9,0xda,0x76,0x36,0xa3,0x25,0x3,0x91,0x1f,0xd9,0x54,0x95,0x93,
|
||||
0xde,0xa9,0xc7,0x7c,0xc0,0xa7,0xd7,0x49,0x8f,0xa7,0x25,0xcf,0x44,0xae,0x17,0x51,
|
||||
0xb4,0x9c,0x9f,0x46,0x9c,0xd3,0x2b,0x1,0xe7,0x8a,0x97,0x43,0x7b,0xf0,0x31,0xba,
|
||||
0x12,0x68,0xae,0x78,0x39,0xb4,0x85,0x6c,0x7f,0xdd,0xd0,0xa1,0xde,0xe5,0xc8,0x3,
|
||||
0x62,0xea,0xe5,0xac,0x98,0x92,0x13,0x64,0x7b,0x97,0xa6,0x94,0x9,0xfb,0x76,0xef,
|
||||
0x50,0xdd,0x3b,0x7a,0x74,0x78,0x70,0xd4,0xda,0x9b,0x44,0xb7,0x65,0x23,0x79,0x5b,
|
||||
0x16,0x24,0xea,0x52,0xeb,0x74,0x32,0xb2,0xf9,0x65,0x51,0x64,0x1d,0x7,0x7e,0xd0,
|
||||
0xe9,0x3d,0x58,0x2b,0x28,0xbb,0x6c,0x29,0x2b,0xe7,0xcb,0x30,0x1f,0x1e,0xef,0xb5,
|
||||
0x7a,0x9d,0xb5,0xa2,0xfa,0x8e,0xe,0x8b,0xd3,0x86,0x83,0xb6,0xda,0x47,0xf,0x7b,
|
||||
0x6b,0xc5,0x84,0x7d,0xe2,0xd3,0x4,0xa4,0x28,0xd5,0x9f,0x63,0x34,0x2a,0x7d,0xda,
|
||||
0xba,0xdf,0x51,0x3f,0x3b,0xdc,0x3f,0x52,0x7b,0xad,0xf6,0x41,0x27,0x5d,0xf5,0x79,
|
||||
0xe5,0xde,0xc8,0x9,0x92,0x5a,0xed,0xce,0x5d,0xbd,0x19,0x95,0xef,0xea,0xcd,0x4a,
|
||||
0x66,0xcc,0xcf,0xcf,0x2e,0x7e,0x7e,0x39,0x3f,0x9f,0xce,0xcf,0xff,0x9a,0xbd,0x9d,
|
||||
0x82,0xf9,0xab,0xa7,0xb3,0xd7,0xd3,0xd9,0xf3,0xef,0xc5,0xdb,0x2f,0xbf,0xf2,0xb7,
|
||||
0xd9,0x37,0x7f,0x5e,0xfc,0xf0,0x5b,0x25,0x6f,0xdc,0xac,0x72,0xb5,0x91,0x92,0xd9,
|
||||
0xf4,0xe5,0xc5,0x19,0xfb,0xff,0x6c,0xfe,0xe2,0xf5,0xec,0xe9,0xdb,0xd9,0xef,0x3f,
|
||||
0xfd,0xf3,0xe6,0xdb,0xd4,0x9a,0x77,0x5f,0x3f,0x9f,0xff,0xf8,0x7,0x17,0x76,0x83,
|
||||
0x4e,0x93,0xf5,0x76,0x2a,0xc5,0xd4,0x14,0xa5,0x20,0xc7,0x8c,0x81,0x18,0xfc,0x0,
|
||||
0x2d,0xe8,0x1a,0xd8,0x8e,0xdd,0xed,0xa1,0xc4,0x15,0xc7,0x9e,0x94,0xf5,0x9,0xf3,
|
||||
0x96,0x95,0x12,0xc6,0x5a,0x85,0x9c,0xf6,0xcb,0xc2,0x76,0x39,0x23,0x83,0xe3,0x8c,
|
||||
0x4c,0x33,0x89,0xc7,0xd9,0x6e,0x24,0xe0,0x77,0x84,0xda,0x8d,0x24,0xbc,0x6c,0xf5,
|
||||
0x36,0x92,0xd,0xf4,0xdd,0x58,0x63,0x92,0xa5,0x30,0x59,0x15,0x2a,0x6c,0x4d,0x14,
|
||||
0x28,0x99,0x62,0x11,0x46,0x64,0xd8,0x73,0x46,0x31,0x59,0xd8,0x74,0x32,0xb,0x57,
|
||||
0x43,0xc2,0xf1,0x9a,0x21,0xbf,0x60,0x1f,0x6c,0xe1,0xaf,0xd0,0xb1,0x4b,0x1c,0xe4,
|
||||
0xd2,0xd3,0x8f,0xaf,0x87,0x92,0xeb,0x5f,0x2,0x51,0x7,0x2f,0x41,0x9,0x5c,0x19,
|
||||
0x29,0x6,0xcb,0xba,0x91,0xf7,0xe7,0xa4,0x6,0x1b,0xd6,0xcb,0x2d,0x8c,0xb8,0x55,
|
||||
0x4,0xc4,0xba,0xff,0x7,0x9d,0x1b,0x93,0xb2,0x3b,0xcd,0x4b,0x8e,0x82,0x19,0x41,
|
||||
0xe4,0xc3,0x5a,0xf5,0x1c,0x74,0x87,0xd9,0xe9,0x21,0x3d,0x17,0xbf,0x68,0x4e,0x32,
|
||||
0x8,0x66,0x2f,0xc5,0x21,0xaf,0x50,0x76,0xef,0xb3,0x8b,0xfd,0xdf,0x67,0x6f,0x66,
|
||||
0x67,0x7f,0xcb,0x52,0xf9,0x6e,0xfa,0x6a,0xf6,0xdd,0x8b,0xc2,0xaa,0x28,0xd6,0x7,
|
||||
0x21,0xb3,0xa2,0xa7,0x88,0x9c,0x4,0x18,0x3,0xe0,0x11,0x13,0xeb,0xa0,0xd4,0xa9,
|
||||
0xf1,0x27,0x31,0x1f,0x56,0xf,0x70,0x3b,0xf4,0x5d,0x48,0x5f,0x1,0xbb,0xb1,0xf3,
|
||||
0xe3,0xc8,0xc1,0xf,0x91,0x49,0x76,0x19,0xe0,0x97,0x53,0xf4,0x92,0xf,0xd0,0x8c,
|
||||
0x26,0x64,0x31,0x53,0x40,0x23,0x92,0x84,0x6,0xec,0x88,0x91,0x3,0x1a,0xbb,0x97,
|
||||
0x8a,0xad,0xdf,0xe5,0x4f,0x4a,0x63,0x4d,0x8c,0x3c,0x8d,0x81,0x13,0x97,0x28,0xec,
|
||||
0x88,0x91,0xda,0xeb,0x21,0x7,0xba,0x90,0x25,0x63,0xb8,0x31,0x88,0x75,0x50,0x5f,
|
||||
0x18,0x9e,0xa3,0x2a,0x7e,0xf2,0xa1,0xfd,0xfc,0xbc,0xea,0xb5,0xec,0x21,0xb3,0x5f,
|
||||
0xbd,0x5a,0x1c,0x41,0x66,0x17,0xa8,0x2f,0x5c,0x14,0x61,0xde,0x4e,0x1d,0xaa,0x8c,
|
||||
0xc3,0xd0,0x73,0xff,0x1,0x78,0xf3,0xa6,0x84,
|
||||
// message_style.css
|
||||
0x0,0x0,0x2,0xeb,
|
||||
0x0,
|
||||
@ -65953,11 +65954,11 @@ static const unsigned char qt_resource_struct[] = {
|
||||
0x0,0x0,0x5,0x46,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xf,0xed,0x9e,
|
||||
0x0,0x0,0x1,0x93,0xf6,0xae,0x2c,0x84,
|
||||
// :/res/qss/message_style.css
|
||||
0x0,0x0,0x5,0x8c,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0xf,0xfc,0xc2,
|
||||
0x0,0x0,0x5,0x8c,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0xf,0xfc,0xda,
|
||||
0x0,0x0,0x1,0x95,0x41,0xc6,0x3,0x63,
|
||||
// :/res/qss/light_style.qss
|
||||
0x0,0x0,0x5,0x68,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0xf,0xf8,0x6c,
|
||||
0x0,0x0,0x1,0x95,0x52,0x2a,0xf5,0x16,
|
||||
0x0,0x0,0x1,0x95,0x55,0xdc,0x26,0xb3,
|
||||
// :/res/img/btn
|
||||
0x0,0x0,0x0,0xb4,0x0,0x2,0x0,0x0,0x0,0x1d,0x0,0x0,0x0,0x11,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
|
||||
BIN
release/ctai.exe
BIN
release/ctai.exe
Binary file not shown.
@ -40,23 +40,24 @@ QPushButton:hover{
|
||||
padding-top:1px;
|
||||
}
|
||||
|
||||
QListWidget
|
||||
QTableWidget
|
||||
{
|
||||
color: rgba(27,27,27,0.9);
|
||||
background: #FFFFFF; border: none;
|
||||
}
|
||||
QListWidget::item
|
||||
QTableWidget::item
|
||||
{
|
||||
background: #FFFFFF;
|
||||
}
|
||||
QListWidget::item:hover
|
||||
QTableWidget::item:hover
|
||||
{
|
||||
background: #FFFFFF;
|
||||
}
|
||||
QListWidget::item:selected
|
||||
QTableWidget::item:selected
|
||||
{
|
||||
background: #FFFFFF;
|
||||
}
|
||||
QListWidget::item:focus
|
||||
QTableWidget::item:focus
|
||||
{
|
||||
background: #FFFFFF;
|
||||
}
|
||||
@ -76,7 +77,8 @@ QPushButton#m_msg_header_ico{
|
||||
background-color: #FFFFFF;
|
||||
image:url(":/res/img/btn/default_header.png");
|
||||
}
|
||||
QPushButton#m_msg_del{
|
||||
QPushButton#m_msg_user_del,
|
||||
QPushButton#m_msg_system_del{
|
||||
border:none;
|
||||
background-color: #FFFFFF;
|
||||
image:url(":/res/img/btn/btn_info_delete.png");
|
||||
|
||||
325
src/ctai_history_textedit.cpp
Normal file
325
src/ctai_history_textedit.cpp
Normal file
@ -0,0 +1,325 @@
|
||||
#include "ctai_history_textedit.h"
|
||||
|
||||
ctai_history_textedit::ctai_history_textedit(msg_type msg_type_mode)
|
||||
{
|
||||
init_layout(msg_type_mode);
|
||||
}
|
||||
ctai_history_textedit::~ctai_history_textedit()
|
||||
{
|
||||
}
|
||||
void ctai_history_textedit::init_layout(msg_type msg_type_mode)
|
||||
{
|
||||
// 主垂直布局
|
||||
mainLayout = new QVBoxLayout();
|
||||
// 1. 消息头垂直
|
||||
headerLayout = new QVBoxLayout();
|
||||
// 消息头水平
|
||||
header_info_Layout = new QHBoxLayout();
|
||||
m_msg_header_ico = new QPushButton();
|
||||
m_msg_header_ico->setObjectName("m_msg_header_ico");
|
||||
m_msg_header = new QLineEdit();
|
||||
m_msg_header->setObjectName("m_msg_header");
|
||||
m_msg_header->setReadOnly(true);
|
||||
header_info_Layout->addWidget(m_msg_header_ico);
|
||||
header_info_Layout->addWidget(m_msg_header);
|
||||
header_info_Layout->setContentsMargins(0, 0, 0, 0);
|
||||
headerLayout->addLayout(header_info_Layout);
|
||||
|
||||
if (msg_type_mode == SYSTEM)
|
||||
{
|
||||
// 2.tokens功能按钮
|
||||
m_msg_tokens = new QPushButton(QIcon(":res/img/btn/btn_info_tokens.png"), NULL);
|
||||
m_msg_tokens->setObjectName("m_msg_tokens");
|
||||
header_info_Layout->addWidget(m_msg_tokens);
|
||||
// 3.消息功能区
|
||||
|
||||
header_opts_Layout = new QHBoxLayout();
|
||||
m_msg_system_del = new QPushButton();
|
||||
m_msg_copy = new QPushButton();
|
||||
m_msg_save = new QPushButton();
|
||||
m_msg_menu = new QPushButton();
|
||||
m_msg_fold = new QPushButton();
|
||||
m_msg_system_del->setObjectName("m_msg_system_del");
|
||||
m_msg_copy->setObjectName("m_msg_copy");
|
||||
m_msg_save->setObjectName("m_msg_save");
|
||||
m_msg_menu->setObjectName("m_msg_menu");
|
||||
m_msg_fold->setObjectName("m_msg_fold");
|
||||
m_msg_fold->setIcon(QIcon(":res/img/btn/btn_info_up.png"));
|
||||
header_opts_Layout->addItem(sparcer_item);
|
||||
header_opts_Layout->addWidget(m_msg_system_del);
|
||||
header_opts_Layout->addWidget(m_msg_copy);
|
||||
header_opts_Layout->addWidget(m_msg_save);
|
||||
header_opts_Layout->addWidget(m_msg_menu);
|
||||
header_opts_Layout->addWidget(m_msg_fold);
|
||||
header_opts_Layout->addItem(sparcer_item);
|
||||
header_opts_Layout->setContentsMargins(0, 0, 0, 0);
|
||||
headerLayout->addLayout(header_opts_Layout);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_msg_user_del = new QPushButton();
|
||||
m_msg_user_del->setObjectName("m_msg_user_del");
|
||||
header_info_Layout->addWidget(m_msg_user_del);
|
||||
}
|
||||
|
||||
// 4. 历史信息QTextEdit
|
||||
historyLayout = new QVBoxLayout();
|
||||
m_msg_history = new QTextEdit();
|
||||
m_msg_history->setAcceptRichText(true);
|
||||
m_msg_history->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
m_msg_history->setObjectName("m_msg_history");
|
||||
m_msg_history->setReadOnly(true);
|
||||
historyLayout->addWidget(m_msg_history);
|
||||
historyLayout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
// 5.分割线区域
|
||||
QFrame *hLine = new QFrame;
|
||||
hLine->setFrameShape(QFrame::HLine); // 关键属性
|
||||
hLine->setFrameShadow(QFrame::Sunken); // 凹陷效果
|
||||
hLine->setLineWidth(2); // 线宽
|
||||
// 组合布局
|
||||
mainLayout->addLayout(headerLayout);
|
||||
mainLayout->addLayout(historyLayout);
|
||||
mainLayout->addWidget(hLine);
|
||||
mainLayout->addItem(bottom_spacer);
|
||||
mainLayout->setStretch(0, 1);
|
||||
mainLayout->setSpacing(1);
|
||||
mainLayout->setContentsMargins(0, 0, 0, 0);
|
||||
setLayout(mainLayout);
|
||||
connect_signals(msg_type_mode);
|
||||
}
|
||||
void ctai_history_textedit::connect_signals(msg_type msg_type_mode)
|
||||
{
|
||||
if (msg_type_mode == SYSTEM)
|
||||
{
|
||||
connect(m_msg_system_del, SIGNAL(clicked()), this, SLOT(on_delete_clicked()));
|
||||
connect(m_msg_copy, SIGNAL(clicked()), this, SLOT(on_copy_clicked()));
|
||||
connect(m_msg_save, SIGNAL(clicked()), this, SLOT(on_save_clicked()));
|
||||
connect(m_msg_menu, SIGNAL(clicked()), this, SLOT(on_menu_clicked()));
|
||||
connect(m_msg_fold, SIGNAL(clicked()), this, SLOT(on_fold_clicked()));
|
||||
connect(m_msg_tokens, SIGNAL(clicked()), this, SLOT(on_tokens_clicked()));
|
||||
}
|
||||
else
|
||||
{
|
||||
connect(m_msg_user_del, SIGNAL(clicked()), this, SLOT(on_delete_clicked()));
|
||||
}
|
||||
connect(m_msg_history->document(), SIGNAL(contentsChanged()), this, SLOT(on_text_height()));
|
||||
}
|
||||
void ctai_history_textedit::on_text_height()
|
||||
{
|
||||
// 强制立即更新文档布局
|
||||
m_msg_history->document()->adjustSize();
|
||||
|
||||
// 获取文档尺寸前确保布局已更新
|
||||
m_msg_history->document()->setTextWidth(m_msg_history->viewport()->width());
|
||||
|
||||
// 获取文档尺寸
|
||||
QSize docSize = m_msg_history->document()->size().toSize();
|
||||
qDebug() << "文档宽度:" << m_msg_history->document()->textWidth();
|
||||
qDebug() << "文档实际高度:" << docSize.height();
|
||||
|
||||
if (docSize.height() == 0)
|
||||
{
|
||||
// 如果高度仍为0,使用替代方法计算
|
||||
int textHeight = m_msg_history->document()->documentLayout()->documentSize().height();
|
||||
docSize.setHeight(textHeight);
|
||||
}
|
||||
|
||||
// 计算实际需要的高度 (包含边距和视口边框)
|
||||
int newHeight = docSize.height() +
|
||||
m_msg_history->document()->documentMargin() * 2 +
|
||||
m_msg_history->frameWidth() * 2;
|
||||
// 保存折叠前的高度
|
||||
m_original_height = newHeight;
|
||||
// 设置新的固定高度
|
||||
if (m_msg_history->height() != newHeight) {
|
||||
m_msg_history->setFixedHeight(newHeight);
|
||||
emit height_changed(); // 发送高度变化信号
|
||||
|
||||
// 强制更新几何布局
|
||||
updateGeometry();
|
||||
|
||||
// 通知父容器重新计算所有项的大小
|
||||
if (QWidget *parent = parentWidget()) {
|
||||
QEvent e(QEvent::LayoutRequest);
|
||||
QApplication::sendEvent(parent, &e);
|
||||
}
|
||||
}
|
||||
}
|
||||
// tokens按钮实现功能的槽函数
|
||||
void ctai_history_textedit::on_tokens_clicked()
|
||||
{
|
||||
if (!m_msg_tokens_menu)
|
||||
{
|
||||
m_msg_tokens_menu = new QMenu();
|
||||
}
|
||||
if (!m_menu_prompt_tokens)
|
||||
{
|
||||
m_menu_prompt_tokens = new QAction(m_tokens_data.prompt_tokens);
|
||||
}
|
||||
if (!m_menu_completion_tokens)
|
||||
{
|
||||
m_menu_completion_tokens = new QAction(m_tokens_data.completion_tokens);
|
||||
}
|
||||
if (!m_menu_total_tokens)
|
||||
{
|
||||
m_menu_total_tokens = new QAction(m_tokens_data.total_tokens);
|
||||
}
|
||||
if (!m_menu_cache_hit_tokens)
|
||||
{
|
||||
m_menu_cache_hit_tokens = new QAction(m_tokens_data.cache_hit_tokens);
|
||||
}
|
||||
if (!m_menu_cache_miss_tokens)
|
||||
{
|
||||
m_menu_cache_miss_tokens = new QAction(m_tokens_data.cache_miss_tokens);
|
||||
}
|
||||
m_msg_tokens_menu->addAction(m_menu_prompt_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_completion_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_cache_hit_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_cache_miss_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_total_tokens);
|
||||
m_msg_tokens_menu->exec(QCursor::pos());
|
||||
}
|
||||
// save按钮实现功能的槽函数
|
||||
void ctai_history_textedit::on_save_clicked()
|
||||
{
|
||||
if (!m_msg_tokens_menu)
|
||||
{
|
||||
m_msg_tokens_menu = new QMenu();
|
||||
}
|
||||
if (!m_msg_save_text)
|
||||
{
|
||||
m_msg_save_text = new QAction(tr("保存为文本"));
|
||||
connect(m_msg_save_text, SIGNAL(triggered(bool)), this, SLOT(on_save_text()));
|
||||
}
|
||||
if (!m_msg_save_html)
|
||||
{
|
||||
m_msg_save_html = new QAction(tr("保存为HTML"));
|
||||
connect(m_msg_save_html, SIGNAL(triggered(bool)), this, SLOT(on_save_html()));
|
||||
}
|
||||
if (!m_msg_save_markdown)
|
||||
{
|
||||
m_msg_save_markdown = new QAction(tr("保存为Markdown"));
|
||||
connect(m_msg_save_markdown, SIGNAL(triggered(bool)), this, SLOT(on_save_markdown()));
|
||||
}
|
||||
if (!m_msg_save_pdf)
|
||||
{
|
||||
m_msg_save_pdf = new QAction(tr("保存为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_tokens_menu->addAction(m_msg_save_html);
|
||||
m_msg_tokens_menu->addAction(m_msg_save_markdown);
|
||||
m_msg_tokens_menu->addAction(m_msg_save_pdf);
|
||||
m_msg_tokens_menu->exec(QCursor::pos());
|
||||
}
|
||||
// 实现折叠功能的槽函数
|
||||
void ctai_history_textedit::on_fold_clicked()
|
||||
{
|
||||
m_is_folded = !m_is_folded;
|
||||
|
||||
m_msg_history->setFixedHeight(m_is_folded ? 0 : m_original_height);
|
||||
|
||||
m_msg_fold->setIcon(QIcon(m_is_folded ? ":res/img/btn/btn_info_down.png" : ":res/img/btn/btn_info_up.png"));
|
||||
updateGeometry();
|
||||
}
|
||||
void ctai_history_textedit::add_message(const model_data &message)
|
||||
{
|
||||
QString disp_data;
|
||||
QString disp_header;
|
||||
if (message.msg_type_mode == SYSTEM)
|
||||
{
|
||||
disp_header = "ID:" + QSL(message.postback_send_id) + " | FP:" + QSL(message.postback_system_fingerprint) + " | 时间:" + QSL(message.postback_time);
|
||||
m_tokens_data.prompt_tokens = "提示词消耗tokens:" + QSN(message.postback_prompt_tokens);
|
||||
m_tokens_data.completion_tokens = "生成信息消耗:tokens:" + QSN(message.postback_completion_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_miss_tokens = "提示词缓存未命中消耗tokens:" + QSN(message.postback_prompt_cache_miss_tokens);
|
||||
disp_data = QSL(message.postback_model_data);
|
||||
m_msg_sned_id = QSL(message.postback_send_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
disp_header = "ID:" + QSL(message.send_user_id) + " | Time:" + QSL(message.send_user_time);
|
||||
disp_data = QSL(message.send_user_data);
|
||||
m_msg_sned_id = QSL(message.send_user_id);
|
||||
}
|
||||
m_msg_header->setText(disp_header);
|
||||
m_msg_history->setText(disp_data);
|
||||
}
|
||||
void ctai_history_textedit::on_delete_clicked()
|
||||
{
|
||||
// 发送删除请求信号
|
||||
emit delete_requested(m_msg_sned_id);
|
||||
}
|
||||
|
||||
void ctai_history_textedit::on_copy_clicked()
|
||||
{
|
||||
// 获取文本并复制到剪贴板
|
||||
QString text = m_msg_history->toPlainText();
|
||||
QClipboard *clipboard = QApplication::clipboard();
|
||||
clipboard->setText(text);
|
||||
}
|
||||
|
||||
void ctai_history_textedit::on_save_text()
|
||||
{
|
||||
QString fileName = QFileDialog::getSaveFileName(this,
|
||||
tr("保存消息"), "",
|
||||
tr("文本文件 (*.txt);;所有文件 (*)"));
|
||||
|
||||
if (fileName.isEmpty())
|
||||
return;
|
||||
|
||||
QFile file(fileName);
|
||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
{
|
||||
QMessageBox::warning(this, tr("保存失败"),
|
||||
tr("无法保存文件 %1:\n%2").arg(fileName).arg(file.errorString()));
|
||||
return;
|
||||
}
|
||||
|
||||
QTextStream out(&file);
|
||||
out << m_msg_header->text() << "\n\n";
|
||||
out << m_msg_history->toPlainText() << "\n\n";
|
||||
out << m_msg_tokens->text();
|
||||
}
|
||||
void ctai_history_textedit::on_save_html()
|
||||
{
|
||||
}
|
||||
|
||||
void ctai_history_textedit::on_save_markdown()
|
||||
{
|
||||
}
|
||||
|
||||
void ctai_history_textedit::on_save_pdf()
|
||||
{
|
||||
}
|
||||
|
||||
void ctai_history_textedit::on_menu_clicked()
|
||||
{
|
||||
QMenu menu(this);
|
||||
|
||||
// 添加菜单项
|
||||
QAction *actCopy = menu.addAction(tr("复制"));
|
||||
QAction *actSave = menu.addAction(tr("保存"));
|
||||
menu.addSeparator();
|
||||
QAction *actDelete = menu.addAction(tr("删除"));
|
||||
|
||||
// 显示菜单
|
||||
QPoint pos = m_msg_menu->mapToGlobal(m_msg_menu->rect().bottomRight());
|
||||
QAction *act = menu.exec(pos);
|
||||
|
||||
// 处理菜单选择
|
||||
if (act == actCopy)
|
||||
{
|
||||
on_copy_clicked();
|
||||
}
|
||||
else if (act == actSave)
|
||||
{
|
||||
on_save_clicked();
|
||||
}
|
||||
else if (act == actDelete)
|
||||
{
|
||||
on_delete_clicked();
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
// ctaitextedit.h
|
||||
#ifndef CTAI_TEXTEDIT_H
|
||||
#define CTAI_TEXTEDIT_H
|
||||
#ifndef CTAI_HISTORY_TEXTEDIT_H
|
||||
#define CTAI_HISTORY_TEXTEDIT_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QVBoxLayout>
|
||||
@ -15,10 +15,9 @@
|
||||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QMenu>
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QTextBrowser>
|
||||
#include <QAbstractTextDocumentLayout>
|
||||
#include "ctai_base.h"
|
||||
#include "ctai_parsestring.h"
|
||||
|
||||
@ -34,14 +33,13 @@ typedef struct tokens_args{
|
||||
QString cache_miss_tokens={};
|
||||
}tokens_data;
|
||||
|
||||
class ctai_textedit : public QWidget
|
||||
class ctai_history_textedit : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ctai_textedit(msg_type msg_type_mode);
|
||||
~ctai_textedit();
|
||||
ctai_history_textedit(msg_type msg_type_mode);
|
||||
~ctai_history_textedit();
|
||||
void add_message(const model_data &message);
|
||||
int get_content_height() const;
|
||||
private slots:
|
||||
void on_delete_clicked(); // 删除按钮
|
||||
void on_copy_clicked(); // 复制按钮
|
||||
@ -49,9 +47,14 @@ private slots:
|
||||
void on_menu_clicked(); // 菜单按钮
|
||||
void on_fold_clicked(); // 折叠按钮
|
||||
void on_tokens_clicked(); // tokens按钮
|
||||
void on_save_text(); // 保存文本
|
||||
void on_save_html(); // 保存html
|
||||
void on_save_markdown(); // 保存markdown
|
||||
void on_save_pdf(); // 保存pdf
|
||||
void on_text_height();
|
||||
signals:
|
||||
void delete_requested(); // 请求删除此消息
|
||||
|
||||
void delete_requested(QString); // 请求删除此消息
|
||||
void height_changed(); // 新增高度变化信号
|
||||
private:
|
||||
void init_layout(msg_type msg_type_mode);
|
||||
void connect_signals(msg_type msg_type_mode); // 连接信号和槽
|
||||
@ -63,24 +66,35 @@ private:
|
||||
QVBoxLayout *historyLayout={};
|
||||
QHBoxLayout *header_opts_Layout={};
|
||||
|
||||
QPushButton *m_msg_header_ico={};
|
||||
QLineEdit *m_msg_header={};
|
||||
QTextEdit *m_msg_history={};
|
||||
QPushButton *m_msg_del={};
|
||||
QPushButton *m_msg_copy={};
|
||||
QPushButton *m_msg_save={};
|
||||
QPushButton *m_msg_menu={};
|
||||
QPushButton *m_msg_fold={}; // 折叠按钮
|
||||
QPushButton *m_msg_tokens={};
|
||||
QPushButton *m_msg_header_ico={};
|
||||
QLineEdit *m_msg_header={};
|
||||
QTextEdit *m_msg_history={};
|
||||
QPushButton *m_msg_user_del={};
|
||||
QPushButton *m_msg_system_del={};
|
||||
QPushButton *m_msg_copy={};
|
||||
QPushButton *m_msg_save={};
|
||||
QPushButton *m_msg_menu={};
|
||||
QPushButton *m_msg_fold={}; // 折叠按钮
|
||||
QPushButton *m_msg_tokens={};
|
||||
//tokens消耗显示
|
||||
QMenu *m_msg_tokens_menu={};
|
||||
QAction *m_menu_prompt_tokens={};
|
||||
QAction *m_menu_completion_tokens={};
|
||||
QAction *m_menu_total_tokens={};
|
||||
QAction *m_menu_cache_hit_tokens={};
|
||||
QAction *m_menu_cache_miss_tokens={};
|
||||
//save保存菜单
|
||||
QMenu *m_msg_save_menu={};
|
||||
QAction *m_msg_save_text={};
|
||||
QAction *m_msg_save_html={};
|
||||
QAction *m_msg_save_markdown={};
|
||||
QAction *m_msg_save_pdf={};
|
||||
|
||||
bool m_is_folded = false; // 折叠状态
|
||||
tokens_data m_tokens_data;
|
||||
QString m_msg_sned_id={};
|
||||
QSpacerItem *bottom_spacer = new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding);
|
||||
int m_original_height = 0; // 保存展开时的原始高度
|
||||
};
|
||||
|
||||
#endif // CTAI_TEXTEDIT_H
|
||||
#endif // ctai_history_textedit_H
|
||||
162
src/ctai_history_widget.cpp
Normal file
162
src/ctai_history_widget.cpp
Normal file
@ -0,0 +1,162 @@
|
||||
#include "ctai_history_widget.h"
|
||||
|
||||
ctai_history_widget::ctai_history_widget(QWidget *parent)
|
||||
: QTableWidget(parent)
|
||||
{
|
||||
setup_table();
|
||||
}
|
||||
|
||||
void ctai_history_widget::setup_table()
|
||||
{
|
||||
setColumnCount(1);
|
||||
setShowGrid(false);
|
||||
verticalHeader()->hide();
|
||||
horizontalHeader()->hide();
|
||||
horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
|
||||
verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||
// 设置自动滚动属性
|
||||
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||
}
|
||||
|
||||
ctai_history_widget::~ctai_history_widget()
|
||||
{
|
||||
for (auto &pair : message_map_)
|
||||
{
|
||||
delete pair.second.first; // 删除model_data
|
||||
}
|
||||
clear();
|
||||
}
|
||||
|
||||
void ctai_history_widget::add_message(const model_data &message)
|
||||
{
|
||||
QString send_id;
|
||||
if (message.msg_type_mode == SYSTEM)
|
||||
{
|
||||
send_id = QSL(message.postback_send_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
send_id = QSL(message.send_user_id);
|
||||
}
|
||||
|
||||
auto it = message_map_.find(send_id);
|
||||
if (it != message_map_.end() && it->second.first->msg_type_mode == SYSTEM)
|
||||
{
|
||||
// 更新现有消息
|
||||
model_data *stored_data = it->second.first;
|
||||
int row = it->second.second;
|
||||
|
||||
if (!QSL(message.postback_model_data).isEmpty() ||
|
||||
!QSL(message.postback_model_data).contains("[]"))
|
||||
{
|
||||
stored_data->postback_model_data += message.postback_model_data;
|
||||
}
|
||||
else
|
||||
{
|
||||
update_stored_data(stored_data, message);
|
||||
}
|
||||
|
||||
// 更新显示
|
||||
QWidget *widget = cellWidget(row, 0);
|
||||
if (auto message_widget = qobject_cast<ctai_history_textedit *>(widget))
|
||||
{
|
||||
message_widget->add_message(*stored_data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 添加新消息
|
||||
model_data *new_data = new model_data(message);
|
||||
ctai_history_textedit *message_widget = new ctai_history_textedit(new_data->msg_type_mode);
|
||||
message_widget->add_message(*new_data);
|
||||
// 创建新行
|
||||
int row = rowCount();
|
||||
insertRow(row);
|
||||
setCellWidget(row, 0, message_widget);
|
||||
// 存储到map中
|
||||
message_map_[send_id] = std::make_pair(new_data, row);
|
||||
// 连接删除信号
|
||||
connect(message_widget, SIGNAL(delete_requested(QString)), this, SLOT(on_msg_remove(QString)));
|
||||
// 连接高度变化信号
|
||||
connect(message_widget, &ctai_history_textedit::height_changed,
|
||||
this, &ctai_history_widget::on_widget_height_changed);
|
||||
// 滚动到新消息
|
||||
scrollToItem(item(row, 0));
|
||||
}
|
||||
// 立即滚动到底部
|
||||
scrollToBottom();
|
||||
}
|
||||
void ctai_history_widget::on_widget_height_changed()
|
||||
{
|
||||
// 暂时阻止滚动条更新以避免闪烁
|
||||
setUpdatesEnabled(false);
|
||||
|
||||
// 保存当前滚动位置
|
||||
QScrollBar* vscroll = verticalScrollBar();
|
||||
bool was_at_bottom = vscroll->value() >= vscroll->maximum() - 10;
|
||||
|
||||
// 重新计算所有行高
|
||||
for (int row = 0; row < rowCount(); ++row) {
|
||||
resizeRowToContents(row);
|
||||
}
|
||||
|
||||
// 恢复滚动条位置
|
||||
if (was_at_bottom) {
|
||||
scrollToBottom();
|
||||
}
|
||||
|
||||
// 重新启用更新
|
||||
setUpdatesEnabled(true);
|
||||
}
|
||||
void ctai_history_widget::on_msg_remove(QString send_id)
|
||||
{
|
||||
int row = this->rowCount();
|
||||
if (row >= 0)
|
||||
{
|
||||
// 从map中删除
|
||||
qDebug() << "remove_row:" << row;
|
||||
auto it = message_map_.find(send_id);
|
||||
if (it != message_map_.end())
|
||||
{
|
||||
qDebug() << "remove it:" << it->second.first;
|
||||
delete it->second.first; // 删除model_data
|
||||
message_map_.erase(it);
|
||||
}
|
||||
qDebug() << "current_row:" << this->currentRow();
|
||||
// 移除并删除该项
|
||||
removeRow(this->currentRow());
|
||||
}
|
||||
}
|
||||
|
||||
ctai_history_textedit *ctai_history_widget::current_message() const
|
||||
{
|
||||
int current_row = currentRow();
|
||||
if (current_row >= 0)
|
||||
{
|
||||
return qobject_cast<ctai_history_textedit *>(cellWidget(current_row, 0));
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void ctai_history_widget::update_stored_data(model_data *stored_data, const model_data &message)
|
||||
{
|
||||
stored_data->api_key = message.api_key;
|
||||
stored_data->api_url = message.api_url;
|
||||
stored_data->postback_completion_tokens = message.postback_completion_tokens;
|
||||
stored_data->postback_finish_reason = message.postback_finish_reason;
|
||||
stored_data->postback_prompt_cache_hit_tokens = message.postback_prompt_cache_hit_tokens;
|
||||
stored_data->postback_prompt_cache_miss_tokens = message.postback_prompt_cache_miss_tokens;
|
||||
stored_data->postback_prompt_tokens = message.postback_prompt_tokens;
|
||||
stored_data->postback_send_id = message.postback_send_id;
|
||||
stored_data->postback_server_model = message.postback_server_model;
|
||||
stored_data->postback_stream_mode = message.postback_stream_mode;
|
||||
stored_data->postback_system_fingerprint = message.postback_system_fingerprint;
|
||||
stored_data->postback_time = message.postback_time;
|
||||
stored_data->postback_total_tokens = message.postback_total_tokens;
|
||||
stored_data->request_body = message.request_body;
|
||||
stored_data->send_accept_header = message.send_accept_header;
|
||||
stored_data->send_content_header = message.send_content_header;
|
||||
stored_data->send_user_data = message.send_user_data;
|
||||
stored_data->user_model = message.user_model;
|
||||
// postback_model_data 不在这里赋值
|
||||
}
|
||||
29
src/ctai_history_widget.h
Normal file
29
src/ctai_history_widget.h
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef CTAI_HISTORY_WIDGET_H
|
||||
#define CTAI_HISTORY_WIDGET_H
|
||||
|
||||
#include <QTableWidget>
|
||||
#include <QScrollBar>
|
||||
#include <QHeaderView>
|
||||
|
||||
#include <map>
|
||||
#include "ctai_history_textedit.h"
|
||||
class ctai_history_widget : public QTableWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ctai_history_widget(QWidget *parent = nullptr);
|
||||
~ctai_history_widget();
|
||||
|
||||
void add_message(const model_data &message);
|
||||
ctai_history_textedit *current_message() const;
|
||||
private:
|
||||
std::map<QString, std::pair<model_data*, int>> message_map_; // int存储行号
|
||||
QString last_send_id_;
|
||||
|
||||
void setup_table();
|
||||
void update_stored_data(model_data* stored_data, const model_data& message);
|
||||
private slots:
|
||||
void on_msg_remove(QString send_id);
|
||||
void on_widget_height_changed(); // 新增槽函数处理高度变化
|
||||
};
|
||||
#endif
|
||||
@ -1,187 +0,0 @@
|
||||
#include "ctai_msg_table.h"
|
||||
|
||||
ctai_msg_table::ctai_msg_table(QWidget *parent)
|
||||
: QListWidget(parent)
|
||||
{
|
||||
setSpacing(1);
|
||||
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // 禁用水平滚动条
|
||||
}
|
||||
|
||||
ctai_msg_table::~ctai_msg_table()
|
||||
{
|
||||
for (auto &pair : message_map_)
|
||||
{
|
||||
delete pair.second.first; // 删除model_data
|
||||
}
|
||||
clear(); // 清理QListWidget的内容
|
||||
}
|
||||
|
||||
void ctai_msg_table::add_message(const model_data &message)
|
||||
{
|
||||
QString send_id;
|
||||
if(message.msg_type_mode==SYSTEM)
|
||||
{
|
||||
send_id= QSL(message.postback_send_id);
|
||||
|
||||
}else{
|
||||
send_id= QSL(message.send_user_id);
|
||||
}
|
||||
// 检查是否存在相同send_id的消息
|
||||
auto it = message_map_.find(send_id);
|
||||
if (it != message_map_.end()&& it->second.first->msg_type_mode==SYSTEM)
|
||||
{
|
||||
// 存在相同send_id,追加内容
|
||||
model_data *stored_data = it->second.first;
|
||||
QListWidgetItem *stored_item = it->second.second;
|
||||
|
||||
// 更新存储的数据
|
||||
if (!QSL(message.postback_model_data).isEmpty()||!QSL(message.postback_model_data).contains("[]"))
|
||||
{
|
||||
stored_data->postback_model_data += message.postback_model_data;
|
||||
}else{
|
||||
update_stored_data(stored_data, message);
|
||||
}
|
||||
// 更新显示
|
||||
ctai_textedit *message_widget = qobject_cast<ctai_textedit *>(itemWidget(stored_item));
|
||||
if (message_widget)
|
||||
{
|
||||
message_widget->add_message(*stored_data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 新消息
|
||||
model_data *new_data = new model_data(message);
|
||||
|
||||
// 创建新的消息显示widget
|
||||
ctai_textedit *message_widget = new ctai_textedit(new_data->msg_type_mode);
|
||||
message_widget->add_message(*new_data);
|
||||
// 创建并添加到列表
|
||||
QListWidgetItem *item = create_message_item(message_widget);
|
||||
addItem(item);
|
||||
setItemWidget(item, message_widget);
|
||||
|
||||
// 存储到map中
|
||||
message_map_[send_id] = std::make_pair(new_data, item);
|
||||
|
||||
// 连接删除信号
|
||||
connect(message_widget, &ctai_textedit::delete_requested,
|
||||
[this, item, send_id]()
|
||||
{
|
||||
int row = this->row(item);
|
||||
if (row >= 0)
|
||||
{
|
||||
// 从map中删除
|
||||
auto it = message_map_.find(send_id);
|
||||
if (it != message_map_.end())
|
||||
{
|
||||
delete it->second.first; // 删除model_data
|
||||
message_map_.erase(it);
|
||||
}
|
||||
// 移除并删除该项
|
||||
QListWidgetItem *removed_item = takeItem(row);
|
||||
delete removed_item;
|
||||
}
|
||||
});
|
||||
|
||||
update_items_width();
|
||||
|
||||
// 自动滚动到最新消息
|
||||
scrollToItem(item);
|
||||
}
|
||||
|
||||
last_send_id_ = send_id;
|
||||
}
|
||||
|
||||
QListWidgetItem *ctai_msg_table::create_message_item(ctai_textedit *message_widget)
|
||||
{
|
||||
QListWidgetItem *item = new QListWidgetItem();
|
||||
|
||||
// 设置初始大小,宽度使用视口宽度
|
||||
int width = viewport()->width();
|
||||
if (verticalScrollBar() && verticalScrollBar()->isVisible())
|
||||
{
|
||||
width -= verticalScrollBar()->width();
|
||||
}
|
||||
message_widget->setFixedWidth(width);
|
||||
item->setSizeHint(QSize(width, 200));
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
ctai_textedit *ctai_msg_table::current_message() const
|
||||
{
|
||||
QListWidgetItem *current_item = currentItem();
|
||||
if (current_item)
|
||||
{
|
||||
return qobject_cast<ctai_textedit *>(itemWidget(current_item));
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void ctai_msg_table::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
QListWidget::resizeEvent(event);
|
||||
update_items_width();
|
||||
}
|
||||
|
||||
void ctai_msg_table::showEvent(QShowEvent *event)
|
||||
{
|
||||
QListWidget::showEvent(event);
|
||||
update_items_width();
|
||||
}
|
||||
|
||||
void ctai_msg_table::update_items_width()
|
||||
{
|
||||
// 获取视口宽度
|
||||
int viewport_width = viewport()->width();
|
||||
|
||||
// 考虑边距和滚动条
|
||||
if (verticalScrollBar() && verticalScrollBar()->isVisible())
|
||||
{
|
||||
viewport_width -= verticalScrollBar()->width();
|
||||
}
|
||||
|
||||
// 减去左右边距
|
||||
viewport_width -= 2; // 或者根据实际边距调整
|
||||
|
||||
// 更新所有项的宽度
|
||||
for (int i = 0; i < count(); ++i)
|
||||
{
|
||||
QListWidgetItem *item = this->item(i);
|
||||
if (item)
|
||||
{
|
||||
ctai_textedit *widget = qobject_cast<ctai_textedit *>(itemWidget(item));
|
||||
if (widget)
|
||||
{
|
||||
widget->setFixedWidth(viewport_width);
|
||||
// 确保 item 的大小提示与 widget 宽度一致
|
||||
item->setSizeHint(QSize(viewport_width, item->sizeHint().height()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ctai_msg_table::update_stored_data(model_data* stored_data, const model_data& message)
|
||||
{
|
||||
stored_data->api_key = message.api_key;
|
||||
stored_data->api_url = message.api_url;
|
||||
stored_data->postback_completion_tokens = message.postback_completion_tokens;
|
||||
stored_data->postback_finish_reason = message.postback_finish_reason;
|
||||
stored_data->postback_prompt_cache_hit_tokens = message.postback_prompt_cache_hit_tokens;
|
||||
stored_data->postback_prompt_cache_miss_tokens = message.postback_prompt_cache_miss_tokens;
|
||||
stored_data->postback_prompt_tokens = message.postback_prompt_tokens;
|
||||
stored_data->postback_send_id = message.postback_send_id;
|
||||
stored_data->postback_server_model = message.postback_server_model;
|
||||
stored_data->postback_stream_mode = message.postback_stream_mode;
|
||||
stored_data->postback_system_fingerprint = message.postback_system_fingerprint;
|
||||
stored_data->postback_time = message.postback_time;
|
||||
stored_data->postback_total_tokens = message.postback_total_tokens;
|
||||
stored_data->request_body = message.request_body;
|
||||
stored_data->send_accept_header = message.send_accept_header;
|
||||
stored_data->send_content_header = message.send_content_header;
|
||||
stored_data->send_user_data = message.send_user_data;
|
||||
stored_data->user_model = message.user_model;
|
||||
// postback_model_data 不在这里赋值
|
||||
}
|
||||
@ -1,33 +0,0 @@
|
||||
#ifndef CTAI_MSG_TABLE_H
|
||||
#define CTAI_MSG_TABLE_H
|
||||
|
||||
#include <QListWidget>
|
||||
#include <QScrollBar>
|
||||
#include <map>
|
||||
#include "ctai_textedit.h"
|
||||
|
||||
class ctai_msg_table : public QListWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ctai_msg_table(QWidget *parent = nullptr);
|
||||
~ctai_msg_table();
|
||||
|
||||
// 添加一条新消息
|
||||
void add_message(const model_data &message);
|
||||
// 获取当前选中的消息widget
|
||||
ctai_textedit *current_message() const;
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
void showEvent(QShowEvent *event) override;
|
||||
private:
|
||||
// 存储消息的map
|
||||
std::map<QString, std::pair<model_data*, QListWidgetItem*>> message_map_;
|
||||
QString last_send_id_; // 存储上一次的send_id
|
||||
// 创建新的消息项
|
||||
QListWidgetItem *create_message_item(ctai_textedit *message_widget);
|
||||
void update_stored_data(model_data* stored_data, const model_data& message);
|
||||
void update_items_width();
|
||||
};
|
||||
#endif
|
||||
@ -40,7 +40,7 @@ void ctai_session_info::init_sub_layout()
|
||||
height: 0px;
|
||||
}
|
||||
)");
|
||||
m_session_systeam_info = new ctai_msg_table();
|
||||
m_session_systeam_info = new ctai_history_widget();
|
||||
m_session_systeam_info_layout = new QVBoxLayout();
|
||||
m_session_systeam_info_layout->addWidget(m_session_systeam_info);
|
||||
m_session_systeam_info_layout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
#include <QFile>
|
||||
#include "ctai_switch_control.h"
|
||||
#include "ctai_curl.h"
|
||||
#include "ctai_msg_table.h"
|
||||
#include "ctai_history_widget.h"
|
||||
class ctai_session_info : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -34,7 +34,7 @@ private:
|
||||
|
||||
//信息输出窗口布局
|
||||
QListWidget *m_list_widget;
|
||||
ctai_msg_table *m_session_systeam_info;
|
||||
ctai_history_widget *m_session_systeam_info;
|
||||
QVBoxLayout *m_session_systeam_info_layout;
|
||||
//用户询问信息布局
|
||||
QTextEdit *m_session_user_edit_info;
|
||||
|
||||
@ -1,244 +0,0 @@
|
||||
#include "ctai_textedit.h"
|
||||
|
||||
ctai_textedit::ctai_textedit(msg_type msg_type_mode)
|
||||
{
|
||||
init_layout(msg_type_mode);
|
||||
}
|
||||
ctai_textedit::~ctai_textedit()
|
||||
{
|
||||
}
|
||||
void ctai_textedit::init_layout(msg_type msg_type_mode)
|
||||
{
|
||||
// 主垂直布局
|
||||
mainLayout = new QVBoxLayout();
|
||||
// 1. 消息头垂直
|
||||
headerLayout = new QVBoxLayout();
|
||||
// 消息头水平
|
||||
header_info_Layout = new QHBoxLayout();
|
||||
m_msg_header_ico = new QPushButton();
|
||||
m_msg_header_ico->setObjectName("m_msg_header_ico");
|
||||
m_msg_header = new QLineEdit();
|
||||
m_msg_header->setObjectName("m_msg_header");
|
||||
m_msg_header->setReadOnly(true);
|
||||
header_info_Layout->addWidget(m_msg_header_ico);
|
||||
header_info_Layout->addWidget(m_msg_header);
|
||||
header_info_Layout->setContentsMargins(5, 0,5, 0);
|
||||
headerLayout->addLayout(header_info_Layout);
|
||||
|
||||
if (msg_type_mode == SYSTEM)
|
||||
{
|
||||
// 2.tokens功能按钮
|
||||
m_msg_tokens=new QPushButton(QIcon(":res/img/btn/btn_info_tokens.png"),NULL);
|
||||
m_msg_tokens->setObjectName("m_msg_tokens");
|
||||
header_info_Layout->addWidget(m_msg_tokens);
|
||||
// 3.消息功能区
|
||||
|
||||
header_opts_Layout = new QHBoxLayout();
|
||||
m_msg_del = new QPushButton();
|
||||
m_msg_copy = new QPushButton();
|
||||
m_msg_save = new QPushButton();
|
||||
m_msg_menu = new QPushButton();
|
||||
m_msg_fold = new QPushButton();
|
||||
m_msg_del->setObjectName("m_msg_del");
|
||||
m_msg_copy->setObjectName("m_msg_copy");
|
||||
m_msg_save->setObjectName("m_msg_save");
|
||||
m_msg_menu->setObjectName("m_msg_menu");
|
||||
m_msg_fold->setObjectName("m_msg_fold");
|
||||
m_msg_fold->setIcon(QIcon(":res/img/btn/btn_info_up.png"));
|
||||
header_opts_Layout->addItem(sparcer_item);
|
||||
header_opts_Layout->addWidget(m_msg_del);
|
||||
header_opts_Layout->addWidget(m_msg_copy);
|
||||
header_opts_Layout->addWidget(m_msg_save);
|
||||
header_opts_Layout->addWidget(m_msg_menu);
|
||||
header_opts_Layout->addWidget(m_msg_fold);
|
||||
header_opts_Layout->addItem(sparcer_item);
|
||||
header_opts_Layout->setContentsMargins(5, 0, 5, 0);
|
||||
headerLayout->addLayout(header_opts_Layout);
|
||||
}else{
|
||||
m_msg_del = new QPushButton();
|
||||
m_msg_del->setObjectName("m_msg_del");
|
||||
header_info_Layout->addWidget(m_msg_del);
|
||||
}
|
||||
|
||||
// 4. 历史信息QTextEdit
|
||||
historyLayout = new QVBoxLayout();
|
||||
m_msg_history = new QTextEdit();
|
||||
//m_msg_history->setOpenExternalLinks(true); // 允许打开外部链接
|
||||
//m_msg_history->setOpenLinks(true); // 允许打开链接
|
||||
m_msg_history->setObjectName("m_msg_history");
|
||||
m_msg_history->setReadOnly(true);
|
||||
m_msg_history->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
m_msg_history->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
m_msg_history->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
|
||||
m_msg_history->setFrameStyle(QFrame::NoFrame);
|
||||
historyLayout->addWidget(m_msg_history);
|
||||
historyLayout->addItem(bottom_spacer);
|
||||
historyLayout->setContentsMargins(5, 0, 5, 0);
|
||||
|
||||
// 5.分割线区域
|
||||
QFrame *hLine = new QFrame;
|
||||
hLine->setFrameShape(QFrame::HLine); // 关键属性
|
||||
hLine->setFrameShadow(QFrame::Sunken); // 凹陷效果
|
||||
hLine->setLineWidth(2); // 线宽
|
||||
// 组合布局
|
||||
mainLayout->addLayout(headerLayout);
|
||||
mainLayout->addLayout(historyLayout);
|
||||
mainLayout->addWidget(hLine);
|
||||
mainLayout->setStretch(0, 1);
|
||||
mainLayout->setSpacing(1);
|
||||
mainLayout->setContentsMargins(5, 0, 5, 0);
|
||||
setLayout(mainLayout);
|
||||
connect_signals(msg_type_mode);
|
||||
}
|
||||
void ctai_textedit::connect_signals(msg_type msg_type_mode)
|
||||
{
|
||||
if(msg_type_mode==SYSTEM){
|
||||
connect(m_msg_del, &QPushButton::clicked, this, &ctai_textedit::on_delete_clicked);
|
||||
connect(m_msg_copy, &QPushButton::clicked, this, &ctai_textedit::on_copy_clicked);
|
||||
connect(m_msg_save, &QPushButton::clicked, this, &ctai_textedit::on_save_clicked);
|
||||
connect(m_msg_menu, &QPushButton::clicked, this, &ctai_textedit::on_menu_clicked);
|
||||
connect(m_msg_fold, &QPushButton::clicked, this, &ctai_textedit::on_fold_clicked);
|
||||
connect(m_msg_tokens, &QPushButton::clicked, this, &ctai_textedit::on_tokens_clicked);
|
||||
}else{
|
||||
connect(m_msg_del, &QPushButton::clicked, this, &ctai_textedit::on_delete_clicked);
|
||||
}
|
||||
|
||||
}
|
||||
//tokens按钮实现功能的槽函数
|
||||
void ctai_textedit::on_tokens_clicked()
|
||||
{
|
||||
if(!m_msg_tokens_menu)
|
||||
{
|
||||
m_msg_tokens_menu = new QMenu();
|
||||
}
|
||||
if(!m_menu_prompt_tokens)
|
||||
{
|
||||
m_menu_prompt_tokens = new QAction(m_tokens_data.prompt_tokens);
|
||||
}
|
||||
if(!m_menu_completion_tokens)
|
||||
{
|
||||
m_menu_completion_tokens = new QAction(m_tokens_data.completion_tokens);
|
||||
}
|
||||
if(!m_menu_total_tokens)
|
||||
{
|
||||
m_menu_total_tokens = new QAction(m_tokens_data.total_tokens);
|
||||
}
|
||||
if(!m_menu_cache_hit_tokens)
|
||||
{
|
||||
m_menu_cache_hit_tokens = new QAction(m_tokens_data.cache_hit_tokens);
|
||||
}
|
||||
if(!m_menu_cache_miss_tokens)
|
||||
{
|
||||
m_menu_cache_miss_tokens = new QAction(m_tokens_data.cache_miss_tokens);
|
||||
}
|
||||
m_msg_tokens_menu->addAction(m_menu_prompt_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_completion_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_cache_hit_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_cache_miss_tokens);
|
||||
m_msg_tokens_menu->addAction(m_menu_total_tokens);
|
||||
m_msg_tokens_menu->exec(QCursor::pos());
|
||||
}
|
||||
// 实现折叠功能的槽函数
|
||||
void ctai_textedit::on_fold_clicked()
|
||||
{
|
||||
m_is_folded = !m_is_folded;
|
||||
|
||||
if (m_is_folded)
|
||||
{
|
||||
m_msg_history->setMaximumHeight(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_msg_history->setMaximumHeight(QWIDGETSIZE_MAX);
|
||||
}
|
||||
|
||||
// 更新按钮图标
|
||||
m_msg_fold->setIcon(QIcon(m_is_folded ? ":res/img/btn/btn_info_up.png" : ":res/img/btn/btn_info_down.png"));
|
||||
}
|
||||
void ctai_textedit::add_message(const model_data &message)
|
||||
{
|
||||
QString disp_data;
|
||||
QString disp_header;
|
||||
if (message.msg_type_mode == SYSTEM)
|
||||
{
|
||||
disp_header = "ID:" + QSL(message.postback_send_id) + " | FP:" + QSL(message.postback_system_fingerprint) + " | 时间:" + QSL(message.postback_time);
|
||||
m_tokens_data.prompt_tokens="提示词消耗tokens:" + QSN(message.postback_prompt_tokens);
|
||||
m_tokens_data.completion_tokens="生成信息消耗:tokens:" + QSN(message.postback_completion_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_miss_tokens="提示词缓存未命中消耗tokens:" + QSN(message.postback_prompt_cache_miss_tokens);
|
||||
disp_data = QSL(message.postback_model_data);
|
||||
}
|
||||
else
|
||||
{
|
||||
disp_header = "ID:" + QSL(message.send_user_id) + " | Time:" + QSL(message.send_user_time);
|
||||
disp_data = QSL(message.send_user_data);
|
||||
}
|
||||
m_msg_header->setText(disp_header);
|
||||
m_msg_history->setHtml(disp_data);
|
||||
}
|
||||
void ctai_textedit::on_delete_clicked()
|
||||
{
|
||||
// 发送删除请求信号
|
||||
emit delete_requested();
|
||||
}
|
||||
|
||||
void ctai_textedit::on_copy_clicked()
|
||||
{
|
||||
// 获取文本并复制到剪贴板
|
||||
QString text = m_msg_history->toPlainText();
|
||||
QClipboard *clipboard = QApplication::clipboard();
|
||||
clipboard->setText(text);
|
||||
}
|
||||
|
||||
void ctai_textedit::on_save_clicked()
|
||||
{
|
||||
QString fileName = QFileDialog::getSaveFileName(this,
|
||||
tr("保存消息"), "",
|
||||
tr("文本文件 (*.txt);;所有文件 (*)"));
|
||||
|
||||
if (fileName.isEmpty())
|
||||
return;
|
||||
|
||||
QFile file(fileName);
|
||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
{
|
||||
QMessageBox::warning(this, tr("保存失败"),
|
||||
tr("无法保存文件 %1:\n%2").arg(fileName).arg(file.errorString()));
|
||||
return;
|
||||
}
|
||||
|
||||
QTextStream out(&file);
|
||||
out << m_msg_header->text() << "\n\n";
|
||||
out << m_msg_history->toPlainText() << "\n\n";
|
||||
out << m_msg_tokens->text();
|
||||
}
|
||||
|
||||
void ctai_textedit::on_menu_clicked()
|
||||
{
|
||||
QMenu menu(this);
|
||||
|
||||
// 添加菜单项
|
||||
QAction *actCopy = menu.addAction(tr("复制"));
|
||||
QAction *actSave = menu.addAction(tr("保存"));
|
||||
menu.addSeparator();
|
||||
QAction *actDelete = menu.addAction(tr("删除"));
|
||||
|
||||
// 显示菜单
|
||||
QPoint pos = m_msg_menu->mapToGlobal(m_msg_menu->rect().bottomRight());
|
||||
QAction *act = menu.exec(pos);
|
||||
|
||||
// 处理菜单选择
|
||||
if (act == actCopy)
|
||||
{
|
||||
on_copy_clicked();
|
||||
}
|
||||
else if (act == actSave)
|
||||
{
|
||||
on_save_clicked();
|
||||
}
|
||||
else if (act == actDelete)
|
||||
{
|
||||
on_delete_clicked();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user