diff --git a/src/ctaiHistoryTextEdit.cpp b/src/ctaiHistoryTextEdit.cpp index 6af012b..8e8593e 100644 --- a/src/ctaiHistoryTextEdit.cpp +++ b/src/ctaiHistoryTextEdit.cpp @@ -23,6 +23,7 @@ void ctaiHistoryTextEdit::init_layout(msg_type msg_type_mode) main_layout->setSpacing(1); main_layout->setContentsMargins(0, 0, 0, 0); setLayout(main_layout); + set_default_opts(); connect_signals(msg_type_mode); } void ctaiHistoryTextEdit::init_msg_line() @@ -108,6 +109,9 @@ void ctaiHistoryTextEdit::init_msg_header_layout(msg_type msg_type_mode) header_layout->addLayout(header_info_layout); } } +void ctaiHistoryTextEdit::set_default_opts(){ + m_msg_history->setFont(QFont(m_font,m_font_size)); +} void ctaiHistoryTextEdit::connect_signals(msg_type msg_type_mode) { if (msg_type_mode == SYSTEM) @@ -206,11 +210,16 @@ void ctaiHistoryTextEdit::on_display_changed(QString mode) { m_msg_history->setText(m_current_content); } - else if (mode == "LaTeX Markdown") + else if (mode == "HTML源码") { - m_msg_history->setHtml(m_math_convert->replace_tags_svg(m_current_content)); + + }else if(mode == "HTML渲染"){ + + }else if(mode == "Markdown源码"){ + + }else if(mode == "Markdown渲染"){ + m_msg_history->setMarkdown(m_math_convert->replace_tags_svg(m_current_content,m_font_size)); qDebug() << "LaTeX Markdown:" << m_msg_history->toMarkdown(); - qDebug() << "Html:" << m_msg_history->toHtml(); } } // tokens按钮实现功能的槽函数 diff --git a/src/ctaiHistoryTextEdit.h b/src/ctaiHistoryTextEdit.h index 807b9d4..b0404fe 100644 --- a/src/ctaiHistoryTextEdit.h +++ b/src/ctaiHistoryTextEdit.h @@ -80,6 +80,7 @@ signals: private: void connect_signals(msg_type msg_type_mode); // 连接信号和槽 + void set_default_opts(); private: ctaiMathConvert *m_math_convert; QFrame *msg_line; @@ -118,8 +119,12 @@ private: QString m_msg_sned_id = {}; // 本次信息 QString m_current_content; - QString m_font = "Arial"; - int m_font_size = 8; + //默认字体跟随软件全局字体 + QString m_font = sui_font_table[sui_config.font];//"Arial"; + //粗体字 + bool m_bold=false; + //字号大小 + int m_font_size = 14; QSpacerItem *bottom_spacer = new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding); }; diff --git a/src/ctaiHistoryTools.cpp b/src/ctaiHistoryTools.cpp index a84c124..a075a28 100644 --- a/src/ctaiHistoryTools.cpp +++ b/src/ctaiHistoryTools.cpp @@ -63,6 +63,8 @@ void ctaiHistoryTools::initDisplayMode() for(auto str:sui_font_table){ m_msg_display_font_combobox->addItem(str); } + m_msg_display_font_size_combobox->setCurrentIndex(5); + m_msg_display_font_combobox->setCurrentIndex(sui_config.font); } void ctaiHistoryTools::initConnect() { diff --git a/src/ctaiHistoryTools.h b/src/ctaiHistoryTools.h index 246cabf..ce958e6 100644 --- a/src/ctaiHistoryTools.h +++ b/src/ctaiHistoryTools.h @@ -40,7 +40,7 @@ private: QAction *m_msg_save_markdown = {}; QAction *m_msg_save_pdf = {}; QSpacerItem *sparcer_item = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed); - QStringList ds_mode_str={"原始文本","LaTeX Markdown"}; + QStringList ds_mode_str={"原始文本","HTML源码","HTML渲染","Markdown源码","Markdown渲染"}; QStringList ds_font_size_str={"4","6","8","10","12","14","16","18","20"}; private: diff --git a/src/ctaiMathConvert.cpp b/src/ctaiMathConvert.cpp index f6fce8b..6c98e5e 100644 --- a/src/ctaiMathConvert.cpp +++ b/src/ctaiMathConvert.cpp @@ -69,8 +69,9 @@ QString ctaiMathConvert::clean_latex_for_mula(const QString &formula) return result; } -QString ctaiMathConvert::replace_tags_svg(const QString &text) +QString ctaiMathConvert::replace_tags_svg(const QString &text,int font_size) { + m_text_size=font_size; //QString result("4566545646\\[\n f'(a) = \\lim_{h \\to 0} \\frac{f(a + h) - f(a)}{h}\n \\]654564646"); QString result=text; // 使用改进的正则表达式模式 @@ -100,12 +101,12 @@ QString ctaiMathConvert::replace_tags_svg(const QString &text) debug_latex_match(result, match); // 清理和转换公式 //QString cleanFormula = clean_latex_for_mula(matchedText); - //QString svg_markdown = markdown_base + math_convert_svg(matchedText) + ")"; - QString svg_html = html_base + math_convert_svg(matchedText) + "/>"; + QString svg_markdown = markdown_base + math_convert_svg(matchedText) + ")"; + //QString svg_html = html_base + math_convert_svg(matchedText) + "/>"; // 保存替换信息 replacements.prepend({match.capturedStart(), match.capturedLength()}); - //svgResults.prepend(svg_markdown); - svgResults.prepend(svg_html); + svgResults.prepend(svg_markdown); + //svgResults.prepend(svg_html); } // 从后向前执行替换,避免位置改变影响 diff --git a/src/ctaiMathConvert.h b/src/ctaiMathConvert.h index 87bb067..bdfc552 100644 --- a/src/ctaiMathConvert.h +++ b/src/ctaiMathConvert.h @@ -42,7 +42,7 @@ class ctaiMathConvert :public QObject public: explicit ctaiMathConvert(); ~ctaiMathConvert(); - QString replace_tags_svg(const QString &text); + QString replace_tags_svg(const QString &text,int font_size); void set_convert_opts(); void save_svg(QPixmap& img); @@ -53,7 +53,7 @@ private: QByteArray svg_to_base64(QPixmap& pix); TexGuard texGuard; //宽度 - int m_render_width=300; + int m_render_width=600; int m_render_height=64; //文本大小 int m_text_size=20;