savetotemplate.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #include "savetotemplate.h"
  2. #include "ui_savetotemplate.h"
  3. #include <QStyle>
  4. #include <QFile>
  5. #include "lhstylemanager.h"
  6. SaveToTemplate::SaveToTemplate(QWidget *parent) :
  7. QDialog(parent),
  8. ui(new Ui::SaveToTemplate)
  9. {
  10. ui->setupUi(this);
  11. /* 设置隐藏边框 */
  12. this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
  13. /* 设置底层样式表 */
  14. this->setAttribute(Qt::WA_TranslucentBackground);
  15. /* 加载样式表 */
  16. // QFile file(":/QSS/QSS/savetotemplate_light.qss");
  17. // if(file.open(QFile::ReadOnly))
  18. // {
  19. // QString styleSheet = file.readAll();
  20. // this->setStyleSheet(styleSheet);
  21. // file.close();
  22. // }
  23. LHStyleManager::Instance()->AddWidget(this);
  24. m_templateNameList.clear();
  25. ui->label_warn->hide();
  26. /* 限制字数类型 */
  27. ui->lineEdit->setMaxLength(15);
  28. connect(ui->pBtn_close,SIGNAL(clicked()),this,SLOT(close()));
  29. connect(ui->pBtn_cancel,SIGNAL(clicked()),this,SLOT(close()));
  30. connect(ui->pBtn_ok,SIGNAL(clicked()),this,SLOT(do_ok()));
  31. }
  32. SaveToTemplate::~SaveToTemplate()
  33. {
  34. delete ui;
  35. }
  36. /* 设置周几 */
  37. void SaveToTemplate::setWeekDay(int weekDay)
  38. {
  39. m_weekDay = weekDay;
  40. }
  41. /* 传入计划项是否为空 */
  42. void SaveToTemplate::setItemEmpty(bool flag)
  43. {
  44. m_itemEmpty = flag;
  45. }
  46. /* 传入所有的模板名称 */
  47. void SaveToTemplate::setTemplateName(const QStringList &list)
  48. {
  49. m_templateNameList = list;
  50. }
  51. /* 获取模板名称 */
  52. QString SaveToTemplate::getTemplateName()
  53. {
  54. return m_templateName;
  55. }
  56. void SaveToTemplate::do_ok()
  57. {
  58. m_isOk = false;
  59. m_templateName.clear();
  60. ui->label_warn->hide();
  61. setWarning(false);
  62. /* 检查这一页的项是否为空 */
  63. if(m_itemEmpty)
  64. {
  65. ui->label_warn->setText("当前页没有计划项!");
  66. ui->label_warn->show();
  67. setWarning(true);
  68. return;
  69. }
  70. /* 检查名称是否是空的 */
  71. m_templateName = ui->lineEdit->text();
  72. if(m_templateName.isEmpty())
  73. {
  74. ui->label_warn->setText("请输入模版名称!");
  75. ui->label_warn->show();
  76. setWarning(true);
  77. return;
  78. }
  79. /* 检查模板名称是否重复 */
  80. bool flag = false;
  81. for(const auto& it : m_templateNameList)
  82. {
  83. if(it == m_templateName)
  84. {
  85. flag = true;
  86. break;
  87. }
  88. }
  89. if(flag)
  90. {
  91. ui->label_warn->setText("模版名称重复!");
  92. ui->label_warn->show();
  93. setWarning(true);
  94. return;
  95. }
  96. m_isOk = true;
  97. emit signal_templateName(m_templateName);
  98. this->close();
  99. }
  100. /* 设置报警 */
  101. void SaveToTemplate::setWarning(bool flag)
  102. {
  103. if(flag)
  104. {
  105. ui->lineEdit->setProperty("Warn", true);
  106. }else
  107. {
  108. ui->lineEdit->setProperty("Warn", false);
  109. }
  110. ui->lineEdit->style()->unpolish(ui->lineEdit);
  111. ui->lineEdit->style()->polish(ui->lineEdit);
  112. }