diff --git a/res.qrc b/res.qrc index 7a0c5b3..38dca40 100644 --- a/res.qrc +++ b/res.qrc @@ -5,6 +5,8 @@ res/img/btn/btn_chat.png res/img/btn/btn_cmd.png res/img/btn/btn_tips.png + res/img/btn/btn_browser.png + res/img/btn/btn_model.png res/img/btn/btn_new_chat.png res/img/btn/btn_delete_chat.png @@ -24,7 +26,7 @@ res/img/btn/btn_info_up.png res/img/btn/btn_info_tokens.png res/img/btn/btn_history_to_send.png - res/img/btn/btn_restart_to_send.png + res/img/btn/btn_restart_to_send.png res/img/btn/btn_update.png res/img/btn/btn_download.png diff --git a/res/img/btn/btn_browser.png b/res/img/btn/btn_browser.png new file mode 100644 index 0000000..15fc8e7 Binary files /dev/null and b/res/img/btn/btn_browser.png differ diff --git a/res/img/btn/btn_model.png b/res/img/btn/btn_model.png new file mode 100644 index 0000000..78dbbc6 Binary files /dev/null and b/res/img/btn/btn_model.png differ diff --git a/src/OptionsWidget/ctaiCefOptionWidget.cpp b/src/OptionsWidget/ctaiCefOptionWidget.cpp new file mode 100644 index 0000000..1b1f86b --- /dev/null +++ b/src/OptionsWidget/ctaiCefOptionWidget.cpp @@ -0,0 +1,11 @@ +#include "ctaiCefOptionWidget.h" + +ctaiCefOptionWidget::ctaiCefOptionWidget(){ + initLayout(); +} +ctaiCefOptionWidget::~ctaiCefOptionWidget(){ + +} +void ctaiCefOptionWidget::initLayout(){ + +} \ No newline at end of file diff --git a/src/OptionsWidget/ctaiCefOptionWidget.h b/src/OptionsWidget/ctaiCefOptionWidget.h new file mode 100644 index 0000000..3188f24 --- /dev/null +++ b/src/OptionsWidget/ctaiCefOptionWidget.h @@ -0,0 +1,16 @@ +#ifndef CTAICEFOPTIONWIDGET_H +#define CTAICEFOPTIONWIDGET_H + +#include +class ctaiCefOptionWidget : public QWidget +{ + Q_OBJECT +public: + ctaiCefOptionWidget(); + ~ctaiCefOptionWidget(); + +private: + void initLayout(); +private: +}; +#endif diff --git a/src/OptionsWidget/ctaiGlobalOptionWidget.cpp b/src/OptionsWidget/ctaiGlobalOptionWidget.cpp new file mode 100644 index 0000000..35a3fba --- /dev/null +++ b/src/OptionsWidget/ctaiGlobalOptionWidget.cpp @@ -0,0 +1,10 @@ +#include "ctaiGlobalOptionWidget.h" + +ctaiGlobalOptionWidget::ctaiGlobalOptionWidget(){ + initLayout(); +} +ctaiGlobalOptionWidget::~ctaiGlobalOptionWidget(){ + +} +void ctaiGlobalOptionWidget::initLayout(){ +} \ No newline at end of file diff --git a/src/OptionsWidget/ctaiGlobalOptionWidget.h b/src/OptionsWidget/ctaiGlobalOptionWidget.h new file mode 100644 index 0000000..5246bd2 --- /dev/null +++ b/src/OptionsWidget/ctaiGlobalOptionWidget.h @@ -0,0 +1,16 @@ +#ifndef CTAIGLOBALOPTIONWIDGET_H +#define CTAIGLOBALOPTIONWIDGET_H + +#include +class ctaiGlobalOptionWidget : public QWidget +{ + Q_OBJECT +public: + ctaiGlobalOptionWidget(); + ~ctaiGlobalOptionWidget(); + +private: + void initLayout(); +private: +}; +#endif \ No newline at end of file diff --git a/src/OptionsWidget/ctaiModelOptionWidget.cpp b/src/OptionsWidget/ctaiModelOptionWidget.cpp new file mode 100644 index 0000000..2e21bb0 --- /dev/null +++ b/src/OptionsWidget/ctaiModelOptionWidget.cpp @@ -0,0 +1,11 @@ +#include "ctaiModelOptionWidget.h" + +ctaiModelOptionWidget::ctaiModelOptionWidget(){ + initLayout(); +} +ctaiModelOptionWidget::~ctaiModelOptionWidget(){ + +} +void ctaiModelOptionWidget::initLayout(){ + +} \ No newline at end of file diff --git a/src/OptionsWidget/ctaiModelOptionWidget.h b/src/OptionsWidget/ctaiModelOptionWidget.h new file mode 100644 index 0000000..01c3567 --- /dev/null +++ b/src/OptionsWidget/ctaiModelOptionWidget.h @@ -0,0 +1,16 @@ +#ifndef CTAIMODELOPTIONWIDGET_H +#define CTAIMODELOPTIONWIDGET_H + +#include +class ctaiModelOptionWidget : public QWidget +{ + Q_OBJECT +public: + ctaiModelOptionWidget(); + ~ctaiModelOptionWidget(); + +private: + void initLayout(); +private: +}; +#endif \ No newline at end of file diff --git a/src/OptionsWidget/ctaiOptions.cpp b/src/OptionsWidget/ctaiOptions.cpp new file mode 100644 index 0000000..cb2dfd7 --- /dev/null +++ b/src/OptionsWidget/ctaiOptions.cpp @@ -0,0 +1,18 @@ +#include "ctaiOptions.h" + +ctaiOptions::ctaiOptions(){ + initLayout(); +} +ctaiOptions::~ctaiOptions(){ + +} +void ctaiOptions::initLayout(){ + setTabBar(new ctaiTabBar); + setTabPosition(QTabWidget::West); + m_cef_options_widget=new QWidget(); + m_model_options_widget=new QWidget(); + m_global_options_widget=new QWidget(); + addTab(m_model_options_widget,QIcon(":/res/img/btn/btn_browser.png"),tr("模型设置")); + addTab(m_cef_options_widget,QIcon(":/res/img/btn/btn_model.png"),tr("CEF设置")); + addTab(m_global_options_widget,QIcon(":/res/img/btn/btn_setting.png"),tr("全局设置")); +} \ No newline at end of file diff --git a/src/OptionsWidget/ctaiOptions.h b/src/OptionsWidget/ctaiOptions.h new file mode 100644 index 0000000..87d4f47 --- /dev/null +++ b/src/OptionsWidget/ctaiOptions.h @@ -0,0 +1,21 @@ +#ifndef CTAIOPTIONS_H +#define CTAIOPTIONS_H + +#include +#include +#include "../ctaiTabBar.h" +class ctaiOptions : public QTabWidget +{ + Q_OBJECT +public: + ctaiOptions(); + ~ctaiOptions(); + +private: + void initLayout(); +private: + QWidget* m_cef_options_widget={}; + QWidget* m_model_options_widget={}; + QWidget* m_global_options_widget={}; +}; +#endif \ No newline at end of file diff --git a/src/QCefView/CefViewWidget.h b/src/QCefView/CefViewWidget.h index 04f321a..a530b08 100644 --- a/src/QCefView/CefViewWidget.h +++ b/src/QCefView/CefViewWidget.h @@ -1,15 +1,13 @@ -#ifndef CUSTOMCEFVIEW_H -#define CUSTOMCEFVIEW_H +#ifndef CEFVIEWWIDGET_H +#define CEFVIEWWIDGET_H +#include #include #include #include #include #include #include -#include - -#include #include #include "DownloadManager.h" /// diff --git a/src/ctaiTabBar.cpp b/src/ctaiTabBar.cpp index 854909b..512b8da 100644 --- a/src/ctaiTabBar.cpp +++ b/src/ctaiTabBar.cpp @@ -11,8 +11,9 @@ ctaiTabBar::~ctaiTabBar() QSize ctaiTabBar::tabSizeHint(int index) const { QSize size = QTabBar::tabSizeHint(index); - return QSize(size.width() + 60, size.height()-30); // 扩大标签尺寸 + return QSize(size.width() + 80, size.height()-30); // 扩大标签尺寸 } + void ctaiTabBar::paintEvent(QPaintEvent *event) { //创建一个QStylePainter对象painter,用于绘制此小部件的样式元素 diff --git a/src/ctaiTabBar.h b/src/ctaiTabBar.h index e496540..8497cac 100644 --- a/src/ctaiTabBar.h +++ b/src/ctaiTabBar.h @@ -9,7 +9,7 @@ class ctaiTabBar : public QTabBar { Q_OBJECT public: -ctaiTabBar(); + ctaiTabBar(); ~ctaiTabBar(); protected: QSize tabSizeHint(int index) const override; diff --git a/src/ctaiTabWidget.cpp b/src/ctaiTabWidget.cpp index e105d2b..514e53f 100644 --- a/src/ctaiTabWidget.cpp +++ b/src/ctaiTabWidget.cpp @@ -10,10 +10,11 @@ void ctaiTabWidget::init_layout(){ setTabBar(new ctaiTabBar); setTabPosition(QTabWidget::West); m_session_widget=new ctaiSessionWidget(); + m_options_tabwidget=new ctaiOptions(); addTab(m_session_widget,QIcon(":/res/img/btn/btn_chat.png"),tr("会话")); addTab(new ctaiCmd(),QIcon(":/res/img/btn/btn_cmd.png"),tr("命令行")); addTab(new QWidget(),QIcon(":/res/img/btn/btn_knowledge.png"),tr("知识库")); addTab(new QWidget(),QIcon(":/res/img/btn/btn_tips.png"),tr("提示词")); - addTab(new QWidget(),QIcon(":/res/img/btn/btn_setting.png"),tr("设置")); + addTab(m_options_tabwidget,QIcon(":/res/img/btn/btn_setting.png"),tr("设置")); addTab(new QWidget(),QIcon(":/res/img/btn/btn_about.png"),tr("关于")); } \ No newline at end of file diff --git a/src/ctaiTabWidget.h b/src/ctaiTabWidget.h index ad282a9..7a3a64b 100644 --- a/src/ctaiTabWidget.h +++ b/src/ctaiTabWidget.h @@ -6,6 +6,7 @@ #include #include "ctaiTabBar.h" #include "ctaiSessionWidget.h" +#include "OptionsWidget/ctaiOptions.h" #include "ctaiCmd.h" class ctaiTabWidget : public QTabWidget { @@ -16,6 +17,7 @@ ctaiTabWidget(); void init_layout(); private: ctaiSessionWidget* m_session_widget; + ctaiOptions* m_options_tabwidget; }; #endif // CTAI_TABWIDGET_H diff --git a/src/main.cpp b/src/main.cpp index df03d03..53fcf6b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,6 +9,8 @@ int main(int argc, char *argv[]) { QString exeDir = QDir::currentPath(); + QCoreApplication::addLibraryPath(exeDir+"/cef_binary/Release"); + qDebug()<<"error:"<