123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #include "onedetectplan.h"
- #include "ui_onedetectplan.h"
- #include "timewidget.h"
- #include "customcombobox.h"
- #include "GlobalVariable.h"
- OneDetectPlan::OneDetectPlan(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::OneDetectPlan)
- {
- ui->setupUi(this);
- /* 设置下拉框阴影 */
- ui->comboBox->setViewShadowEffect();
- /* 设置时间框默认时间 */
- // ui->timeEdit_start->setDefaultStyle();
- // ui->timeEdit_end->setDefaultStyle();
- ui->timeEdit_start->setTime(QTime(0, 0, 0));
- ui->timeEdit_end->setTime(QTime(23, 59, 59));
- /* 禁用comboBox滚动修改 */
- ui->comboBox->setWheelDisabled(true);
- /* 禁用QTimeEdit滚轮编辑 */
- ui->timeEdit_start->setWheelDisabled(true);
- ui->timeEdit_end->setWheelDisabled(true);
- ui->timeEdit_start->SetMainWindow(parent->window());
- ui->timeEdit_end->SetMainWindow(parent->window());
- /* 禁止使用时间图标清空时间 */
- ui->timeEdit_start->setDisableClear(true);
- ui->timeEdit_end->setDisableClear(true);
- /* 给下拉框设置可选项 */
- for(auto it = MapWeekTypeToString.begin(); it != MapWeekTypeToString.end(); ++it)
- {
- if(it.key() == eWeekType::Week_Special)
- {
- continue; // 跳过特殊日
- }
- ui->comboBox->addItem(it.value(), QVariant::fromValue(it.key()));
- }
- /* 连接信号和槽 */
- connect(ui->timeEdit_start, &TimeWidget::signal_formerTimer, this, &OneDetectPlan::do_formerTime);
- connect(ui->timeEdit_start, &TimeWidget::signal_nowTime, this, &OneDetectPlan::do_afterTime);
- connect(ui->pBtn_close, &QPushButton::clicked, this, &OneDetectPlan::signal_oneDetectPlanCloseClicked);
- }
- OneDetectPlan::~OneDetectPlan()
- {
- delete ui;
- }
- /* 设置QSS */
- void OneDetectPlan::setQSS(const QString &qss)
- {
- if(qss.isEmpty())
- {
- return;
- }
- /* 设置QSS */
- this->setStyleSheet(qss);
- }
- /* 设置计划 */
- void OneDetectPlan::setPlan(const OnePlan_t &plan)
- {
- m_plan = plan;
- /* 设置周几 */
- ui->comboBox->setCurrentText(MapWeekTypeToString.value(plan.weekType));
- /* 设置日期 */
- ui->timeEdit_start->setTime(plan.timeStart);
- ui->timeEdit_end->setTime(plan.timeEnd);
- }
- /* 获取计划 */
- OnePlan_t OneDetectPlan::getPlan()
- {
- /* 更新计划 */
- m_plan.weekType = ui->comboBox->currentData().value<eWeekType>();
- m_plan.timeStart = ui->timeEdit_start->getTime();
- m_plan.timeEnd = ui->timeEdit_end->getTime();
- return m_plan;
- }
- /* 修改前的时间 */
- void OneDetectPlan::do_formerTime(const QTime &time)
- {
- if(sender() == ui->timeEdit_start)
- {
- m_startFormerTime = time;
- }
- else if(sender() == ui->timeEdit_end)
- {
- m_endFormerTime = time;
- }
- }
- /* 修改后的计划时间 */
- void OneDetectPlan::do_afterTime(const QTime &time)
- {
- OnePlan_t formerPlan = m_plan;
- getPlan(); // 更新计划
- emit signal_planModified(formerPlan, m_plan);
- }
|