#ifndef ADDNORMALITEM_H #define ADDNORMALITEM_H #include #include #include class TimeWidget; class DeviceInfo; namespace Ui { class AddNormalItem; } class AddNormalItem : public QDialog { Q_OBJECT public: explicit AddNormalItem(QWidget *parent = nullptr); ~AddNormalItem(); /* 设置父指针,时间选择器需要使用 */ void setParentPointer(QWidget* p); /* 添加可选设备 */ void setDevice(QMap& mapDev); /* 设置周几 */ void setWeekDay(int week); /* 获取设别名称 */ QString getDevName() const { return m_devName; } /* 获取动作 */ QString getAction() const { return m_action; } /* 获取时间 */ QTime getTime() const { return m_time; } /* 判断是否添加设备 */ bool isAddDev() const { return m_isAddDev; } signals: /* 添加正常日期的项 */ void signal_addNormalItem(QString dev,QString action,QTime time); private slots: /* 进行查重和关闭页面 */ void do_ok(); /* 选择了设备,设置其对应的动作 */ void do_selectDev(); /* 选择了动作 */ void do_selectAction(); /* 点击了时间选择按钮,打开时间选择器 */ void do_selectTime(); private: /* 设置选择框报警 */ void setComboBoxWarning(QComboBox* bo,bool flag); /* 设置时间报警 */ void setTimeEditWarning(bool flag); void setAction(const QString& devName); protected: /* 事件过滤器 */ bool eventFilter(QObject *watched, QEvent *event) override; private: Ui::AddNormalItem *ui; QWidget* m_parent = nullptr; /* 父类指针 */ QRect m_rectScreen; /* 屏幕大小 */ int m_week = -1; /* 周几 */ bool m_isAddDev = false; /* 是否添加设备 */ QString m_devName; /* 选择的设备 */ QString m_action; /* 选择的动作 */ QTime m_time; /* 执行的时间 */ TimeWidget* m_timeWidget = nullptr; /* 时间选择器 */ }; #endif // ADDNORMALITEM_H