修复了sui界面鼠标乱蹦的问题

This commit is contained in:
JackLee 2025-02-28 20:00:28 +08:00
parent 692eade472
commit 97e7610b0c
27 changed files with 4256 additions and 3615 deletions

View File

@ -88,7 +88,8 @@
"qhboxlayout": "cpp", "qhboxlayout": "cpp",
"qlineedit": "cpp", "qlineedit": "cpp",
"qcombobox": "cpp", "qcombobox": "cpp",
"qlistwidget": "cpp" "qlistwidget": "cpp",
"qgroupbox": "cpp"
}, },
"editor.gotoLocation.alternativeDeclarationCommand": "editor.action.revealDefinition", "editor.gotoLocation.alternativeDeclarationCommand": "editor.action.revealDefinition",
"editor.gotoLocation.alternativeDefinitionCommand": "editor.action.revealDefinition", "editor.gotoLocation.alternativeDefinitionCommand": "editor.action.revealDefinition",

Binary file not shown.

View File

@ -1,33 +1,66 @@
# ninja log v6 # ninja log v6
4424 9535 7624404759365303 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj e15b530df9d9d77c 4426 15149 7624404759382694 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 53e501d667fcd97a
17 285 7624406103518392 ctai_autogen/timestamp da3870ebc94b983e 3795 12892 7624444439329392 CMakeFiles/ctai.dir/src/ctai.cpp.obj 94cd69a700aed52c
7101 13419 7624392729187697 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj 73976d0d057b09cb
272 3225 7624406980913454 CMakeFiles/ctai.dir/qrc_res.cpp.obj a369fd70be247e68
3799 12360 7624444439364178 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj f5aadec87761fa2
14853 15670 7624392806712393 CMakeFiles/ctai.dir/sui.rc.obj 222e0b180d90e3cd
499 3769 7624406108332925 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 97631ab5de89dd57
7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1
17 271 7624406980833829 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
13419 18692 7624392792374462 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 60b8b6c16c71de62
3797 12394 7624444439346784 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 4e60e53557e3d9df
18 251 7624446224390892 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
3802 12972 7624444439381569 CMakeFiles/ctai.dir/src/main.cpp.obj 413b9816064f9d57
13484 29551 7624392793022469 CMakeFiles/ctai.dir/src/sui_title.cpp.obj f63cb863fd4bb908
13415 33956 7624392792339446 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 419a299317dee38c
3760 8387 7624417178319931 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj e15b530df9d9d77c
18 251 7624446224390892 ctai_autogen/timestamp da3870ebc94b983e
7084 36108 7624392729024371 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 6249f33e823d8399 7084 36108 7624392729024371 CMakeFiles/ctai.dir/src/ctai_curl.cpp.obj 6249f33e823d8399
17 285 7624406103518392 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 18 251 7624446224390892 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7 7096 13484 7624392729149768 CMakeFiles/ctai.dir/src/ctai_session_table.cpp.obj 5bacfc2db149ebf7
3769 15558 7624406141021337 F:/SourceCode/ctai/release/ctai.exe 5bbcc239c00bb3a9 10077 21316 7624446323660465 F:/SourceCode/ctai/release/ctai.exe 8d3efc8221468516
17 285 7624406103518392 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e 18 251 7624446224390892 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
13031 29305 7624392788487480 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48 13031 29305 7624392788487480 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48
286 498 7624406108211182 qrc_res.cpp 9794859fafc6825 17 271 7624406980833829 qrc_res.cpp 9794859fafc6825
4420 16045 7624404759315326 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 9024cb90a9e8c9bc 252 10076 7624446225430082 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 9024cb90a9e8c9bc
7103 13415 7624392729205083 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj ca09550e1ecd0 7103 13415 7624392729205083 CMakeFiles/ctai.dir/src/ctai_tabbar.cpp.obj ca09550e1ecd0
7081 13948 7624392728989606 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj f4713b73c1c6e0d5 7081 13948 7624392728989606 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj f4713b73c1c6e0d5
7089 11741 7624392729079367 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj ee65172c0996dd64 7089 11741 7624392729079367 CMakeFiles/ctai.dir/src/ctai_parsestring.cpp.obj ee65172c0996dd64
13415 33956 7624392792339446 CMakeFiles/ctai.dir/src/sui_base_ex.cpp.obj 419a299317dee38c 18 4510 7624458479781839 ctai_autogen/timestamp da3870ebc94b983e
13484 29551 7624392793022469 CMakeFiles/ctai.dir/src/sui_title.cpp.obj f63cb863fd4bb908 18 4510 7624458479781839 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
4435 15352 7624404759462490 CMakeFiles/ctai.dir/src/main.cpp.obj 413b9816064f9d57 18 4510 7624458479781839 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
17 285 7624406103518392 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e 18 4510 7624458479781839 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
4428 14292 7624404759400089 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 4e60e53557e3d9df 4517 8327 7624458480990866 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 3e9afd6da0c01049
13419 18692 7624392792374462 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 60b8b6c16c71de62 4520 14573 7624458481032281 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj f5aadec87761fa2
286 498 7624406108211182 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825 4518 14733 7624458481005910 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 4e60e53557e3d9df
7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1 4515 15124 7624458480973475 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 53e501d667fcd97a
499 3769 7624406108332925 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 97631ab5de89dd57 4512 15171 7624458480938690 CMakeFiles/ctai.dir/src/ctai.cpp.obj 94cd69a700aed52c
14853 15670 7624392806712393 CMakeFiles/ctai.dir/sui.rc.obj 222e0b180d90e3cd 4523 15241 7624458481051288 CMakeFiles/ctai.dir/src/main.cpp.obj 413b9816064f9d57
4430 14320 7624404759427528 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj f5aadec87761fa2 4510 16194 7624458480921292 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 9024cb90a9e8c9bc
501 3197 7624406108350329 CMakeFiles/ctai.dir/qrc_res.cpp.obj a369fd70be247e68 16194 27120 7624458597753646 F:/SourceCode/ctai/release/ctai.exe fb71333a7cdf2df2
7101 13419 7624392729187697 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj 73976d0d057b09cb 18 274 7624466975620911 ctai_autogen/timestamp da3870ebc94b983e
4422 15061 7624404759347914 CMakeFiles/ctai.dir/src/ctai.cpp.obj 94cd69a700aed52c 18 274 7624466975620911 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
4426 15149 7624404759382694 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 53e501d667fcd97a 18 274 7624466975620911 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
17 271 7624406980833829 qrc_res.cpp 9794859fafc6825 18 274 7624466975620911 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
17 271 7624406980833829 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825 277 7601 7624466978217787 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48
272 3225 7624406980913454 CMakeFiles/ctai.dir/qrc_res.cpp.obj a369fd70be247e68 275 8182 7624466978197541 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 4e60e53557e3d9df
3225 15258 7624407010444222 F:/SourceCode/ctai/release/ctai.exe 5bbcc239c00bb3a9 8183 19261 7624467057270216 F:/SourceCode/ctai/release/ctai.exe fb71333a7cdf2df2
17 264 7624468715656948 ctai_autogen/timestamp da3870ebc94b983e
17 264 7624468715656948 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
17 264 7624468715656948 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
17 264 7624468715656948 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
265 7323 7624468718137056 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48
7323 19303 7624468788724267 F:/SourceCode/ctai/release/ctai.exe fb71333a7cdf2df2
28 305 7624471203971984 ctai_autogen/timestamp da3870ebc94b983e
28 305 7624471203971984 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
28 305 7624471203971984 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
28 305 7624471203971984 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
306 8176 7624471206745267 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48
8176 20847 7624471285438645 F:/SourceCode/ctai/release/ctai.exe fb71333a7cdf2df2
18 277 7624471814153922 ctai_autogen/timestamp da3870ebc94b983e
18 277 7624471814153922 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
18 277 7624471814153922 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
18 277 7624471814153922 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
278 7410 7624471816744530 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48
7410 17892 7624471888073039 F:/SourceCode/ctai/release/ctai.exe fb71333a7cdf2df2

View File

@ -448,12 +448,6 @@
"UVLADIE3JM/moc_ctai_parsestring.cpp", "UVLADIE3JM/moc_ctai_parsestring.cpp",
null null
], ],
[
"F:/SourceCode/ctai/src/ctai_session_docker.h",
"MU",
"UVLADIE3JM/moc_ctai_session_docker.cpp",
null
],
[ [
"F:/SourceCode/ctai/src/ctai_session_info.h", "F:/SourceCode/ctai/src/ctai_session_info.h",
"MU", "MU",
@ -461,9 +455,9 @@
null null
], ],
[ [
"F:/SourceCode/ctai/src/ctai_session_table.h", "F:/SourceCode/ctai/src/ctai_session_setting.h",
"MU", "MU",
"UVLADIE3JM/moc_ctai_session_table.cpp", "UVLADIE3JM/moc_ctai_session_setting.cpp",
null null
], ],
[ [
@ -611,9 +605,8 @@
[ "F:/SourceCode/ctai/src/ctai_curl.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_msg_table.cpp", "MU", null ],
[ "F:/SourceCode/ctai/src/ctai_parsestring.cpp", "MU", null ], [ "F:/SourceCode/ctai/src/ctai_parsestring.cpp", "MU", null ],
[ "F:/SourceCode/ctai/src/ctai_session_docker.cpp", "MU", null ],
[ "F:/SourceCode/ctai/src/ctai_session_info.cpp", "MU", null ], [ "F:/SourceCode/ctai/src/ctai_session_info.cpp", "MU", null ],
[ "F:/SourceCode/ctai/src/ctai_session_table.cpp", "MU", null ], [ "F:/SourceCode/ctai/src/ctai_session_setting.cpp", "MU", null ],
[ "F:/SourceCode/ctai/src/ctai_session_widget.cpp", "MU", null ], [ "F:/SourceCode/ctai/src/ctai_session_widget.cpp", "MU", null ],
[ "F:/SourceCode/ctai/src/ctai_switch_control.cpp", "MU", null ], [ "F:/SourceCode/ctai/src/ctai_switch_control.cpp", "MU", null ],
[ "F:/SourceCode/ctai/src/ctai_tabbar.cpp", "MU", null ], [ "F:/SourceCode/ctai/src/ctai_tabbar.cpp", "MU", null ],

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -44,6 +44,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/QStringList \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QStringList \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QThread \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QThread \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QUuid \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \
@ -453,6 +454,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFrame \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFrame \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHeaderView \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QInputDialog \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QInputDialog \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \
@ -495,6 +497,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qheaderview.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qinputdialog.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qinputdialog.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \
@ -1073,7 +1076,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai.cpp: F:/SourceCode/cta
F:/SourceCode/ctai/src/ctai_msg_table.h \ F:/SourceCode/ctai/src/ctai_msg_table.h \
F:/SourceCode/ctai/src/ctai_parsestring.h \ F:/SourceCode/ctai/src/ctai_parsestring.h \
F:/SourceCode/ctai/src/ctai_session_info.h \ F:/SourceCode/ctai/src/ctai_session_info.h \
F:/SourceCode/ctai/src/ctai_session_table.h \ F:/SourceCode/ctai/src/ctai_session_setting.h \
F:/SourceCode/ctai/src/ctai_session_widget.h \ F:/SourceCode/ctai/src/ctai_session_widget.h \
F:/SourceCode/ctai/src/ctai_switch_control.h \ F:/SourceCode/ctai/src/ctai_switch_control.h \
F:/SourceCode/ctai/src/ctai_tabbar.h \ F:/SourceCode/ctai/src/ctai_tabbar.h \

View File

@ -36,7 +36,15 @@ namespace {
#ifdef QT_MOC_HAS_STRINGDATA #ifdef QT_MOC_HAS_STRINGDATA
struct qt_meta_stringdata_CLASSctai_session_widgetENDCLASS_t {}; struct qt_meta_stringdata_CLASSctai_session_widgetENDCLASS_t {};
constexpr auto qt_meta_stringdata_CLASSctai_session_widgetENDCLASS = QtMocHelpers::stringData( constexpr auto qt_meta_stringdata_CLASSctai_session_widgetENDCLASS = QtMocHelpers::stringData(
"ctai_session_widget" "ctai_session_widget",
"on_new_chat_clicked",
"",
"on_set_chat_clicked",
"on_del_chat_clicked",
"connect_signals",
"on_session_name_changed",
"QTableWidgetItem*",
"item"
); );
#else // !QT_MOC_HAS_STRINGDATA #else // !QT_MOC_HAS_STRINGDATA
#error "qtmochelpers.h not found or too old." #error "qtmochelpers.h not found or too old."
@ -49,13 +57,27 @@ Q_CONSTINIT static const uint qt_meta_data_CLASSctai_session_widgetENDCLASS[] =
12, // revision 12, // revision
0, // classname 0, // classname
0, 0, // classinfo 0, 0, // classinfo
0, 0, // methods 5, 14, // methods
0, 0, // properties 0, 0, // properties
0, 0, // enums/sets 0, 0, // enums/sets
0, 0, // constructors 0, 0, // constructors
0, // flags 0, // flags
0, // signalCount 0, // signalCount
// slots: name, argc, parameters, tag, flags, initial metatype offsets
1, 0, 44, 2, 0x0a, 1 /* Public */,
3, 0, 45, 2, 0x0a, 2 /* Public */,
4, 0, 46, 2, 0x0a, 3 /* Public */,
5, 0, 47, 2, 0x0a, 4 /* Public */,
6, 1, 48, 2, 0x08, 5 /* Private */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, 0x80000000 | 7, 8,
0 // eod 0 // eod
}; };
@ -67,17 +89,36 @@ Q_CONSTINIT const QMetaObject ctai_session_widget::staticMetaObject = { {
nullptr, nullptr,
qt_incomplete_metaTypeArray<qt_meta_stringdata_CLASSctai_session_widgetENDCLASS_t, qt_incomplete_metaTypeArray<qt_meta_stringdata_CLASSctai_session_widgetENDCLASS_t,
// Q_OBJECT / Q_GADGET // Q_OBJECT / Q_GADGET
QtPrivate::TypeAndForceComplete<ctai_session_widget, std::true_type> QtPrivate::TypeAndForceComplete<ctai_session_widget, std::true_type>,
// method 'on_new_chat_clicked'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
// method 'on_set_chat_clicked'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
// method 'on_del_chat_clicked'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
// method 'connect_signals'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
// method 'on_session_name_changed'
QtPrivate::TypeAndForceComplete<void, std::false_type>,
QtPrivate::TypeAndForceComplete<QTableWidgetItem *, std::false_type>
>, >,
nullptr nullptr
} }; } };
void ctai_session_widget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) void ctai_session_widget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{ {
(void)_o; if (_c == QMetaObject::InvokeMetaMethod) {
(void)_id; auto *_t = static_cast<ctai_session_widget *>(_o);
(void)_c; (void)_t;
(void)_a; switch (_id) {
case 0: _t->on_new_chat_clicked(); break;
case 1: _t->on_set_chat_clicked(); break;
case 2: _t->on_del_chat_clicked(); break;
case 3: _t->connect_signals(); break;
case 4: _t->on_session_name_changed((*reinterpret_cast< std::add_pointer_t<QTableWidgetItem*>>(_a[1]))); break;
default: ;
}
}
} }
const QMetaObject *ctai_session_widget::metaObject() const const QMetaObject *ctai_session_widget::metaObject() const
@ -96,6 +137,17 @@ void *ctai_session_widget::qt_metacast(const char *_clname)
int ctai_session_widget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) int ctai_session_widget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{ {
_id = QWidget::qt_metacall(_c, _id, _a); _id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 5)
qt_static_metacall(this, _c, _id, _a);
_id -= 5;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 5)
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
_id -= 5;
}
return _id; return _id;
} }
QT_WARNING_POP QT_WARNING_POP

View File

@ -36,6 +36,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QString \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QString \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QStringList \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QStringList \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QUuid \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \
@ -359,6 +360,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileDialog \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileDialog \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHeaderView \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QListWidget \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QListWidget \
@ -387,6 +389,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qheaderview.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayoutitem.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayoutitem.h \
@ -946,7 +949,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_session_widget.cpp: F:
F:/SourceCode/ctai/src/ctai_msg_table.h \ F:/SourceCode/ctai/src/ctai_msg_table.h \
F:/SourceCode/ctai/src/ctai_parsestring.h \ F:/SourceCode/ctai/src/ctai_parsestring.h \
F:/SourceCode/ctai/src/ctai_session_info.h \ F:/SourceCode/ctai/src/ctai_session_info.h \
F:/SourceCode/ctai/src/ctai_session_table.h \ F:/SourceCode/ctai/src/ctai_session_setting.h \
F:/SourceCode/ctai/src/ctai_switch_control.h \ F:/SourceCode/ctai/src/ctai_switch_control.h \
F:/SourceCode/ctai/src/ctai_textedit.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/curl.h \

View File

@ -37,6 +37,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/QString \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QString \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QStringList \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QStringList \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QUuid \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \
@ -366,6 +367,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileDialog \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileDialog \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHeaderView \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QListWidget \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QListWidget \
@ -400,6 +402,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qheaderview.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayoutitem.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayoutitem.h \
@ -962,7 +965,7 @@ F:/SourceCode/ctai/build/ctai_autogen/UVLADIE3JM/moc_ctai_tabwidget.cpp: F:/Sour
F:/SourceCode/ctai/src/ctai_msg_table.h \ F:/SourceCode/ctai/src/ctai_msg_table.h \
F:/SourceCode/ctai/src/ctai_parsestring.h \ F:/SourceCode/ctai/src/ctai_parsestring.h \
F:/SourceCode/ctai/src/ctai_session_info.h \ F:/SourceCode/ctai/src/ctai_session_info.h \
F:/SourceCode/ctai/src/ctai_session_table.h \ F:/SourceCode/ctai/src/ctai_session_setting.h \
F:/SourceCode/ctai/src/ctai_session_widget.h \ F:/SourceCode/ctai/src/ctai_session_widget.h \
F:/SourceCode/ctai/src/ctai_switch_control.h \ F:/SourceCode/ctai/src/ctai_switch_control.h \
F:/SourceCode/ctai/src/ctai_tabbar.h \ F:/SourceCode/ctai/src/ctai_tabbar.h \

View File

@ -43,6 +43,7 @@ ctai_autogen/timestamp: \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QStringList \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QStringList \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QThread \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QThread \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QTimer \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QUuid \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QVariant \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCore \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtCore/QtCoreDepends \
@ -312,7 +313,6 @@ ctai_autogen/timestamp: \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QAction \ 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/QActionGroup \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QClipboard \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QClipboard \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QCloseEvent \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QContextMenuEvent \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QContextMenuEvent \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QDesktopServices \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QDesktopServices \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QFontDatabase \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtGui/QFontDatabase \
@ -448,12 +448,12 @@ ctai_autogen/timestamp: \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QApplication \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QApplication \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QComboBox \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QComboBox \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QDialog \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QDialog \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QDockWidget \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileDialog \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileDialog \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileIconProvider \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFileIconProvider \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFrame \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QFrame \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QGroupBox \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHBoxLayout \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QHeaderView \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QInputDialog \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QInputDialog \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLabel \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/QLineEdit \
@ -491,12 +491,12 @@ ctai_autogen/timestamp: \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qcombobox.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qcombobox.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qdialog.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qdialog.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qdialogbuttonbox.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qdialogbuttonbox.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qdockwidget.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qfiledialog.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qfiledialog.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qfileiconprovider.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qfileiconprovider.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qframe.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgridlayout.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qgroupbox.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qheaderview.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qinputdialog.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qinputdialog.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlabel.h \
D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \ D:/Dev/Qt/6.8.0/mingw1310_static_x64/include/QtWidgets/qlayout.h \
@ -1393,12 +1393,10 @@ ctai_autogen/timestamp: \
F:/SourceCode/ctai/src/ctai_msg_table.h \ F:/SourceCode/ctai/src/ctai_msg_table.h \
F:/SourceCode/ctai/src/ctai_parsestring.cpp \ F:/SourceCode/ctai/src/ctai_parsestring.cpp \
F:/SourceCode/ctai/src/ctai_parsestring.h \ F:/SourceCode/ctai/src/ctai_parsestring.h \
F:/SourceCode/ctai/src/ctai_session_docker.cpp \
F:/SourceCode/ctai/src/ctai_session_docker.h \
F:/SourceCode/ctai/src/ctai_session_info.cpp \ F:/SourceCode/ctai/src/ctai_session_info.cpp \
F:/SourceCode/ctai/src/ctai_session_info.h \ F:/SourceCode/ctai/src/ctai_session_info.h \
F:/SourceCode/ctai/src/ctai_session_table.cpp \ F:/SourceCode/ctai/src/ctai_session_setting.cpp \
F:/SourceCode/ctai/src/ctai_session_table.h \ F:/SourceCode/ctai/src/ctai_session_setting.h \
F:/SourceCode/ctai/src/ctai_session_widget.cpp \ F:/SourceCode/ctai/src/ctai_session_widget.cpp \
F:/SourceCode/ctai/src/ctai_session_widget.h \ F:/SourceCode/ctai/src/ctai_session_widget.h \
F:/SourceCode/ctai/src/ctai_switch_control.cpp \ F:/SourceCode/ctai/src/ctai_switch_control.cpp \

View File

@ -3,9 +3,8 @@
#include "UVLADIE3JM/moc_ctai_cmd.cpp" #include "UVLADIE3JM/moc_ctai_cmd.cpp"
#include "UVLADIE3JM/moc_ctai_curl.cpp" #include "UVLADIE3JM/moc_ctai_curl.cpp"
#include "UVLADIE3JM/moc_ctai_msg_table.cpp" #include "UVLADIE3JM/moc_ctai_msg_table.cpp"
#include "UVLADIE3JM/moc_ctai_session_docker.cpp"
#include "UVLADIE3JM/moc_ctai_session_info.cpp" #include "UVLADIE3JM/moc_ctai_session_info.cpp"
#include "UVLADIE3JM/moc_ctai_session_table.cpp" #include "UVLADIE3JM/moc_ctai_session_setting.cpp"
#include "UVLADIE3JM/moc_ctai_session_widget.cpp" #include "UVLADIE3JM/moc_ctai_session_widget.cpp"
#include "UVLADIE3JM/moc_ctai_switch_control.cpp" #include "UVLADIE3JM/moc_ctai_switch_control.cpp"
#include "UVLADIE3JM/moc_ctai_tabbar.cpp" #include "UVLADIE3JM/moc_ctai_tabbar.cpp"

Binary file not shown.

View File

@ -1,42 +0,0 @@
#include "ctai_session_docker.h"
ctai_session_docker::ctai_session_docker(QWidget *parent) : QDockWidget(parent)
{
/*隐藏标题栏
QWidget *oldTitalbar = this->titleBarWidget();
QWidget *newTitalbar = new QWidget();
this->setTitleBarWidget(newTitalbar);
delete oldTitalbar;
*/
}
bool ctai_session_docker::event(QEvent *event)
{
if(event->type() == QEvent::ZOrderChange)
{
if(isFloating()) //判断是否变为浮动窗口
{
/*
if(this->windowTitle()==tr("播放器")){
this->showFullScreen();
this->setWindowState(Qt::WindowFullScreen);
this->move(0, 0);
}
*/
//this->resize(600,400); //改变初始化大小
this->show();
}
}
return QDockWidget::event(event);
}
void ctai_session_docker::closeEvent(QCloseEvent* event)
{
if(isFloating())
{
this->setFloating(false);
QEvent* e = new QEvent(QEvent::ZOrderChange);
QApplication::sendEvent(this,e);
event->ignore();
}
return QDockWidget::closeEvent(event);
}

View File

@ -1,18 +0,0 @@
#ifndef CTAI_SESSION_DOCKER_H
#define CTAI_SESSION_DOCKER_H
#include <QDockWidget>
#include <QEvent>
#include <QApplication>
#include <QCloseEvent>
class ctai_session_docker:public QDockWidget
{
Q_OBJECT
public:
explicit ctai_session_docker(QWidget *parent = nullptr);
bool event(QEvent *event) override;
void closeEvent(QCloseEvent* event) override;
};
#endif // CTAI_SESSION_DOCKER_H

View File

@ -47,6 +47,7 @@ private:
QHBoxLayout *m_session_user_btn_layout; QHBoxLayout *m_session_user_btn_layout;
QVBoxLayout *m_session_user_group_layout; QVBoxLayout *m_session_user_group_layout;
//按钮信息 //按钮信息
QStringList m_user_btn_list = {"btn_user_new_chat", QStringList m_user_btn_list = {"btn_user_new_chat",
"btn_user_switch_model", "btn_user_switch_model",

View File

@ -0,0 +1,63 @@
#include "ctai_session_setting.h"
ctai_session_setting::ctai_session_setting(QWidget *parent)
: QWidget(parent)
{
initUI();
setupConnections();
}
ctai_session_setting::~ctai_session_setting()
{
}
void ctai_session_setting::initUI()
{
mainLayout = new QVBoxLayout(this);
mainLayout->setSpacing(10);
mainLayout->setContentsMargins(10, 10, 10, 10);
// 创建标签和输入框
labelModelName = new QLabel("Model Name:", this);
labelFreqPenalty = new QLabel("Frequency Penalty:", this);
labelMaxTokens = new QLabel("Max Tokens:", this);
labelPresencePenalty = new QLabel("Presence Penalty:", this);
labelTemperature = new QLabel("Temperature:", this);
labelTopP = new QLabel("Top P:", this);
editModelName = new QTextEdit(this);
editFreqPenalty = new QTextEdit(this);
editMaxTokens = new QTextEdit(this);
editPresencePenalty = new QTextEdit(this);
editTemperature = new QTextEdit(this);
editTopP = new QTextEdit(this);
// 设置输入框的固定高度
QList<QTextEdit*> textEdits = {editModelName, editFreqPenalty, editMaxTokens,
editPresencePenalty, editTemperature, editTopP};
for(auto edit : textEdits) {
edit->setFixedHeight(30);
}
// 创建水平布局并添加到主布局
QList<QPair<QLabel*, QTextEdit*>> rows = {
{labelModelName, editModelName},
{labelFreqPenalty, editFreqPenalty},
{labelMaxTokens, editMaxTokens},
{labelPresencePenalty, editPresencePenalty},
{labelTemperature, editTemperature},
{labelTopP, editTopP}
};
for(const auto& row : rows) {
QHBoxLayout* hLayout = new QHBoxLayout();
hLayout->addWidget(row.first);
hLayout->addWidget(row.second);
mainLayout->addLayout(hLayout);
}
}
void ctai_session_setting::setupConnections()
{
// 在这里添加信号和槽的连接
}

View File

@ -0,0 +1,41 @@
#ifndef CTAI_SESSION_SETTING_H
#define CTAI_SESSION_SETTING_H
#include <QWidget>
#include <QLabel>
#include <QTextEdit>
#include <QVBoxLayout>
#include <QHBoxLayout>
class ctai_session_setting : public QWidget
{
Q_OBJECT
public:
explicit ctai_session_setting(QWidget *parent = nullptr);
~ctai_session_setting();
private:
// 布局
QVBoxLayout* mainLayout;
// 标签
QLabel* labelModelName;
QLabel* labelFreqPenalty;
QLabel* labelMaxTokens;
QLabel* labelPresencePenalty;
QLabel* labelTemperature;
QLabel* labelTopP;
// 输入框
QTextEdit* editModelName;
QTextEdit* editFreqPenalty;
QTextEdit* editMaxTokens;
QTextEdit* editPresencePenalty;
QTextEdit* editTemperature;
QTextEdit* editTopP;
private:
void initUI();
void setupConnections();
};
#endif

View File

@ -1,9 +0,0 @@
#include "ctai_session_table.h"
ctai_session_table::ctai_session_table()
{
}
ctai_session_table::~ctai_session_table()
{
}

View File

@ -1,12 +0,0 @@
#ifndef CTAI_SESSION_TABLE_H
#define CTAI_SESSION_TABLE_H
#include <QTableWidget>
class ctai_session_table : public QTableWidget
{
Q_OBJECT
public:
ctai_session_table();
~ctai_session_table();
};
#endif // CTAI_SESSION_TABLE_H

View File

@ -3,28 +3,36 @@
ctai_session_widget::ctai_session_widget() ctai_session_widget::ctai_session_widget()
{ {
init_layout(); init_layout();
connect_signals();
} }
ctai_session_widget::~ctai_session_widget() ctai_session_widget::~ctai_session_widget()
{ {
for (auto* s : m_session_map) {
if (s) {
delete s->session_info;
delete s;
}
}
m_session_map.clear();
} }
void ctai_session_widget::init_layout() void ctai_session_widget::init_layout()
{ {
m_session_layout=new QHBoxLayout(); m_session_layout = new QHBoxLayout();
m_session_table_btn_layout=new QVBoxLayout(); m_session_table_btn_layout = new QVBoxLayout();
splitter = new QSplitter(Qt::Horizontal); splitter = new QSplitter(Qt::Horizontal);
m_table_widget = new QWidget(); m_table_widget = new QWidget();
m_info_widget = new QWidget(); m_info_widget = new QWidget();
//会话列表顶部按钮布局 // 会话列表顶部按钮布局
m_session_btn_layout=new QHBoxLayout(); m_session_btn_layout = new QHBoxLayout();
m_btn_new_chat=new QPushButton(tr("新建")); m_btn_new_chat = new QPushButton(tr("新建"));
m_btn_new_chat->setObjectName("m_new_chat_btn"); m_btn_new_chat->setObjectName("m_new_chat_btn");
m_btn_new_chat->setIcon(QIcon(":/res/img/btn/btn_new_chat.png")); m_btn_new_chat->setIcon(QIcon(":/res/img/btn/btn_new_chat.png"));
m_btn_set_chat=new QPushButton(tr("设置")); m_btn_set_chat = new QPushButton(tr("设置"));
m_btn_set_chat->setObjectName("m_btn_set_chat"); m_btn_set_chat->setObjectName("m_btn_set_chat");
m_btn_set_chat->setIcon(QIcon(":/res/img/btn/btn_setting.png")); m_btn_set_chat->setIcon(QIcon(":/res/img/btn/btn_setting.png"));
m_btn_del_chat=new QPushButton("删除"); m_btn_del_chat = new QPushButton("删除");
m_btn_del_chat->setObjectName("m_btn_del_chat"); m_btn_del_chat->setObjectName("m_btn_del_chat");
m_btn_del_chat->setIcon(QIcon(tr(":/res/img/btn/btn_delete_chat.png"))); m_btn_del_chat->setIcon(QIcon(tr(":/res/img/btn/btn_delete_chat.png")));
@ -32,26 +40,38 @@ void ctai_session_widget::init_layout()
m_session_btn_layout->addWidget(m_btn_set_chat); m_session_btn_layout->addWidget(m_btn_set_chat);
m_session_btn_layout->addWidget(m_btn_del_chat); m_session_btn_layout->addWidget(m_btn_del_chat);
m_session_btn_layout->setContentsMargins(0, 0, 0, 0); m_session_btn_layout->setContentsMargins(0, 0, 0, 0);
//会话列表布局 // 会话列表布局
m_session_table_layout=new QHBoxLayout(); m_session_table_layout = new QHBoxLayout();
m_session_table=new ctai_session_table(); m_session_table = new QTableWidget();
int row = m_session_table->rowCount(); // 初始化设置界面
m_session_table->setItem(row, 0, new QTableWidgetItem("DEMO")); m_session_setting = new ctai_session_setting();
m_session_setting->hide(); // 初始时隐藏设置界面
is_setting_visible = false;
m_session_table->setColumnCount(1); // 设置列数为1
m_session_table->setSelectionBehavior(QAbstractItemView::SelectRows); // 整行选中
m_session_table->setSelectionMode(QAbstractItemView::SingleSelection); // 单行选择
m_session_table->verticalHeader()->hide(); // 隐藏行号
m_session_table->horizontalHeader()->hide(); // 隐藏表头
m_session_table->horizontalHeader()->setStretchLastSection(true); // 让列自动填充宽度
m_session_table->verticalHeader()->setDefaultSectionSize(40); // 设置默认行高
m_session_table->setStyleSheet("QTableWidget::item { padding: 8px; }"); // 设置内边距
m_session_table->setEditTriggers(QAbstractItemView::DoubleClicked |
QAbstractItemView::EditKeyPressed); // 允许编辑
m_session_table_layout->addWidget(m_session_table); m_session_table_layout->addWidget(m_session_table);
m_session_table_layout->addWidget(m_session_setting);
m_session_table_layout->setContentsMargins(0, 0, 0, 0); m_session_table_layout->setContentsMargins(0, 0, 0, 0);
//会话列表和按钮总布局 // 会话列表和按钮总布局
m_session_table_btn_layout->addLayout(m_session_btn_layout); m_session_table_btn_layout->addLayout(m_session_btn_layout);
m_session_table_btn_layout->addLayout(m_session_table_layout); m_session_table_btn_layout->addLayout(m_session_table_layout);
m_session_table_btn_layout->setStretch(1, 10); m_session_table_btn_layout->setStretch(1, 10);
m_session_table_btn_layout->setContentsMargins(0, 0, 0, 0); m_session_table_btn_layout->setContentsMargins(0, 0, 0, 0);
m_table_widget->setLayout(m_session_table_btn_layout); m_table_widget->setLayout(m_session_table_btn_layout);
//会话信息布局 // 会话信息布局
m_session_info_layout=new QHBoxLayout(); m_session_info_layout = new QHBoxLayout();
m_session_info=new ctai_session_info(); m_session_info_layout->addItem(sparcer_item);
m_session_info_layout->addWidget(m_session_info);
m_session_info_layout->setContentsMargins(0, 0, 0, 0); m_session_info_layout->setContentsMargins(0, 0, 0, 0);
m_info_widget->setLayout(m_session_info_layout); m_info_widget->setLayout(m_session_info_layout);
//窗口主布局 // 窗口主布局
splitter->addWidget(m_table_widget); splitter->addWidget(m_table_widget);
splitter->addWidget(m_info_widget); splitter->addWidget(m_info_widget);
splitter->setSizes({200, 600}); splitter->setSizes({200, 600});
@ -59,5 +79,117 @@ void ctai_session_widget::init_layout()
m_session_layout->setContentsMargins(0, 0, 0, 0); m_session_layout->setContentsMargins(0, 0, 0, 0);
setLayout(m_session_layout); setLayout(m_session_layout);
} }
void ctai_session_widget::connect_signals()
{
// 连接信号槽
connect(m_btn_new_chat, SIGNAL(clicked()), this, SLOT(on_new_chat_clicked()));
connect(m_btn_set_chat, SIGNAL(clicked()), this, SLOT(on_set_chat_clicked()));
connect(m_btn_del_chat, SIGNAL(clicked()), this, SLOT(on_del_chat_clicked()));
connect(m_session_table, &QTableWidget::currentCellChanged,
this, [this](int currentRow, int currentCol, int, int) {
on_session_selected(currentRow, currentCol);
});
// 连接表格项目编辑完成信号
connect(m_session_table, &QTableWidget::itemChanged,
this, &ctai_session_widget::on_session_name_changed);
}
void ctai_session_widget::on_new_chat_clicked()
{
// 生成唯一会话ID
QString session_id = QUuid::createUuid().toString(QUuid::WithoutBraces);
// 创建新的session对象
session* new_session = new session();
new_session->session_id = session_id;
new_session->session_name = tr("新会话");
new_session->session_type = "chat";
new_session->session_info = new ctai_session_info();
// 添加到vector中
m_session_map.push_back(new_session);
// 添加到表格中
int row = m_session_table->rowCount();
m_session_table->insertRow(row);
QTableWidgetItem* nameItem = new QTableWidgetItem(new_session->session_name);
m_session_table->setItem(row, 0, nameItem);
// 更新会话信息显示
m_session_info_layout->addWidget(new_session->session_info);
// 选中新创建的行
m_session_table->selectRow(row);
if (m_session_info_layout->count() > 0) {
// 移除弹簧
m_session_info_layout->removeItem(sparcer_item);
}
}
void ctai_session_widget::on_del_chat_clicked()
{
int currentRow = m_session_table->currentRow();
if (currentRow < 0 || currentRow >= m_session_map.size()) {
QMessageBox::warning(this, tr("警告"), tr("请先选择要删除的会话"));
return;
}
// 删除session对象
session* current_session = m_session_map[currentRow];
m_session_map.erase(m_session_map.begin() + currentRow);
delete current_session->session_info;
delete current_session;
// 从表格中删除
m_session_table->removeRow(currentRow);
}
void ctai_session_widget::on_session_selected(int currentRow, int currentColumn)
{
if (currentRow < 0 || currentRow >= m_session_map.size()) return;
// 获取选中的会话
session* current_session = m_session_map[currentRow];
// 清理当前布局
while (QLayoutItem* item = m_session_info_layout->takeAt(0)) {
if (QWidget* widget = item->widget()) {
widget->hide();
}
delete item;
}
// 显示新的会话信息
if (current_session && current_session->session_info) {
m_session_info_layout->addWidget(current_session->session_info);
current_session->session_info->show();
}
}
void ctai_session_widget::on_session_name_changed(QTableWidgetItem* item)
{
if (!item) return;
int row = item->row();
if (row < 0 || row >= m_session_map.size()) return;
// 更新 session 对象中的名称
session* current_session = m_session_map[row];
if (current_session) {
current_session->session_name = item->text();
}
}
void ctai_session_widget::on_set_chat_clicked()
{
is_setting_visible = !is_setting_visible;
if (is_setting_visible) {
m_session_table->hide();
m_session_setting->show();
m_btn_set_chat->setText(tr("返回"));
} else {
m_session_setting->hide();
m_session_table->show();
m_btn_set_chat->setText(tr("设置"));
}
}

View File

@ -7,10 +7,24 @@
#include <QGroupBox> #include <QGroupBox>
#include <QPushButton> #include <QPushButton>
#include <QMessageBox> #include <QMessageBox>
#include <QTableWidget>
#include <QObject> #include <QObject>
#include <QLabel> #include <QLabel>
#include "ctai_session_table.h" #include <QMap>
#include <QHeaderView>
#include <QString>
#include <QUuid>
#include "ctai_session_info.h" #include "ctai_session_info.h"
#include "ctai_session_setting.h"
typedef struct c_session
{
QString session_id;
QString session_name;
QString session_type;
ctai_session_info* session_info;
}session;
class ctai_session_widget : public QWidget class ctai_session_widget : public QWidget
{ {
Q_OBJECT Q_OBJECT
@ -18,6 +32,8 @@ public:
ctai_session_widget(); ctai_session_widget();
~ctai_session_widget(); ~ctai_session_widget();
void init_layout(); void init_layout();
private:
void on_session_selected(int currentRow, int currentColumn);
private: private:
//主布局,左右 //主布局,左右
QHBoxLayout *m_session_layout; QHBoxLayout *m_session_layout;
@ -33,10 +49,22 @@ private:
QPushButton *m_btn_del_chat; QPushButton *m_btn_del_chat;
//会话列表布局 //会话列表布局
QHBoxLayout *m_session_table_layout; QHBoxLayout *m_session_table_layout;
ctai_session_table* m_session_table; QTableWidget* m_session_table;
//会话信息布局 //会话信息布局
QHBoxLayout *m_session_info_layout; QHBoxLayout *m_session_info_layout;
ctai_session_info *m_session_info; //会话设置
ctai_session_setting *m_session_setting;
bool is_setting_visible;
// 会话管理mapkey为会话IDvalue为对应的会话信息对象
std::vector<session*> m_session_map;
QSpacerItem *sparcer_item = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed);
public slots:
void on_new_chat_clicked(); // 新建会话
void on_set_chat_clicked(); // 设置会话
void on_del_chat_clicked(); // 删除会话
void connect_signals();
private slots:
void on_session_name_changed(QTableWidgetItem* item); // 处理会话名称修改
}; };
#endif #endif

View File

@ -47,68 +47,52 @@ void sui::paintEvent(QPaintEvent *event)
void sui::region(const QPoint &currentGlobalPoint) void sui::region(const QPoint &currentGlobalPoint)
{ {
// 获取窗体在屏幕上的位置区域topLeft为坐上角点rightButton为右下角点
QRect rect = this->rect(); QRect rect = this->rect();
// 将左上角的(0,0)转化为全局坐标
QPoint topLeft = this->mapToGlobal(rect.topLeft()); QPoint topLeft = this->mapToGlobal(rect.topLeft());
QPoint rightButton = this->mapToGlobal(rect.bottomRight()); QPoint bottomRight = this->mapToGlobal(rect.bottomRight());
// 当前鼠标的坐标
int x = currentGlobalPoint.x(); int x = currentGlobalPoint.x();
int y = currentGlobalPoint.y(); int y = currentGlobalPoint.y();
if (((topLeft.x() + m_border_width >= x) && (topLeft.x() <= x)) && ((topLeft.y() + m_border_width >= y) && (topLeft.y() <= y)))
{ // 使用更清晰的边界检查
// 左上角 bool inLeftBorder = (x >= topLeft.x() && x <= topLeft.x() + m_border_width);
bool inTopBorder = (y >= topLeft.y() && y <= topLeft.y() + m_border_width);
bool inRightBorder = (x >= bottomRight.x() - m_border_width && x <= bottomRight.x());
bool inBottomBorder = (y >= bottomRight.y() - m_border_width && y <= bottomRight.y());
if (inLeftBorder && inTopBorder) {
ori = LEFTTOP; ori = LEFTTOP;
// 设置光标形状
this->setCursor(QCursor(Qt::SizeFDiagCursor)); this->setCursor(QCursor(Qt::SizeFDiagCursor));
} }
else if (((x >= rightButton.x() - m_border_width) && (x <= rightButton.x())) && ((y >= rightButton.y() - m_border_width) && (y <= rightButton.y()))) else if (inRightBorder && inBottomBorder) {
{
// 右下角
ori = RIGHTBOTTOM; ori = RIGHTBOTTOM;
this->setCursor(QCursor(Qt::SizeFDiagCursor)); this->setCursor(QCursor(Qt::SizeFDiagCursor));
} }
else if (((x <= topLeft.x() + m_border_width) && (x >= topLeft.x())) && ((y >= rightButton.y() - m_border_width) && (y <= rightButton.y()))) else if (inLeftBorder && inBottomBorder) {
{
// 左下角
ori = LEFTBOTTOM; ori = LEFTBOTTOM;
this->setCursor(QCursor(Qt::SizeBDiagCursor)); this->setCursor(QCursor(Qt::SizeBDiagCursor));
} }
else if (((x <= rightButton.x()) && (x >= rightButton.x() - m_border_width)) && ((y >= topLeft.y()) && (y <= topLeft.y() + m_border_width))) else if (inRightBorder && inTopBorder) {
{
// 右上角
ori = RIGHTTOP; ori = RIGHTTOP;
this->setCursor(QCursor(Qt::SizeBDiagCursor)); this->setCursor(QCursor(Qt::SizeBDiagCursor));
} }
else if ((x <= topLeft.x() + m_border_width) && (x >= topLeft.x())) else if (inLeftBorder) {
{
// 左边
ori = LEFT; ori = LEFT;
this->setCursor(QCursor(Qt::SizeHorCursor)); this->setCursor(QCursor(Qt::SizeHorCursor));
} }
else if ((x <= rightButton.x()) && (x >= rightButton.x() - m_border_width)) else if (inRightBorder) {
{
// 右边
ori = RIGHT; ori = RIGHT;
this->setCursor(QCursor(Qt::SizeHorCursor)); this->setCursor(QCursor(Qt::SizeHorCursor));
} }
else if ((y >= topLeft.y()) && (y <= topLeft.y() + m_border_width)) else if (inTopBorder) {
{
// 上边
ori = UP; ori = UP;
this->setCursor(QCursor(Qt::SizeVerCursor)); this->setCursor(QCursor(Qt::SizeVerCursor));
} }
else if ((y <= rightButton.y()) && (y >= rightButton.y() - m_border_width)) else if (inBottomBorder) {
{
// 下边
ori = DOWN; ori = DOWN;
this->setCursor(QCursor(Qt::SizeVerCursor)); this->setCursor(QCursor(Qt::SizeVerCursor));
} }
else else {
{
// 默认
ori = NONE; ori = NONE;
this->setCursor(QCursor(Qt::ArrowCursor)); this->setCursor(QCursor(Qt::ArrowCursor));
} }
@ -140,19 +124,27 @@ void sui::mousePressEvent(QMouseEvent *event)
} }
void sui::mouseMoveEvent(QMouseEvent *event) void sui::mouseMoveEvent(QMouseEvent *event)
{ {
// 添加最大化状态判断
if (this->windowState() & Qt::WindowMaximized) {
this->setCursor(QCursor(Qt::ArrowCursor));
return;
}
// 添加鼠标按钮判断
if (!(event->buttons() & Qt::LeftButton)) {
m_press = false;
}
QPoint globalPoint = event->globalPosition().toPoint(); QPoint globalPoint = event->globalPosition().toPoint();
QRect rect = this->rect(); QRect rect = this->rect();
QPoint topLeft = mapToGlobal(rect.topLeft()); QPoint topLeft = mapToGlobal(rect.topLeft());
QPoint bottomRight = mapToGlobal(rect.bottomRight()); QPoint bottomRight = mapToGlobal(rect.bottomRight());
if (this->windowState() != Qt::WindowMaximized) if (this->windowState() != Qt::WindowMaximized)
{ {
// 没有按下左键时 // 没有按下左键时才检测鼠标位置改变光标形状
if (!m_press) if (!m_press)
{ {
// 窗口大小的改变——判断鼠标位置,改变光标形状
this->region(globalPoint); this->region(globalPoint);
} }
else else
@ -259,7 +251,8 @@ void sui::mouseMoveEvent(QMouseEvent *event)
} }
else else
{ {
// 移动窗口 // 移动窗口时保持箭头光标
this->setCursor(QCursor(Qt::ArrowCursor));
move(event->globalPosition().toPoint() - m_point); move(event->globalPosition().toPoint() - m_point);
event->accept(); event->accept();
} }
@ -273,12 +266,8 @@ void sui::mouseReleaseEvent(QMouseEvent *event)
if (event->button() == Qt::LeftButton) if (event->button() == Qt::LeftButton)
{ {
m_press = false; m_press = false;
if (ori != NONE) ori = NONE; // 直接重置方向
{ this->setCursor(QCursor(Qt::ArrowCursor));
// 释放鼠标抓取 this->releaseMouse();
this->releaseMouse();
this->setCursor(QCursor(Qt::ArrowCursor));
ori = NONE;
}
} }
} }