You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
valvedetect/tpvs17/lpMain/QCameraMgrUI.cpp

227 lines
7.0 KiB
C++

#include "QCameraMgrUI.h"
#include <QMessageBox>
#pragma execution_character_set("utf-8")
QCameraMgrUI::QCameraMgrUI(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.m_pbFound, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbAddCam, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbModCam, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbDelCam, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.m_pbClose, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
QStringList strHeaders;
strHeaders << "ID" << "<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>" << "<EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>" << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" << "״̬";
m_tableModel.setHorizontalHeaderLabels(strHeaders);
ui.tableView->setModel(&m_tableModel);
//ui.tableView->hideColumn(4);
ui.tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui.tableView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);
ui.tableView->setColumnWidth(0, 20);
ui.tableView->verticalHeader()->hide();
ui.tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui.tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
connect(ui.tableView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(onDoubleClicked(const QModelIndex &)));
m_pCamSetUI = new QCamSettingDlg();//<2F><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>
m_pCamConfigUI = new QCameraConfigUI();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
QCameraMgrUI::~QCameraMgrUI()
{
if (m_pCamSetUI)
{
delete m_pCamSetUI;
m_pCamSetUI = nullptr;
}
if (m_pCamConfigUI)
{
delete m_pCamConfigUI;
m_pCamConfigUI = nullptr;
}
}
void QCameraMgrUI::onInitCamInfo(ICoreCtrl* pCtrl)
{
m_pCorctl = pCtrl;
onUpdateTableView();
}
Q_SLOT void QCameraMgrUI::onButtonClicked()
{
QString strObj = sender()->objectName();
if (strObj == "m_pbFound")
{
}
else if (strObj == "m_pbAddCam")
{
m_pCamConfigUI->setParent(this);
//m_pCamConfigUI->setWindowIcon(QIcon(LEAPER_LOGO));
m_pCamConfigUI->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
m_pCamConfigUI->setWindowModality(Qt::ApplicationModal);
m_pCamConfigUI->setAttribute(Qt::WA_ShowModal, true);
if (m_pCamConfigUI->exec() == QDialog::Accepted)
{
tagCamInfo info = m_pCamConfigUI->getNewCamInfo();
TP_CAMERA_OPTION camOpt;
camOpt.id = 3;
camOpt.folder = info.loadPath;
camOpt.showName = info.showName;
camOpt.uniqueName = info.serialNo;
camOpt.deviceType = info.nType;
m_pCorctl->IAddCamera(info.serialNo, camOpt);
}
}
else if (strObj == "m_pbModCam")
{
int row = ui.tableView->currentIndex().row();
if (row < 0)
{
QMessageBox::information(this, tr("<EFBFBD><EFBFBD>ʾ"), "<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>Ҫ<EFBFBD>޸ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
return;
}
QModelIndex index = m_tableModel.index(row, 2);//ѡ<><D1A1><EFBFBD>е<EFBFBD>һ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
QVariant data = m_tableModel.data(index);
QString strSerial = data.toString();
m_pCamSetUI->setParent(this);
//m_pCamSetUI->setWindowIcon(QIcon(LEAPER_LOGO));
m_pCamSetUI->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
m_pCamSetUI->setWindowModality(Qt::ApplicationModal);
m_pCamSetUI->setAttribute(Qt::WA_ShowModal, true);
m_pCamSetUI->setCoreCtrlPtr(m_pCorctl);
m_pCamSetUI->onInitWidget(strSerial);
m_pCamSetUI->show();
}
else if (strObj == "m_pbDelCam")
{
int row = ui.tableView->currentIndex().row();
if (row < 0)
{
QMessageBox::information(this, tr("<EFBFBD><EFBFBD>ʾ"), "<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>Ҫ<EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
return;
}
QModelIndex index = m_tableModel.index(row, 2);//ѡ<><D1A1><EFBFBD>е<EFBFBD>һ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
QVariant data = m_tableModel.data(index);
QString key = data.toString();
if (key.isEmpty())
{
QMessageBox::information(this, tr("<EFBFBD><EFBFBD>ʾ"), "<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>Ҫ<EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
return;
}
QMessageBox info(this);
//info.setWindowIcon(QIcon(LEAPER_LOGO));
info.setWindowTitle(QObject::tr("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
info.setText(QObject::tr("<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %1<><31>").arg(key));
info.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
info.setButtonText(QMessageBox::Ok, QObject::tr("ȷ<EFBFBD><EFBFBD>"));
info.setButtonText(QMessageBox::Cancel, QObject::tr("ȡ<EFBFBD><EFBFBD>"));
if (info.exec() == QMessageBox::Ok)
{
m_pCorctl->IDelCamera(key);
onUpdateTableView();
}
}
else if (strObj == "m_pbClose")
{
close();
}
}
void QCameraMgrUI::onUpdateTableView()
{
//<2F>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>
while (m_tableModel.rowCount())
{
m_tableModel.removeRow(0);
}
QStringList lst = m_pCorctl->ICameraKeys();
foreach(QString var, lst)
{
TP_CAMERA_OPTION camOpt;
m_pCorctl->IGetCameraOption(var, camOpt);
int nID = camOpt.id;
QString strShowName = camOpt.showName;
QString strSerial = camOpt.uniqueName;
QString strType = gCameraNamesMap.value((emTpDeviceType)camOpt.deviceType);
QString strState = gCameraStatusMap.value(camOpt.status);
QList<QStandardItem*> listItem;
listItem.append(new QStandardItem(QString("%1").arg(nID)));
listItem.append(new QStandardItem(QString("%1").arg(strShowName)));
listItem.append(new QStandardItem(QString("%1").arg(strSerial)));
listItem.append(new QStandardItem(QString("%1").arg(strType)));
listItem.append(new QStandardItem(QString("%1").arg(strState)));
m_tableModel.appendRow(listItem);
}
// QMap<QString, ServerInfo> map = QStationMgr::instance()->getConnInfos();
// for (QMap<QString, ServerInfo>::iterator it = map.begin(); it != map.end(); ++it)
// {
// QString strKey = it.key();
// QList<QStandardItem*> listItem;
// listItem.append(new QStandardItem(it.key()));
// listItem.append(new QStandardItem((*it).hostName));
// listItem.append(new QStandardItem((*it).hostSerial));
// listItem.append(new QStandardItem((*it).hostIP));
// listItem.append(new QStandardItem((*it).hostMac));
// QString strVersion = lpGlobalData::instance()->m_CamVersionMap[strKey];
// listItem.append(new QStandardItem(strVersion));
// // QStandardItem *pStateItem = new QStandardItem((*it).bConnect == false ? "δ<><CEB4><EFBFBD><EFBFBD>" : "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
// // listItem.append(pStateItem);
// // if ((*it).bConnect == true) {
// // pStateItem->setBackground(QBrush(Qt::red, Qt::NoBrush));
// // }
// // else {
// // pStateItem->setBackground(QBrush(Qt::red, Qt::SolidPattern));
// // }
// m_tableModel.appendRow(listItem);
// }
}
void QCameraMgrUI::changeEvent(QEvent *evt)
{
if (evt->type() == QEvent::LanguageChange)
{
ui.retranslateUi(this);
}
}
Q_SLOT void QCameraMgrUI::onDoubleClicked(const QModelIndex &index)
{
QString strSerial = m_tableModel.index(index.row(), 2).data().toString();
TP_CAMERA_OPTION camOpt;
m_pCorctl->IGetCameraOption(strSerial, camOpt);
if (m_pCamSetUI)
{
m_pCamSetUI->setParent(this);
//m_pCamSetUI->setWindowIcon(QIcon(LEAPER_LOGO));
m_pCamSetUI->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
m_pCamSetUI->setWindowModality(Qt::ApplicationModal);
m_pCamSetUI->setAttribute(Qt::WA_ShowModal, true);
m_pCamSetUI->setCoreCtrlPtr(m_pCorctl);
m_pCamSetUI->onModCam(strSerial);
m_pCamSetUI->show();
}
}
Q_SLOT void QCameraMgrUI::onShowImage(QString serial, QImage img)
{
if (m_pCamSetUI)
{
m_pCamSetUI->onShowImage(serial, img);
}
}