2025-02-06 16:36:50 +08:00
|
|
|
#include "loadPageDlg.h"
|
|
|
|
|
#include "dataBase.h"
|
|
|
|
|
#include "ui_loadPageDlg.h"
|
|
|
|
|
|
|
|
|
|
LoadPageDlg::LoadPageDlg(QWidget *parent)
|
|
|
|
|
: QDialog(parent)
|
|
|
|
|
, ui(new Ui::loadPageDlg)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
|
|
|
|
|
initial();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
LoadPageDlg::~LoadPageDlg()
|
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::initial()
|
|
|
|
|
{
|
|
|
|
|
connect(ui->btnOk,&QPushButton::clicked,this,&LoadPageDlg::onOkClicked);
|
|
|
|
|
connect(ui->btnCancel,&QPushButton::clicked,this,&LoadPageDlg::onCancelClicked);
|
|
|
|
|
|
|
|
|
|
m_standardItemModel = new QStandardItemModel();
|
|
|
|
|
|
|
|
|
|
// 使用model设置QTreeView表头
|
2025-10-30 17:20:10 +08:00
|
|
|
m_standardItemModel->setHorizontalHeaderLabels(QStringList(QStringLiteral("组态编辑")));
|
2025-02-06 16:36:50 +08:00
|
|
|
// TreeView控件载入model
|
|
|
|
|
ui->treeView->setModel(m_standardItemModel);
|
|
|
|
|
// 展开数据
|
|
|
|
|
ui->treeView->expandAll();
|
|
|
|
|
connect(ui->treeView, &QTreeView::activated, this,&LoadPageDlg::onItemChanged);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::updateList()
|
|
|
|
|
{
|
|
|
|
|
if(m_standardItemModel)
|
|
|
|
|
{
|
|
|
|
|
m_standardItemModel->removeRows(0, m_standardItemModel->rowCount());
|
|
|
|
|
QStandardItem* itemRoot = m_standardItemModel->invisibleRootItem();
|
|
|
|
|
|
|
|
|
|
// 创建并添加Item的第一个子节点
|
2025-10-24 21:11:07 +08:00
|
|
|
QStandardItem* itemPage = new QStandardItem(QStringLiteral("项目列表"));
|
2025-02-06 16:36:50 +08:00
|
|
|
itemRoot->appendRow(itemPage);
|
|
|
|
|
|
|
|
|
|
QList<QStandardItem*> pageList;
|
2025-10-24 21:11:07 +08:00
|
|
|
auto lst = DataBase::GetInstance()->getAllEditorProject();
|
|
|
|
|
for(auto &info:lst)
|
2025-02-06 16:36:50 +08:00
|
|
|
{
|
2025-10-24 21:11:07 +08:00
|
|
|
QStandardItem* item = new QStandardItem(info.name);
|
|
|
|
|
item->setData(info.uuid);
|
|
|
|
|
pageList.append(item);
|
2025-02-06 16:36:50 +08:00
|
|
|
}
|
|
|
|
|
itemPage->appendRows(pageList);
|
2025-10-30 17:20:10 +08:00
|
|
|
ui->treeView->expandAll();
|
2025-02-06 16:36:50 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::onOkClicked()
|
|
|
|
|
{
|
|
|
|
|
QModelIndex selected = ui->treeView->currentIndex();
|
|
|
|
|
QStandardItem* item = m_standardItemModel->itemFromIndex(selected); // 根据index获取当前item
|
|
|
|
|
if(item)
|
|
|
|
|
{
|
|
|
|
|
_pageName = item->text();
|
2025-10-24 21:11:07 +08:00
|
|
|
QUuid uid = item->data().toUuid();
|
|
|
|
|
Q_EMIT selectedProject(_pageName,uid);
|
2025-02-06 16:36:50 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
hide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::onCancelClicked()
|
|
|
|
|
{
|
|
|
|
|
hide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void LoadPageDlg::onItemChanged(const QModelIndex& current)
|
|
|
|
|
{
|
|
|
|
|
QModelIndex index = current.sibling(current.row(), 0); // 获取当前item的子节点index note:子节点只有一行的情况下
|
|
|
|
|
QStandardItem* item = m_standardItemModel->itemFromIndex(index); // 根据index获取当前item
|
|
|
|
|
if(item)
|
|
|
|
|
{
|
|
|
|
|
_pageName = item->text();
|
|
|
|
|
}
|
|
|
|
|
}
|