75 lines
2.4 KiB
C++
75 lines
2.4 KiB
C++
#include "xsteam_view.h"
|
|
xsteam_view::xsteam_view(QTableView *parent) : QTableView(parent)
|
|
{
|
|
}
|
|
|
|
xsteam_view::~xsteam_view()
|
|
{
|
|
}
|
|
void xsteam_view::item_clear()
|
|
{
|
|
m_model->removeRows(0, m_model->rowCount());
|
|
}
|
|
void xsteam_view::init_view(VIEW_MODE view_mode)
|
|
{
|
|
m_model = new QStandardItemModel();
|
|
if (view_mode == VIEW_MODE::UID_INFO)
|
|
{
|
|
m_model->setColumnCount(ex_uid_table_head_tips.count());
|
|
m_model->setHorizontalHeaderLabels(ex_uid_table_head_tips);
|
|
setItemDelegate(new xsteam_view_item());
|
|
}
|
|
else if (view_mode == VIEW_MODE::ALL_DLC_INFO)
|
|
{
|
|
m_model->setColumnCount(ex_all_dlc_table_head_tips.count());
|
|
m_model->setHorizontalHeaderLabels(ex_all_dlc_table_head_tips);
|
|
}
|
|
else if (view_mode == VIEW_MODE::IN_DLC_INFO)
|
|
{
|
|
m_model->setColumnCount(ex_in_dlc_table_head_tips.count());
|
|
m_model->setHorizontalHeaderLabels(ex_in_dlc_table_head_tips);
|
|
}
|
|
horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
|
setSelectionBehavior(QAbstractItemView::SelectRows);
|
|
setEditTriggers(QAbstractItemView::NoEditTriggers);
|
|
verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); // 自动设置行高
|
|
verticalHeader()->hide();
|
|
setModel(m_model);
|
|
}
|
|
|
|
void xsteam_view::item_append(UidData& data, VIEW_MODE mode)
|
|
{
|
|
QList<QStandardItem *> rows;
|
|
std::vector<std::string> dlc_uid;
|
|
if (mode == VIEW_MODE::UID_INFO)
|
|
{
|
|
rows.push_back(new QStandardItem(QString::fromStdString(data.ico)));
|
|
rows.push_back(new QStandardItem(QString::fromStdString(data.uid)));
|
|
rows.push_back(new QStandardItem(QString::fromStdString(data.name)));
|
|
rows.push_back(new QStandardItem(QString::fromStdString(data.m_time)));
|
|
rows.push_back(new QStandardItem(QString::fromStdString(data.i_time)));
|
|
for (auto row : rows)
|
|
{
|
|
row->setTextAlignment(Qt::AlignCenter);
|
|
}
|
|
m_model->appendRow(rows);
|
|
}
|
|
else
|
|
{
|
|
item_clear();
|
|
if (mode == VIEW_MODE::ALL_DLC_INFO)
|
|
{
|
|
dlc_uid = data.r_dlc;
|
|
}
|
|
else if (mode == VIEW_MODE::IN_DLC_INFO)
|
|
{
|
|
dlc_uid = data.n_dlc;
|
|
}
|
|
for (auto x : dlc_uid)
|
|
{
|
|
rows.clear();
|
|
rows.push_back(new QStandardItem(QString::fromStdString(x)));
|
|
m_model->appendRow(rows);
|
|
}
|
|
}
|
|
} |