修复了sui界面鼠标乱蹦的问题
This commit is contained in:
parent
692eade472
commit
97e7610b0c
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -88,7 +88,8 @@
|
||||
"qhboxlayout": "cpp",
|
||||
"qlineedit": "cpp",
|
||||
"qcombobox": "cpp",
|
||||
"qlistwidget": "cpp"
|
||||
"qlistwidget": "cpp",
|
||||
"qgroupbox": "cpp"
|
||||
},
|
||||
"editor.gotoLocation.alternativeDeclarationCommand": "editor.action.revealDefinition",
|
||||
"editor.gotoLocation.alternativeDefinitionCommand": "editor.action.revealDefinition",
|
||||
|
||||
Binary file not shown.
@ -1,33 +1,66 @@
|
||||
# ninja log v6
|
||||
4424 9535 7624404759365303 CMakeFiles/ctai.dir/src/ctai_msg_table.cpp.obj e15b530df9d9d77c
|
||||
17 285 7624406103518392 ctai_autogen/timestamp da3870ebc94b983e
|
||||
4426 15149 7624404759382694 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 53e501d667fcd97a
|
||||
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
|
||||
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
|
||||
3769 15558 7624406141021337 F:/SourceCode/ctai/release/ctai.exe 5bbcc239c00bb3a9
|
||||
17 285 7624406103518392 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
10077 21316 7624446323660465 F:/SourceCode/ctai/release/ctai.exe 8d3efc8221468516
|
||||
18 251 7624446224390892 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
13031 29305 7624392788487480 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48
|
||||
286 498 7624406108211182 qrc_res.cpp 9794859fafc6825
|
||||
4420 16045 7624404759315326 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 9024cb90a9e8c9bc
|
||||
17 271 7624406980833829 qrc_res.cpp 9794859fafc6825
|
||||
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
|
||||
7081 13948 7624392728989606 CMakeFiles/ctai.dir/src/ctai_cmd.cpp.obj f4713b73c1c6e0d5
|
||||
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
|
||||
13484 29551 7624392793022469 CMakeFiles/ctai.dir/src/sui_title.cpp.obj f63cb863fd4bb908
|
||||
4435 15352 7624404759462490 CMakeFiles/ctai.dir/src/main.cpp.obj 413b9816064f9d57
|
||||
17 285 7624406103518392 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
4428 14292 7624404759400089 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 4e60e53557e3d9df
|
||||
13419 18692 7624392792374462 CMakeFiles/ctai.dir/src/sui_sys_style.cpp.obj 60b8b6c16c71de62
|
||||
286 498 7624406108211182 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
|
||||
7092 13031 7624392729099354 CMakeFiles/ctai.dir/src/ctai_session_docker.cpp.obj 215fc89727d9e8c1
|
||||
499 3769 7624406108332925 CMakeFiles/ctai.dir/src/ctai_textedit.cpp.obj 97631ab5de89dd57
|
||||
14853 15670 7624392806712393 CMakeFiles/ctai.dir/sui.rc.obj 222e0b180d90e3cd
|
||||
4430 14320 7624404759427528 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj f5aadec87761fa2
|
||||
501 3197 7624406108350329 CMakeFiles/ctai.dir/qrc_res.cpp.obj a369fd70be247e68
|
||||
7101 13419 7624392729187697 CMakeFiles/ctai.dir/src/ctai_switch_control.cpp.obj 73976d0d057b09cb
|
||||
4422 15061 7624404759347914 CMakeFiles/ctai.dir/src/ctai.cpp.obj 94cd69a700aed52c
|
||||
4426 15149 7624404759382694 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 53e501d667fcd97a
|
||||
17 271 7624406980833829 qrc_res.cpp 9794859fafc6825
|
||||
17 271 7624406980833829 F:/SourceCode/ctai/build/qrc_res.cpp 9794859fafc6825
|
||||
272 3225 7624406980913454 CMakeFiles/ctai.dir/qrc_res.cpp.obj a369fd70be247e68
|
||||
3225 15258 7624407010444222 F:/SourceCode/ctai/release/ctai.exe 5bbcc239c00bb3a9
|
||||
18 4510 7624458479781839 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 4510 7624458479781839 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 4510 7624458479781839 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 4510 7624458479781839 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
4517 8327 7624458480990866 CMakeFiles/ctai.dir/src/ctai_session_setting.cpp.obj 3e9afd6da0c01049
|
||||
4520 14573 7624458481032281 CMakeFiles/ctai.dir/src/ctai_tabwidget.cpp.obj f5aadec87761fa2
|
||||
4518 14733 7624458481005910 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 4e60e53557e3d9df
|
||||
4515 15124 7624458480973475 CMakeFiles/ctai.dir/src/ctai_session_info.cpp.obj 53e501d667fcd97a
|
||||
4512 15171 7624458480938690 CMakeFiles/ctai.dir/src/ctai.cpp.obj 94cd69a700aed52c
|
||||
4523 15241 7624458481051288 CMakeFiles/ctai.dir/src/main.cpp.obj 413b9816064f9d57
|
||||
4510 16194 7624458480921292 CMakeFiles/ctai.dir/ctai_autogen/mocs_compilation.cpp.obj 9024cb90a9e8c9bc
|
||||
16194 27120 7624458597753646 F:/SourceCode/ctai/release/ctai.exe fb71333a7cdf2df2
|
||||
18 274 7624466975620911 ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 274 7624466975620911 ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
18 274 7624466975620911 F:/SourceCode/ctai/build/ctai_autogen/timestamp da3870ebc94b983e
|
||||
18 274 7624466975620911 F:/SourceCode/ctai/build/ctai_autogen/mocs_compilation.cpp da3870ebc94b983e
|
||||
277 7601 7624466978217787 CMakeFiles/ctai.dir/src/sui.cpp.obj 4473bc703c38ef48
|
||||
275 8182 7624466978197541 CMakeFiles/ctai.dir/src/ctai_session_widget.cpp.obj 4e60e53557e3d9df
|
||||
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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -448,12 +448,6 @@
|
||||
"UVLADIE3JM/moc_ctai_parsestring.cpp",
|
||||
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",
|
||||
"MU",
|
||||
@ -461,9 +455,9 @@
|
||||
null
|
||||
],
|
||||
[
|
||||
"F:/SourceCode/ctai/src/ctai_session_table.h",
|
||||
"F:/SourceCode/ctai/src/ctai_session_setting.h",
|
||||
"MU",
|
||||
"UVLADIE3JM/moc_ctai_session_table.cpp",
|
||||
"UVLADIE3JM/moc_ctai_session_setting.cpp",
|
||||
null
|
||||
],
|
||||
[
|
||||
@ -611,9 +605,8 @@
|
||||
[ "F:/SourceCode/ctai/src/ctai_curl.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_session_docker.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_switch_control.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
@ -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/QThread \
|
||||
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/QtCore \
|
||||
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/QGroupBox \
|
||||
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/QLabel \
|
||||
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/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/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/qlabel.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_parsestring.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_switch_control.h \
|
||||
F:/SourceCode/ctai/src/ctai_tabbar.h \
|
||||
|
||||
@ -36,7 +36,15 @@ namespace {
|
||||
#ifdef QT_MOC_HAS_STRINGDATA
|
||||
struct qt_meta_stringdata_CLASSctai_session_widgetENDCLASS_t {};
|
||||
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
|
||||
#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
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
5, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags, initial metatype offsets
|
||||
1, 0, 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
|
||||
};
|
||||
|
||||
@ -67,17 +89,36 @@ Q_CONSTINIT const QMetaObject ctai_session_widget::staticMetaObject = { {
|
||||
nullptr,
|
||||
qt_incomplete_metaTypeArray<qt_meta_stringdata_CLASSctai_session_widgetENDCLASS_t,
|
||||
// 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
|
||||
} };
|
||||
|
||||
void ctai_session_widget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
(void)_o;
|
||||
(void)_id;
|
||||
(void)_c;
|
||||
(void)_a;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<ctai_session_widget *>(_o);
|
||||
(void)_t;
|
||||
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
|
||||
@ -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)
|
||||
{
|
||||
_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;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
|
||||
@ -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/QStringList \
|
||||
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/QtCore \
|
||||
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/QGroupBox \
|
||||
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/QLineEdit \
|
||||
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/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/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/qlayout.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_parsestring.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_textedit.h \
|
||||
F:/SourceCode/vcpkg/installed/x64-mingw-static/include/curl/curl.h \
|
||||
|
||||
@ -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/QStringList \
|
||||
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/QtCore \
|
||||
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/QGroupBox \
|
||||
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/QLineEdit \
|
||||
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/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/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/qlayout.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_parsestring.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_switch_control.h \
|
||||
F:/SourceCode/ctai/src/ctai_tabbar.h \
|
||||
|
||||
@ -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/QThread \
|
||||
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/QtCore \
|
||||
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/QActionGroup \
|
||||
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/QDesktopServices \
|
||||
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/QComboBox \
|
||||
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/QFileIconProvider \
|
||||
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/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/QLabel \
|
||||
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/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/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/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/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/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/qlabel.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_parsestring.cpp \
|
||||
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.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_table.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_session_table.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_setting.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_session_setting.h \
|
||||
F:/SourceCode/ctai/src/ctai_session_widget.cpp \
|
||||
F:/SourceCode/ctai/src/ctai_session_widget.h \
|
||||
F:/SourceCode/ctai/src/ctai_switch_control.cpp \
|
||||
|
||||
@ -3,9 +3,8 @@
|
||||
#include "UVLADIE3JM/moc_ctai_cmd.cpp"
|
||||
#include "UVLADIE3JM/moc_ctai_curl.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_table.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"
|
||||
|
||||
BIN
release/ctai.exe
BIN
release/ctai.exe
Binary file not shown.
@ -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);
|
||||
}
|
||||
@ -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
|
||||
@ -46,6 +46,7 @@ private:
|
||||
ctai_switch_control *m_stream_switch;
|
||||
QHBoxLayout *m_session_user_btn_layout;
|
||||
QVBoxLayout *m_session_user_group_layout;
|
||||
|
||||
|
||||
//按钮信息
|
||||
QStringList m_user_btn_list = {"btn_user_new_chat",
|
||||
|
||||
63
src/ctai_session_setting.cpp
Normal file
63
src/ctai_session_setting.cpp
Normal 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()
|
||||
{
|
||||
// 在这里添加信号和槽的连接
|
||||
}
|
||||
41
src/ctai_session_setting.h
Normal file
41
src/ctai_session_setting.h
Normal 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
|
||||
@ -1,9 +0,0 @@
|
||||
#include "ctai_session_table.h"
|
||||
|
||||
ctai_session_table::ctai_session_table()
|
||||
{
|
||||
}
|
||||
|
||||
ctai_session_table::~ctai_session_table()
|
||||
{
|
||||
}
|
||||
@ -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
|
||||
@ -3,55 +3,75 @@
|
||||
ctai_session_widget::ctai_session_widget()
|
||||
{
|
||||
init_layout();
|
||||
connect_signals();
|
||||
}
|
||||
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()
|
||||
{
|
||||
m_session_layout=new QHBoxLayout();
|
||||
m_session_table_btn_layout=new QVBoxLayout();
|
||||
m_session_layout = new QHBoxLayout();
|
||||
m_session_table_btn_layout = new QVBoxLayout();
|
||||
splitter = new QSplitter(Qt::Horizontal);
|
||||
m_table_widget = new QWidget();
|
||||
m_info_widget = new QWidget();
|
||||
//会话列表顶部按钮布局
|
||||
m_session_btn_layout=new QHBoxLayout();
|
||||
m_btn_new_chat=new QPushButton(tr("新建"));
|
||||
// 会话列表顶部按钮布局
|
||||
m_session_btn_layout = new QHBoxLayout();
|
||||
m_btn_new_chat = new QPushButton(tr("新建"));
|
||||
m_btn_new_chat->setObjectName("m_new_chat_btn");
|
||||
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->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->setIcon(QIcon(tr(":/res/img/btn/btn_delete_chat.png")));
|
||||
|
||||
m_session_btn_layout->addWidget(m_btn_new_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_table_layout=new QHBoxLayout();
|
||||
m_session_table=new ctai_session_table();
|
||||
int row = m_session_table->rowCount();
|
||||
m_session_table->setItem(row, 0, new QTableWidgetItem("DEMO"));
|
||||
// 会话列表布局
|
||||
m_session_table_layout = new QHBoxLayout();
|
||||
m_session_table = new QTableWidget();
|
||||
// 初始化设置界面
|
||||
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_setting);
|
||||
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_table_layout);
|
||||
m_session_table_btn_layout->setStretch(1, 10);
|
||||
m_session_table_btn_layout->setContentsMargins(0, 0, 0, 0);
|
||||
m_table_widget->setLayout(m_session_table_btn_layout);
|
||||
//会话信息布局
|
||||
m_session_info_layout=new QHBoxLayout();
|
||||
m_session_info=new ctai_session_info();
|
||||
m_session_info_layout->addWidget(m_session_info);
|
||||
// 会话信息布局
|
||||
m_session_info_layout = new QHBoxLayout();
|
||||
m_session_info_layout->addItem(sparcer_item);
|
||||
m_session_info_layout->setContentsMargins(0, 0, 0, 0);
|
||||
m_info_widget->setLayout(m_session_info_layout);
|
||||
//窗口主布局
|
||||
// 窗口主布局
|
||||
splitter->addWidget(m_table_widget);
|
||||
splitter->addWidget(m_info_widget);
|
||||
splitter->setSizes({200, 600});
|
||||
@ -59,5 +79,117 @@ void ctai_session_widget::init_layout()
|
||||
m_session_layout->setContentsMargins(0, 0, 0, 0);
|
||||
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("设置"));
|
||||
}
|
||||
}
|
||||
@ -7,10 +7,24 @@
|
||||
#include <QGroupBox>
|
||||
#include <QPushButton>
|
||||
#include <QMessageBox>
|
||||
#include <QTableWidget>
|
||||
#include <QObject>
|
||||
#include <QLabel>
|
||||
#include "ctai_session_table.h"
|
||||
#include <QMap>
|
||||
#include <QHeaderView>
|
||||
#include <QString>
|
||||
#include <QUuid>
|
||||
|
||||
#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
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -18,6 +32,8 @@ public:
|
||||
ctai_session_widget();
|
||||
~ctai_session_widget();
|
||||
void init_layout();
|
||||
private:
|
||||
void on_session_selected(int currentRow, int currentColumn);
|
||||
private:
|
||||
//主布局,左右
|
||||
QHBoxLayout *m_session_layout;
|
||||
@ -33,10 +49,22 @@ private:
|
||||
QPushButton *m_btn_del_chat;
|
||||
//会话列表布局
|
||||
QHBoxLayout *m_session_table_layout;
|
||||
ctai_session_table* m_session_table;
|
||||
QTableWidget* m_session_table;
|
||||
//会话信息布局
|
||||
QHBoxLayout *m_session_info_layout;
|
||||
ctai_session_info *m_session_info;
|
||||
//会话设置
|
||||
ctai_session_setting *m_session_setting;
|
||||
bool is_setting_visible;
|
||||
// 会话管理map,key为会话ID,value为对应的会话信息对象
|
||||
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
|
||||
83
src/sui.cpp
83
src/sui.cpp
@ -47,68 +47,52 @@ void sui::paintEvent(QPaintEvent *event)
|
||||
|
||||
void sui::region(const QPoint ¤tGlobalPoint)
|
||||
{
|
||||
// 获取窗体在屏幕上的位置区域,topLeft为坐上角点,rightButton为右下角点
|
||||
QRect rect = this->rect();
|
||||
QPoint topLeft = this->mapToGlobal(rect.topLeft());
|
||||
QPoint bottomRight = this->mapToGlobal(rect.bottomRight());
|
||||
|
||||
// 将左上角的(0,0)转化为全局坐标
|
||||
QPoint topLeft = this->mapToGlobal(rect.topLeft());
|
||||
QPoint rightButton = this->mapToGlobal(rect.bottomRight());
|
||||
|
||||
// 当前鼠标的坐标
|
||||
int x = currentGlobalPoint.x();
|
||||
int x = currentGlobalPoint.x();
|
||||
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;
|
||||
// 设置光标形状
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
this->setCursor(QCursor(Qt::SizeBDiagCursor));
|
||||
}
|
||||
else if ((x <= topLeft.x() + m_border_width) && (x >= topLeft.x()))
|
||||
{
|
||||
// 左边
|
||||
else if (inLeftBorder) {
|
||||
ori = LEFT;
|
||||
this->setCursor(QCursor(Qt::SizeHorCursor));
|
||||
}
|
||||
else if ((x <= rightButton.x()) && (x >= rightButton.x() - m_border_width))
|
||||
{
|
||||
// 右边
|
||||
else if (inRightBorder) {
|
||||
ori = RIGHT;
|
||||
this->setCursor(QCursor(Qt::SizeHorCursor));
|
||||
}
|
||||
else if ((y >= topLeft.y()) && (y <= topLeft.y() + m_border_width))
|
||||
{
|
||||
// 上边
|
||||
else if (inTopBorder) {
|
||||
ori = UP;
|
||||
this->setCursor(QCursor(Qt::SizeVerCursor));
|
||||
}
|
||||
else if ((y <= rightButton.y()) && (y >= rightButton.y() - m_border_width))
|
||||
{
|
||||
// 下边
|
||||
else if (inBottomBorder) {
|
||||
ori = DOWN;
|
||||
this->setCursor(QCursor(Qt::SizeVerCursor));
|
||||
}
|
||||
else
|
||||
{
|
||||
// 默认
|
||||
else {
|
||||
ori = NONE;
|
||||
this->setCursor(QCursor(Qt::ArrowCursor));
|
||||
}
|
||||
@ -140,19 +124,27 @@ void sui::mousePressEvent(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();
|
||||
|
||||
QRect rect = this->rect();
|
||||
QPoint topLeft = mapToGlobal(rect.topLeft());
|
||||
QPoint bottomRight = mapToGlobal(rect.bottomRight());
|
||||
|
||||
if (this->windowState() != Qt::WindowMaximized)
|
||||
{
|
||||
// 没有按下左键时
|
||||
// 没有按下左键时才检测鼠标位置改变光标形状
|
||||
if (!m_press)
|
||||
{
|
||||
// 窗口大小的改变——判断鼠标位置,改变光标形状
|
||||
this->region(globalPoint);
|
||||
}
|
||||
else
|
||||
@ -259,7 +251,8 @@ void sui::mouseMoveEvent(QMouseEvent *event)
|
||||
}
|
||||
else
|
||||
{
|
||||
// 移动窗口
|
||||
// 移动窗口时保持箭头光标
|
||||
this->setCursor(QCursor(Qt::ArrowCursor));
|
||||
move(event->globalPosition().toPoint() - m_point);
|
||||
event->accept();
|
||||
}
|
||||
@ -273,12 +266,8 @@ void sui::mouseReleaseEvent(QMouseEvent *event)
|
||||
if (event->button() == Qt::LeftButton)
|
||||
{
|
||||
m_press = false;
|
||||
if (ori != NONE)
|
||||
{
|
||||
// 释放鼠标抓取
|
||||
this->releaseMouse();
|
||||
this->setCursor(QCursor(Qt::ArrowCursor));
|
||||
ori = NONE;
|
||||
}
|
||||
ori = NONE; // 直接重置方向
|
||||
this->setCursor(QCursor(Qt::ArrowCursor));
|
||||
this->releaseMouse();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user