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:"<