diff --git a/build/.ninja_deps b/build/.ninja_deps index e9aaa50..95e70be 100644 Binary files a/build/.ninja_deps and b/build/.ninja_deps differ diff --git a/build/.ninja_log b/build/.ninja_log index 9589833..21b5fe2 100644 --- a/build/.ninja_log +++ b/build/.ninja_log @@ -1,59 +1,106 @@ # ninja log v6 -4545 15917 7622792483817737 CMakeFiles/ctai.dir/src/main.cpp.obj 77280178abb968fc -4539 15011 7622792483762632 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 578ff58396e1bb80 +22 267 7622810172364790 ctai_autogen/timestamp da3870ebc94b983e +5089 25806 7622793903990218 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj b2496aab435c15c7 +22 267 7622810172364790 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +3987 7703 7621872533500869 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj d0b22ffae77b23cf +4577 16441 7622810217911257 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +22 267 7622810172364790 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +218 7564 7621848927853957 CMakeFiles/ctai.dir/src/sui.cpp.obj e1630d781a04e855 +262 484 7622684576644682 qrc_res.cpp 9794859fafc6825 +4522 16559 7622807033925372 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 696927afe9114740 +4063 8329 7620828272105475 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj 41b68d110b3c0daf +4058 8712 7620828272053173 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj 80d6964d23a3e9c5 +4262 7998 7622710864828185 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj c7ba770f3578d195 +4901 21734 7621792026923538 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 476c94d1f2c8cfea +4903 17025 7621792026943581 CMakeFiles/ctai.dir/src/sui_title.cpp.obj e026b4b712cf9da4 +4534 15524 7622807034045607 CMakeFiles/ctai.dir/src/main.cpp.obj 77280178abb968fc +22 267 7622810172364790 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +4527 14732 7622807033980420 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 578ff58396e1bb80 4075 7860 7620828272226167 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 3bdd07348bd84970 262 484 7622684576644682 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825 -22 4532 7622792482588033 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e 3983 7575 7621872533460841 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj d8ac6cde8856dc5e -4543 10651 7622792483807746 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +267 4577 7622810174809919 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 4083 4223 7620828272305402 CMakeFiles/ctai.dir/sui.rc.obj e30df163c9cbe567 -4540 15191 7622792483777774 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 6fa8a641137702e0 +4529 14957 7622807034000411 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 6fa8a641137702e0 487 3274 7622684576824662 CMakeFiles/ctai.dir/qrc_res.cpp.obj 9f74f1f5e59b5b50 3560 6938 7621113173344145 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj ddca150b42c8a71b -4535 15833 7622792483719213 CMakeFiles/ctai.dir/src/ctai.cpp.obj c7f0e07034d2e115 -4537 15426 7622792483744592 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 22d5a962360b4db1 -4903 17025 7621792026943581 CMakeFiles/ctai.dir/src/sui_title.cpp.obj e026b4b712cf9da4 -4901 21734 7621792026923538 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 476c94d1f2c8cfea -4262 7998 7622710864828185 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj c7ba770f3578d195 -4058 8712 7620828272053173 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj 80d6964d23a3e9c5 -4063 8329 7620828272105475 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj 41b68d110b3c0daf -4533 17016 7622792483699237 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 696927afe9114740 -262 484 7622684576644682 qrc_res.cpp 9794859fafc6825 -218 7564 7621848927853957 CMakeFiles/ctai.dir/src/sui.cpp.obj e1630d781a04e855 -22 4532 7622792482588033 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -17016 26857 7622792608535519 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 -3987 7703 7621872533500869 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj d0b22ffae77b23cf -22 4532 7622792482588033 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -4380 24531 7622788521759624 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj b2496aab435c15c7 -22 4532 7622792482588033 ctai_autogen/timestamp da3870ebc94b983e -19 263 7622792805669253 ctai_autogen/timestamp da3870ebc94b983e -19 263 7622792805669253 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -19 263 7622792805669253 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e -19 263 7622792805669253 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -263 4714 7622792808103021 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 -4714 16023 7622792852618072 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 -19 5083 7622793902703499 ctai_autogen/timestamp da3870ebc94b983e -19 5083 7622793902703499 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -19 5083 7622793902703499 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e -19 5083 7622793902703499 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -5097 11530 7622793904065442 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 -5093 16132 7622793904020196 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 578ff58396e1bb80 -5095 16144 7622793904045430 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj 6fa8a641137702e0 -5091 16527 7622793904010202 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 22d5a962360b4db1 -5087 16828 7622793903960268 CMakeFiles/ctai.dir/src/ctai.cpp.obj c7f0e07034d2e115 -5099 16962 7622793904085424 CMakeFiles/ctai.dir/src/main.cpp.obj 77280178abb968fc -5084 17921 7622793903940220 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 696927afe9114740 -5089 25806 7622793903990218 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj b2496aab435c15c7 -25806 36248 7622794111164701 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 -25 268 7622794994002813 ctai_autogen/timestamp da3870ebc94b983e -25 268 7622794994002813 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -25 268 7622794994002813 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e -25 268 7622794994002813 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -269 4864 7622794996431948 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 -4864 16181 7622795042394233 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 -18 260 7622802232782276 ctai_autogen/timestamp da3870ebc94b983e -18 260 7622802232782276 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -18 260 7622802232782276 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e -18 260 7622802232782276 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e -261 4849 7622802235215488 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 -4849 14942 7622802281095088 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +4524 15455 7622807033940431 CMakeFiles/ctai.dir/src/ctai.cpp.obj c7f0e07034d2e115 +4525 15164 7622807033960454 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 22d5a962360b4db1 +23 267 7622812829025703 ctai_autogen/timestamp da3870ebc94b983e +23 267 7622812829025703 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +23 267 7622812829025703 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +23 267 7622812829025703 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +268 4539 7622812831474208 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +4539 14278 7622812874189505 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +21 283 7622817420737849 ctai_autogen/timestamp da3870ebc94b983e +21 283 7622817420737849 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +21 283 7622817420737849 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +21 283 7622817420737849 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +283 4377 7622817423363561 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +4377 15786 7622817464295393 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +24 287 7622823898092255 ctai_autogen/timestamp da3870ebc94b983e +24 287 7622823898092255 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +24 287 7622823898092255 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +24 287 7622823898092255 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +28 296 7622825807166365 ctai_autogen/timestamp da3870ebc94b983e +28 296 7622825807166365 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +28 296 7622825807166365 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +28 296 7622825807166365 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +297 5098 7622825809844193 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +5098 16505 7622825857865462 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +19 274 7622826052450279 ctai_autogen/timestamp da3870ebc94b983e +19 274 7622826052450279 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +19 274 7622826052450279 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +19 274 7622826052450279 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +20 304 7622826225999774 ctai_autogen/timestamp da3870ebc94b983e +20 304 7622826225999774 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +20 304 7622826225999774 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +20 304 7622826225999774 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +305 5276 7622826228843810 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +5276 15661 7622826278554966 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +21 278 7622826997536723 ctai_autogen/timestamp da3870ebc94b983e +21 278 7622826997536723 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +21 278 7622826997536723 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +21 278 7622826997536723 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +279 4680 7622827000110581 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +4681 16624 7622827044129213 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +25 293 7622830220481004 ctai_autogen/timestamp da3870ebc94b983e +25 293 7622830220481004 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +25 293 7622830220481004 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +25 293 7622830220481004 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +294 5256 7622830223175488 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +5256 15684 7622830272789669 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +22 274 7622831411416626 ctai_autogen/timestamp da3870ebc94b983e +22 274 7622831411416626 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +22 274 7622831411416626 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +22 274 7622831411416626 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +275 4977 7622831413956965 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +4977 16012 7622831460975460 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +22 298 7622832737945710 ctai_autogen/timestamp da3870ebc94b983e +22 298 7622832737945710 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +22 298 7622832737945710 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +22 298 7622832737945710 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +298 5793 7622832740714385 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +5793 16094 7622832795657136 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +29 294 7622834910118296 ctai_autogen/timestamp da3870ebc94b983e +29 294 7622834910118296 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +29 294 7622834910118296 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +29 294 7622834910118296 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +35 349 7622835110139526 ctai_autogen/timestamp da3870ebc94b983e +35 349 7622835110139526 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +35 349 7622835110139526 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +35 349 7622835110139526 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +349 5492 7622835113278187 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +5492 15838 7622835164701773 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +25 284 7622835295648458 ctai_autogen/timestamp da3870ebc94b983e +25 284 7622835295648458 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +25 284 7622835295648458 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +25 284 7622835295648458 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +285 5416 7622835298247482 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +5417 17168 7622835349564719 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 +21 288 7622836427014826 ctai_autogen/timestamp da3870ebc94b983e +21 288 7622836427014826 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +21 288 7622836427014826 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e +21 288 7622836427014826 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e +289 4864 7622836429697305 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 336256b01143e240 +4864 15900 7622836475443716 F:/SourceCode/ctai/release/ctai.exe 66379903cbdcd676 diff --git a/release/ctai.exe b/release/ctai.exe index 2b2bfbe..b9f4d4b 100644 Binary files a/release/ctai.exe and b/release/ctai.exe differ diff --git a/src/ctai_textedit.cpp b/src/ctai_textedit.cpp index c2c7ce0..2271f8b 100644 --- a/src/ctai_textedit.cpp +++ b/src/ctai_textedit.cpp @@ -37,14 +37,13 @@ void ctai_textedit::appendMessage(const model_data& content) item.content = QString::fromStdString(content.postback_model_data); item.isCollapsed = false; - messages[messageId] = item; - createMessageControls(messageId); - messageDisplay(messageId); + messages[messageId]=item; + messageDisplay(messageId); } void ctai_textedit::messageDisplay(const QString& messageId) { - if (!messages.contains(messageId)) return; + //if (!messages.contains(messageId)) return; const MessageItem& item = messages[messageId]; QString html = QString( @@ -67,8 +66,6 @@ void ctai_textedit::messageDisplay(const QString& messageId) .arg(item.cache_hit_tokens) .arg(item.cache_miss_tokens); - // 清空并重新显示 - clear(); QTextCursor cursor = textCursor(); cursor.movePosition(QTextCursor::End); cursor.insertHtml(html); @@ -193,49 +190,53 @@ void ctai_textedit::createMessageControls(const QString& messageId) QWidget* controlsWidget = new QWidget(this); QHBoxLayout* layout = new QHBoxLayout(controlsWidget); - layout->setContentsMargins(5, 0, 5, 0); // 设置边距 + layout->setContentsMargins(5, 0, 5, 0); + // 创建按钮并设置样式 QPushButton* deleteBtn = new QPushButton(tr("删除"), controlsWidget); QPushButton* copyBtn = new QPushButton(tr("复制"), controlsWidget); QPushButton* saveBtn = new QPushButton(tr("另存"), controlsWidget); QPushButton* collapseBtn = new QPushButton(tr("折叠"), controlsWidget); - // 设置按钮样式 - QString btnStyle = "QPushButton { padding: 2px 10px; margin: 0 5px; }"; + QString btnStyle = "QPushButton { " + "padding: 2px 10px; " + "margin: 0 5px; " + "border: 1px solid #ccc; " + "border-radius: 3px; " + "background: #f8f8f8; " + "} " + "QPushButton:hover { " + "background: #e8e8e8; " + "}"; + deleteBtn->setStyleSheet(btnStyle); copyBtn->setStyleSheet(btnStyle); saveBtn->setStyleSheet(btnStyle); collapseBtn->setStyleSheet(btnStyle); + // 连接信号槽 connect(deleteBtn, &QPushButton::clicked, [this, messageId](){ deleteMessage(messageId); }); connect(copyBtn, &QPushButton::clicked, [this, messageId](){ copyMessage(messageId); }); connect(saveBtn, &QPushButton::clicked, [this, messageId](){ saveMessage(messageId); }); connect(collapseBtn, &QPushButton::clicked, [this, messageId](){ toggleCollapse(messageId); }); + // 添加按钮到布局 + layout->addStretch(1); layout->addWidget(deleteBtn); layout->addWidget(copyBtn); layout->addWidget(saveBtn); layout->addWidget(collapseBtn); - layout->addStretch(); // 添加弹性空间使按钮居中 + layout->addStretch(1); + controlsWidget->setLayout(layout); + controlsWidget->setFixedHeight(40); messageControls[messageId] = controlsWidget; - - // 设置控件位置 + + // 在文档末尾添加按钮控件 QTextCursor cursor = textCursor(); cursor.movePosition(QTextCursor::End); - QTextBlockFormat blockFormat; - blockFormat.setAlignment(Qt::AlignCenter); - cursor.mergeBlockFormat(blockFormat); - - // 创建一个占位符 QTextEdit 来放置控件 - QTextEdit* placeholder = new QTextEdit(this); - placeholder->setFrameStyle(QFrame::NoFrame); - placeholder->setFixedHeight(40); // 设置合适的高度 - placeholder->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - - // 将按钮控件添加到文档中 - cursor.insertHtml("
"); - controlsWidget->setParent(placeholder); + QRect cursorRect = this->cursorRect(cursor); + controlsWidget->move(cursorRect.bottomLeft()); controlsWidget->show(); }