增加渲染方式
This commit is contained in:
parent
8874cf2462
commit
2dde514696
@ -23,6 +23,7 @@ void ctaiHistoryTextEdit::init_layout(msg_type msg_type_mode)
|
|||||||
main_layout->setSpacing(1);
|
main_layout->setSpacing(1);
|
||||||
main_layout->setContentsMargins(0, 0, 0, 0);
|
main_layout->setContentsMargins(0, 0, 0, 0);
|
||||||
setLayout(main_layout);
|
setLayout(main_layout);
|
||||||
|
set_default_opts();
|
||||||
connect_signals(msg_type_mode);
|
connect_signals(msg_type_mode);
|
||||||
}
|
}
|
||||||
void ctaiHistoryTextEdit::init_msg_line()
|
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);
|
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)
|
void ctaiHistoryTextEdit::connect_signals(msg_type msg_type_mode)
|
||||||
{
|
{
|
||||||
if (msg_type_mode == SYSTEM)
|
if (msg_type_mode == SYSTEM)
|
||||||
@ -206,11 +210,16 @@ void ctaiHistoryTextEdit::on_display_changed(QString mode)
|
|||||||
{
|
{
|
||||||
m_msg_history->setText(m_current_content);
|
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() << "LaTeX Markdown:" << m_msg_history->toMarkdown();
|
||||||
qDebug() << "Html:" << m_msg_history->toHtml();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// tokens按钮实现功能的槽函数
|
// tokens按钮实现功能的槽函数
|
||||||
|
|||||||
@ -80,6 +80,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void connect_signals(msg_type msg_type_mode); // 连接信号和槽
|
void connect_signals(msg_type msg_type_mode); // 连接信号和槽
|
||||||
|
void set_default_opts();
|
||||||
private:
|
private:
|
||||||
ctaiMathConvert *m_math_convert;
|
ctaiMathConvert *m_math_convert;
|
||||||
QFrame *msg_line;
|
QFrame *msg_line;
|
||||||
@ -118,8 +119,12 @@ private:
|
|||||||
QString m_msg_sned_id = {};
|
QString m_msg_sned_id = {};
|
||||||
// 本次信息
|
// 本次信息
|
||||||
QString m_current_content;
|
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);
|
QSpacerItem *bottom_spacer = new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -63,6 +63,8 @@ void ctaiHistoryTools::initDisplayMode()
|
|||||||
for(auto str:sui_font_table){
|
for(auto str:sui_font_table){
|
||||||
m_msg_display_font_combobox->addItem(str);
|
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()
|
void ctaiHistoryTools::initConnect()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -40,7 +40,7 @@ private:
|
|||||||
QAction *m_msg_save_markdown = {};
|
QAction *m_msg_save_markdown = {};
|
||||||
QAction *m_msg_save_pdf = {};
|
QAction *m_msg_save_pdf = {};
|
||||||
QSpacerItem *sparcer_item = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed);
|
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"};
|
QStringList ds_font_size_str={"4","6","8","10","12","14","16","18","20"};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -69,8 +69,9 @@ QString ctaiMathConvert::clean_latex_for_mula(const QString &formula)
|
|||||||
return result;
|
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("4566545646\\[\n f'(a) = \\lim_{h \\to 0} \\frac{f(a + h) - f(a)}{h}\n \\]654564646");
|
||||||
QString result=text;
|
QString result=text;
|
||||||
// 使用改进的正则表达式模式
|
// 使用改进的正则表达式模式
|
||||||
@ -100,12 +101,12 @@ QString ctaiMathConvert::replace_tags_svg(const QString &text)
|
|||||||
debug_latex_match(result, match);
|
debug_latex_match(result, match);
|
||||||
// 清理和转换公式
|
// 清理和转换公式
|
||||||
//QString cleanFormula = clean_latex_for_mula(matchedText);
|
//QString cleanFormula = clean_latex_for_mula(matchedText);
|
||||||
//QString svg_markdown = markdown_base + math_convert_svg(matchedText) + ")";
|
QString svg_markdown = markdown_base + math_convert_svg(matchedText) + ")";
|
||||||
QString svg_html = html_base + math_convert_svg(matchedText) + "/>";
|
//QString svg_html = html_base + math_convert_svg(matchedText) + "/>";
|
||||||
// 保存替换信息
|
// 保存替换信息
|
||||||
replacements.prepend({match.capturedStart(), match.capturedLength()});
|
replacements.prepend({match.capturedStart(), match.capturedLength()});
|
||||||
//svgResults.prepend(svg_markdown);
|
svgResults.prepend(svg_markdown);
|
||||||
svgResults.prepend(svg_html);
|
//svgResults.prepend(svg_html);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 从后向前执行替换,避免位置改变影响
|
// 从后向前执行替换,避免位置改变影响
|
||||||
|
|||||||
@ -42,7 +42,7 @@ class ctaiMathConvert :public QObject
|
|||||||
public:
|
public:
|
||||||
explicit ctaiMathConvert();
|
explicit ctaiMathConvert();
|
||||||
~ctaiMathConvert();
|
~ctaiMathConvert();
|
||||||
QString replace_tags_svg(const QString &text);
|
QString replace_tags_svg(const QString &text,int font_size);
|
||||||
void set_convert_opts();
|
void set_convert_opts();
|
||||||
void save_svg(QPixmap& img);
|
void save_svg(QPixmap& img);
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ private:
|
|||||||
QByteArray svg_to_base64(QPixmap& pix);
|
QByteArray svg_to_base64(QPixmap& pix);
|
||||||
TexGuard texGuard;
|
TexGuard texGuard;
|
||||||
//宽度
|
//宽度
|
||||||
int m_render_width=300;
|
int m_render_width=600;
|
||||||
int m_render_height=64;
|
int m_render_height=64;
|
||||||
//文本大小
|
//文本大小
|
||||||
int m_text_size=20;
|
int m_text_size=20;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user