123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- #include "singlecompareroadwidget.h"
- #include "ui_singlecompareroadwidget.h"
- #include "customcombobox.h"
- SingleCompareRoadWidget::SingleCompareRoadWidget(QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::SingleCompareRoadWidget)
- , m_nIndex(0)
- {
- ui->setupUi(this);
- /* 设置comboBox阴影 */
- ui->comboBox_soundCardNum->setViewShadowEffect();
- connect(ui->btnDel, &QPushButton::clicked, this, [this]{emit deleted(m_nIndex);});
- }
- SingleCompareRoadWidget::~SingleCompareRoadWidget()
- {
- delete ui;
- }
- bool SingleCompareRoadWidget::isDelBtnVisible() const
- {
- return ui->btnDel->isVisible();
- }
- void SingleCompareRoadWidget::setDelBtnVisible(bool bVisible)
- {
- ui->btnDel->setVisible(bVisible);
- }
- /* 设置声卡通道列表 */
- void SingleCompareRoadWidget::setSoundCardRoadList(const SoundCardInfo_t& soundCard)
- {
- m_soundCardInfo = soundCard;
- ui->comboBox_soundCardNum->clear();
- for(const auto& it : m_soundCardInfo.listRoad)
- {
- QString strRoadName = QString("%1:%2").arg(m_soundCardInfo.strSoundCardName).arg(it.nRoadNum);
- ui->comboBox_soundCardNum->addItem(strRoadName, QVariant::fromValue(it.nRoadNum));
- }
- /* 默认选择第一个 */
- ui->comboBox_soundCardNum->setCurrentIndex(0);
- }
- /* 设置默认参数,设置之前需要先设置完成声卡可选通道列表 */
- void SingleCompareRoadWidget::setDefaultParams(const CompareItemRoadInfo_t& roadInfo)
- {
- ui->lineEditRoadName->setText(roadInfo.strCompareRoadName);
- ui->checkBox->setChecked(roadInfo.isEnableRecord);
- // setIndex(roadInfo.nCompareRoadNum); /* 通道编号不需要设置 */
- /* 先清空选择,再设置当前选项 */
- ui->comboBox_soundCardNum->setCurrentIndex(-1);
- for(int i = 0; i < ui->comboBox_soundCardNum->count(); ++i)
- {
- SoundCardRoadInfo_t road = ui->comboBox_soundCardNum->itemData(i).value<SoundCardRoadInfo_t>();
- if(road.roadInfo.nRoadNum == roadInfo.scRoadInfo.roadInfo.nRoadNum &&
- road.nSoundCardNum == roadInfo.scRoadInfo.nSoundCardNum)
- {
- ui->comboBox_soundCardNum->setCurrentIndex(i);
- break;
- }
- }
- }
- int SingleCompareRoadWidget::getIndex() const
- {
- return m_nIndex;
- }
- void SingleCompareRoadWidget::setIndex(int nIndex)
- {
- if(nIndex <= 0) return;
- m_nIndex = nIndex;
- QString str = nIndex == 1 ? "主" : QString::number(nIndex);
- ui->labelRoadName->setText(QString("<font color='red'>*</font>%1通道名称:").arg(str));
- ui->labelDriverNum->setText(QString("<font color='red'>*</font>%1通道声卡设备编号:").arg(str));
- ui->checkBox->setText(QString("%1通道开启录音").arg(str));
- }
- /* 获取通道名称 */
- QString SingleCompareRoadWidget::getRoadName() const
- {
- return ui->lineEditRoadName->text();
- }
- /* 获取声卡录音通道编号 */
- SoundCardRoadInfo_t SingleCompareRoadWidget::getSoundCardRoadInfo()
- {
- SoundCardRoadInfo_t roadInfo;
- roadInfo.nSoundCardNum = m_soundCardInfo.nSoundCardNum;
- roadInfo.strSoundCardID = m_soundCardInfo.strSoundCardID;
- roadInfo.strSoundCardName = m_soundCardInfo.strSoundCardName;
- roadInfo.roadInfo.nRoadNum = ui->comboBox_soundCardNum->currentData().value<int>();
- return roadInfo;
- }
- /* 是否开启录音 */
- bool SingleCompareRoadWidget::isRecordEnabled() const
- {
- return ui->checkBox->isChecked();
- }
- /* 设置通道名称报警 */
- void SingleCompareRoadWidget::setRoadNameWarn(bool isWarn)
- {
- ui->lineEditRoadName->setProperty("Warn", isWarn);
- ui->lineEditRoadName->style()->unpolish(ui->lineEditRoadName);
- ui->lineEditRoadName->style()->polish(ui->lineEditRoadName);
- ui->lineEditRoadName->update();
- }
|