129 lines
5.0 KiB
C++
129 lines
5.0 KiB
C++
#include "ctaiHistoryTools.h"
|
|
|
|
ctaiHistoryTools::ctaiHistoryTools()
|
|
{
|
|
initLayout();
|
|
initConnect();
|
|
}
|
|
ctaiHistoryTools::~ctaiHistoryTools()
|
|
{
|
|
}
|
|
void ctaiHistoryTools::initLayout()
|
|
{
|
|
// 消息功能区
|
|
header_opts_Layout = new QHBoxLayout();
|
|
m_msg_copy = new QPushButton();
|
|
m_msg_save = new QPushButton();
|
|
m_msg_menu = new QPushButton();
|
|
m_msg_fold = new QPushButton();
|
|
m_msg_display_combobox = new QComboBox();
|
|
m_msg_display_font_size_combobox = new QComboBox();
|
|
m_msg_display_font_combobox = new QComboBox();
|
|
m_msg_display_font_label = new QLabel("字体:");
|
|
m_msg_display_font_size_label = new QLabel("大小:");
|
|
m_msg_display_label = new QLabel("模式:");
|
|
m_msg_display_label->setObjectName("m_msg_menu_label");
|
|
m_msg_display_combobox->setObjectName("m_msg_display_combobox");
|
|
m_msg_display_font_size_label->setObjectName("m_msg_font_size_label");
|
|
m_msg_display_font_size_combobox->setObjectName("m_msg_font_size_combobox");
|
|
m_msg_display_font_label->setObjectName("m_msg_font_label");
|
|
m_msg_display_font_combobox->setObjectName("m_msg_font_combobox");
|
|
m_msg_copy->setObjectName("m_msg_copy");
|
|
m_msg_save->setObjectName("m_msg_save");
|
|
m_msg_menu->setObjectName("m_msg_menu");
|
|
m_msg_fold->setObjectName("m_msg_fold");
|
|
m_msg_fold->setIcon(QIcon(":res/img/btn/btn_info_up.png"));
|
|
m_msg_fold->setIconSize(QSize(25, 25));
|
|
initDisplayMode();
|
|
header_opts_Layout->addItem(sparcer_item);
|
|
header_opts_Layout->addWidget(m_msg_display_font_label);
|
|
header_opts_Layout->addWidget(m_msg_display_font_combobox);
|
|
header_opts_Layout->addWidget(m_msg_display_font_size_label);
|
|
header_opts_Layout->addWidget(m_msg_display_font_size_combobox);
|
|
header_opts_Layout->addWidget(m_msg_display_label);
|
|
header_opts_Layout->addWidget(m_msg_display_combobox);
|
|
header_opts_Layout->addWidget(m_msg_copy);
|
|
header_opts_Layout->addWidget(m_msg_save);
|
|
header_opts_Layout->addWidget(m_msg_menu);
|
|
header_opts_Layout->addWidget(m_msg_fold);
|
|
header_opts_Layout->addItem(sparcer_item);
|
|
header_opts_Layout->setContentsMargins(0, 0, 0, 0);
|
|
setLayout(header_opts_Layout);
|
|
}
|
|
void ctaiHistoryTools::initDisplayMode()
|
|
{
|
|
for(auto str:ds_mode_str)
|
|
{
|
|
m_msg_display_combobox->addItem(str);
|
|
}
|
|
for(auto str:ds_font_size_str)
|
|
{
|
|
m_msg_display_font_size_combobox->addItem(str);
|
|
}
|
|
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()
|
|
{
|
|
connect(m_msg_copy, SIGNAL(clicked()), this, SIGNAL(on_signals_copy()));
|
|
connect(m_msg_save, SIGNAL(clicked()), this, SLOT(on_save_menu_slots()));
|
|
connect(m_msg_menu, SIGNAL(clicked()), this, SLOT(on_opts_menu_slots()));
|
|
connect(m_msg_fold, SIGNAL(clicked()), this, SIGNAL(on_signals_fold()));
|
|
connect(m_msg_display_combobox, SIGNAL(currentTextChanged(QString)), this, SIGNAL(on_signals_display_mode(QString)));
|
|
connect(m_msg_display_font_size_combobox, SIGNAL(currentTextChanged(QString)), this, SIGNAL(on_signals_display_font_size(QString)));
|
|
connect(m_msg_display_font_combobox, SIGNAL(currentTextChanged(QString)), this, SIGNAL(on_signals_display_font(QString)));
|
|
}
|
|
void ctaiHistoryTools::setFoldIco(QIcon ico)
|
|
{
|
|
m_msg_fold->setIcon(ico);
|
|
}
|
|
// save按钮实现功能的槽函数
|
|
void ctaiHistoryTools::on_save_menu_slots()
|
|
{
|
|
if (!m_msg_save_menu)
|
|
{
|
|
m_msg_save_menu = new QMenu();
|
|
}
|
|
if (!m_msg_save_text)
|
|
{
|
|
m_msg_save_text = new QAction(tr("另存为文本"));
|
|
connect(m_msg_save_text, SIGNAL(triggered(bool)), this, SIGNAL(on_signals_save_text()));
|
|
}
|
|
if (!m_msg_save_html)
|
|
{
|
|
m_msg_save_html = new QAction(tr("另存为HTML"));
|
|
connect(m_msg_save_html, SIGNAL(triggered(bool)), this, SIGNAL(on_signals_save_html()));
|
|
}
|
|
if (!m_msg_save_markdown)
|
|
{
|
|
m_msg_save_markdown = new QAction(tr("另存为Markdown"));
|
|
connect(m_msg_save_markdown, SIGNAL(triggered(bool)), this, SIGNAL(on_signals_save_markdown()));
|
|
}
|
|
if (!m_msg_save_pdf)
|
|
{
|
|
m_msg_save_pdf = new QAction(tr("另存为PDF"));
|
|
connect(m_msg_save_pdf, SIGNAL(triggered(bool)), this, SIGNAL(on_signals_save_pdf()));
|
|
}
|
|
m_msg_save_menu->addAction(m_msg_save_text);
|
|
m_msg_save_menu->addAction(m_msg_save_html);
|
|
m_msg_save_menu->addAction(m_msg_save_markdown);
|
|
m_msg_save_menu->addAction(m_msg_save_pdf);
|
|
m_msg_save_menu->exec(QCursor::pos());
|
|
}
|
|
void ctaiHistoryTools::on_opts_menu_slots()
|
|
{
|
|
QMenu menu(this);
|
|
|
|
// 添加菜单项
|
|
QAction *actCopy = menu.addAction(tr("复制"));
|
|
QAction *actSave = menu.addAction(tr("保存"));
|
|
menu.addSeparator();
|
|
QAction *actDelete = menu.addAction(tr("删除"));
|
|
|
|
// 显示菜单
|
|
QPoint pos = m_msg_menu->mapToGlobal(m_msg_menu->rect().bottomRight());
|
|
QAction *act = menu.exec(pos);
|
|
} |