2025-12-02 18:37:57 +08:00
|
|
|
#include "alarmEventConfigDialog.h"
|
|
|
|
|
#include "ui_alarmEventConfigDialog.h"
|
|
|
|
|
|
|
|
|
|
AlarmEventConfigDialog::AlarmEventConfigDialog(QWidget *parent)
|
|
|
|
|
: QDialog(parent)
|
|
|
|
|
, ui(new Ui::alarmEventConfigDialog)
|
|
|
|
|
, m_curActiveTab(nullptr)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
|
|
|
|
|
setAttribute(Qt::WA_TranslucentBackground);
|
|
|
|
|
|
|
|
|
|
initialize();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AlarmEventConfigDialog::~AlarmEventConfigDialog()
|
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AlarmEventConfigDialog::showEvent(QShowEvent* event)
|
|
|
|
|
{
|
|
|
|
|
//级别选择
|
|
|
|
|
ui->level_notify->setChecked(g_alarmCfgResults.level_notify);
|
|
|
|
|
ui->level_warning->setChecked(g_alarmCfgResults.level_warining);
|
|
|
|
|
ui->level_abnormal->setChecked(g_alarmCfgResults.level_abnormal);
|
|
|
|
|
ui->level_accident->setChecked(g_alarmCfgResults.level_accident);
|
|
|
|
|
//类型选择
|
|
|
|
|
ui->type_hard->setChecked(g_alarmCfgResults.type_hard);
|
|
|
|
|
ui->type_platformSoft->setChecked(g_alarmCfgResults.type_platformSoft);
|
|
|
|
|
ui->type_appSoft->setChecked(g_alarmCfgResults.type_appSoft);
|
|
|
|
|
//提示行为
|
|
|
|
|
ui->switch_sound->setChecked(g_alarmCfgResults.notify_sound);
|
|
|
|
|
ui->switch_autoPop->setChecked(g_alarmCfgResults.notify_autoPop);
|
|
|
|
|
//需要自动弹窗的事件级别
|
|
|
|
|
ui->pop_notify->setChecked(g_alarmCfgResults.autoPop_nofity);
|
|
|
|
|
ui->pop_warning->setChecked(g_alarmCfgResults.autoPop_warining);
|
|
|
|
|
ui->pop_abnormal->setChecked(g_alarmCfgResults.autoPop_abnormal);
|
|
|
|
|
ui->pop_accident->setChecked(g_alarmCfgResults.autoPop_accident);
|
|
|
|
|
|
|
|
|
|
ui->tabDataFilter->click();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AlarmEventConfigDialog::initialize()
|
|
|
|
|
{
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(0);
|
|
|
|
|
|
|
|
|
|
ui->tabDataFilter->setProperty("index", 0);
|
|
|
|
|
connect(ui->tabDataFilter, &QPushButton::clicked, this, &AlarmEventConfigDialog::onBtnClicked_tabBtn);
|
|
|
|
|
ui->tabDataSource->setProperty("index", 1);
|
|
|
|
|
connect(ui->tabDataSource, &QPushButton::clicked, this, &AlarmEventConfigDialog::onBtnClicked_tabBtn);
|
|
|
|
|
|
|
|
|
|
connect(ui->btnConfirm, &QPushButton::clicked, this, &AlarmEventConfigDialog::onBtnClicked_confirm);
|
|
|
|
|
connect(ui->btnCancle, &QPushButton::clicked, this, &AlarmEventConfigDialog::onBtnClicked_cancle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AlarmEventConfigDialog::onBtnClicked_tabBtn()
|
|
|
|
|
{
|
|
|
|
|
QPushButton* pTab = qobject_cast<QPushButton*>(sender());
|
|
|
|
|
if(pTab == m_curActiveTab)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
if(m_curActiveTab)
|
|
|
|
|
{
|
|
|
|
|
m_curActiveTab->setStyleSheet("QPushButton\n"
|
|
|
|
|
"{\n"
|
|
|
|
|
"color: rgb(250, 250, 250);\n"
|
|
|
|
|
"font: 700 12pt \"黑体\";\n"
|
|
|
|
|
"border:0px;\n"
|
|
|
|
|
"background-color:transparent;\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"QPushButton:hover\n"
|
|
|
|
|
"{\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"QPushButton:pressed\n"
|
|
|
|
|
"{\n"
|
|
|
|
|
"}");
|
|
|
|
|
}
|
|
|
|
|
if(pTab)
|
|
|
|
|
{
|
|
|
|
|
pTab->setStyleSheet("QPushButton\n"
|
|
|
|
|
"{\n"
|
|
|
|
|
"color: rgb(250, 250, 250);\n"
|
|
|
|
|
"font: 700 12pt \"黑体\";\n"
|
|
|
|
|
"border:1px solid rgb(200,200,200);\n"
|
|
|
|
|
"border-bottom:0px;\n"
|
|
|
|
|
"background-color:rgba(36,43,50, 250);\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"QPushButton:hover\n"
|
|
|
|
|
"{\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"QPushButton:pressed\n"
|
|
|
|
|
"{\n"
|
|
|
|
|
"}");
|
|
|
|
|
|
|
|
|
|
int nIndex = pTab->property("index").toInt();
|
|
|
|
|
ui->stackedWidget->setCurrentIndex(nIndex);
|
|
|
|
|
}
|
|
|
|
|
m_curActiveTab = pTab;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AlarmEventConfigDialog::onBtnClicked_confirm()
|
|
|
|
|
{
|
|
|
|
|
//级别选择
|
|
|
|
|
g_alarmCfgResults.level_notify = ui->level_notify->isChecked();
|
|
|
|
|
g_alarmCfgResults.level_warining = ui->level_warning->isChecked();
|
|
|
|
|
g_alarmCfgResults.level_abnormal = ui->level_abnormal->isChecked();
|
|
|
|
|
g_alarmCfgResults.level_accident = ui->level_accident->isChecked();
|
|
|
|
|
//类型选择
|
|
|
|
|
g_alarmCfgResults.type_hard = ui->type_hard->isChecked();
|
|
|
|
|
g_alarmCfgResults.type_platformSoft = ui->type_platformSoft->isChecked();
|
|
|
|
|
g_alarmCfgResults.type_appSoft = ui->type_appSoft->isChecked();
|
|
|
|
|
//提示行为
|
|
|
|
|
g_alarmCfgResults.notify_sound = ui->switch_sound->isChecked();
|
|
|
|
|
g_alarmCfgResults.notify_autoPop = ui->switch_autoPop->isChecked();
|
|
|
|
|
//需要自动弹窗的事件级别
|
|
|
|
|
g_alarmCfgResults.autoPop_nofity = ui->pop_notify->isChecked();
|
|
|
|
|
g_alarmCfgResults.autoPop_warining = ui->pop_warning->isChecked();
|
|
|
|
|
g_alarmCfgResults.autoPop_abnormal = ui->pop_abnormal->isChecked();
|
|
|
|
|
g_alarmCfgResults.autoPop_accident = ui->pop_accident->isChecked();
|
|
|
|
|
|
|
|
|
|
//emit sgl_configFinish(g_alarmCfgResults);
|
|
|
|
|
|
|
|
|
|
hide();
|
|
|
|
|
emit sgl_hide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AlarmEventConfigDialog::onBtnClicked_cancle()
|
|
|
|
|
{
|
|
|
|
|
hide();
|
|
|
|
|
emit sgl_hide();
|
|
|
|
|
}
|