savetotemplate.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #ifndef SAVETOTEMPLATE_H
  2. #define SAVETOTEMPLATE_H
  3. #include <QDialog>
  4. #include <qchar.h>
  5. #include <QMap>
  6. #include <QColor>
  7. #include "TransmitterSwitchInfo.h"
  8. class OneShadow;
  9. namespace Ui {
  10. class SaveToTemplate;
  11. }
  12. /**
  13. * @brief 注意,这里的QLineEdit占位符是用paintEvent实现的
  14. *
  15. */
  16. class SaveToTemplate : public QDialog
  17. {
  18. Q_OBJECT
  19. public:
  20. explicit SaveToTemplate(QWidget *parent = nullptr);
  21. ~SaveToTemplate();
  22. /* 传入计划项是否为空 */
  23. void setItemEmpty(bool flag);
  24. /* 传入所有的模板名称 */
  25. void setTemplateList(QList<OneTemplateInfo>& list);
  26. /* 获取是否点击了确定 */
  27. bool isOk() { return m_isOk; }
  28. /* 获取模板名称 */
  29. QString getTemplateName();
  30. /* 设置QSS */
  31. void setQSS(QString qssPath);
  32. signals:
  33. void signal_templateName(QString name);
  34. private slots:
  35. void do_ok();
  36. private:
  37. void setWarning(bool flag); /* 设置报警 */
  38. protected:
  39. /* 绘画事件 */
  40. // void paintEvent(QPaintEvent *event) override;
  41. /* 事件过滤器 */
  42. bool eventFilter(QObject *watched, QEvent *event) override;
  43. /* 鼠标点击事件 */
  44. void mousePressEvent(QMouseEvent *event) override;
  45. /* 鼠标移动事件 */
  46. void mouseMoveEvent(QMouseEvent *event) override;
  47. /* 鼠标释放事件 */
  48. void mouseReleaseEvent(QMouseEvent *event) override;
  49. private:
  50. Ui::SaveToTemplate *ui;
  51. bool m_itemEmpty; /* 计划项是否为空 */
  52. int m_weekDay; /* 周几 */
  53. QList<OneTemplateInfo> m_list;
  54. bool m_isInputing = false; /* 是否正在输入 */
  55. QString m_placeHolder; /* 占位符 */
  56. QColor m_placeHolderColor; /* 占位符颜色 */
  57. bool m_isOk = false; /* 是否点击了确定 */
  58. QString m_templateName; /* 模板名称 */
  59. QPoint m_lastPos; /* 鼠标点击的位置 */
  60. };
  61. #endif // SAVETOTEMPLATE_H