66 lines
1.3 KiB
C++
66 lines
1.3 KiB
C++
#include "dialog_device_select.h"
|
|
#include "ui_dialog_device_select.h"
|
|
|
|
Dialog_device_select::Dialog_device_select(const std::vector<DEVQUEUI>& devs, QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::Dialog_device_select)
|
|
, m_devId(-1)
|
|
, m_devs(devs)
|
|
{
|
|
ui->setupUi(this);
|
|
setWindowFlags(Qt::SubWindow | Qt::Popup | Qt::WindowStaysOnTopHint);
|
|
|
|
for (int i = 0; i < m_devs.size(); ++i)
|
|
{
|
|
ui->listWidget->addItem(QString::fromStdString(m_devs[i].name));
|
|
}
|
|
|
|
if (ui->listWidget->count() > 0)
|
|
{
|
|
ui->listWidget->item(0)->setSelected(true);
|
|
}
|
|
}
|
|
|
|
Dialog_device_select::~Dialog_device_select()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
int Dialog_device_select::getDevId()
|
|
{
|
|
return m_devId;
|
|
}
|
|
|
|
void Dialog_device_select::on_pbtn_ok_clicked()
|
|
{
|
|
if (ui->listWidget->count() == 0)
|
|
{
|
|
m_devId = -1;
|
|
}
|
|
else
|
|
{
|
|
std::string selectDev = ui->listWidget->currentItem()->text().toStdString();
|
|
|
|
for (int i = 0; i < m_devs.size(); ++i)
|
|
{
|
|
if (m_devs[i].name == selectDev)
|
|
{
|
|
m_devId = m_devs[i].id;
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
m_devId = -1;
|
|
}
|
|
}
|
|
}
|
|
|
|
accept();
|
|
}
|
|
|
|
void Dialog_device_select::on_pbtn_cancel_clicked()
|
|
{
|
|
m_devId = -1;
|
|
reject();
|
|
}
|