CGH_ProjectView.cpp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. #include "CGH_ProjectView.h"
  2. #include "ui_CGH_ProjectView.h"
  3. #include <QFileDialog>
  4. #include <QMessageBox>
  5. #include <QString>
  6. #include <string>
  7. #pragma execution_character_set("utf-8")
  8. CGH_ProjectView::CGH_ProjectView(QWidget *parent)
  9. : QDialog(parent)
  10. {
  11. ui = new Ui::CGH_ProjectView();
  12. ui->setupUi(this);
  13. initSlots();
  14. }
  15. CGH_ProjectView::~CGH_ProjectView()
  16. {
  17. delete ui;
  18. }
  19. void CGH_ProjectView::initSlots()
  20. {
  21. connect(ui->ButtonViewResource, SIGNAL(clicked()), this, SLOT(ChooseResourcePath()));
  22. connect(ui->ButtonViewOk, SIGNAL(clicked()), this, SLOT(OkNewProject()));
  23. connect(ui->ButtonViewCancel, SIGNAL(clicked()), this, SLOT(CancelNewProject()));
  24. }
  25. // 资源路径
  26. void CGH_ProjectView::ChooseResourcePath()
  27. {
  28. QFileDialog* file_dialog = new QFileDialog(this);
  29. file_dialog->setOption(QFileDialog::ShowDirsOnly);//设置显示选项
  30. file_dialog->setFileMode(QFileDialog::Directory);//设置文件模式
  31. file_dialog->setViewMode(QFileDialog::List);//设置显示模式
  32. //点击确定按钮
  33. if (file_dialog->exec() == QFileDialog::Accepted)
  34. {
  35. //获取新建项目路径
  36. QString path = file_dialog->selectedFiles().at(0);
  37. ui->ViewResource->setText(path);//设置路径栏
  38. }
  39. //点取消则返回
  40. else
  41. {
  42. return;
  43. }
  44. delete file_dialog;
  45. file_dialog = NULL;
  46. }
  47. // 确认
  48. void CGH_ProjectView::OkNewProject()
  49. {
  50. //判断名字与路径是否为空
  51. if (ui->ViewName->text().isEmpty())
  52. {
  53. QMessageBox::information(this, tr("提示"), tr("表格未填写完整,新建项目失败:\n文件名不可为空!"), QMessageBox::Yes);
  54. return;
  55. }
  56. if (ui->ViewLSpacing->text().isEmpty() || ui->ViewCSpacing->text().isEmpty() || ui->ViewLine->text().isEmpty() || ui->ViewColumn->text().isEmpty())
  57. {
  58. QMessageBox::information(this, tr("提示"), tr("表格未填写完整,新建项目失败:\n控制设置不可为空!"), QMessageBox::Yes);
  59. return;
  60. }
  61. if (ui->ViewPrefix->text().isEmpty() || ui->ViewExpose->text().isEmpty() || ui->ViewQuiet->text().isEmpty())
  62. {
  63. QMessageBox::information(this, tr("提示"), tr("表格未填写完整,新建项目失败:\n曝光设置不可为空!"), QMessageBox::Yes);
  64. return;
  65. }
  66. if (ui->ViewSave->text().isEmpty() || ui->ViewResource->text().isEmpty())
  67. {
  68. QMessageBox::information(this, tr("提示"), tr("表格未填写完整,新建项目失败:\n路径设置不可为空!"), QMessageBox::Yes);
  69. return;
  70. }
  71. QDialog::accept();
  72. }
  73. // 取消
  74. void CGH_ProjectView::CancelNewProject()
  75. {
  76. if (QMessageBox::warning(this, tr("提示"), tr("确定取消创建工程?"), QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes)
  77. {
  78. QDialog::reject();
  79. }
  80. return;
  81. }
  82. string CGH_ProjectView::getViewName()
  83. {
  84. return ui->ViewName->text().toStdString();
  85. }
  86. string CGH_ProjectView::getViewLSpacing()
  87. {
  88. return ui->ViewLSpacing->text().toStdString();
  89. }
  90. string CGH_ProjectView::getViewCSpacing()
  91. {
  92. return ui->ViewCSpacing->text().toStdString();
  93. }
  94. string CGH_ProjectView::getViewLine()
  95. {
  96. return ui->ViewLine->text().toStdString();
  97. }
  98. string CGH_ProjectView::getViewColumn()
  99. {
  100. return ui->ViewColumn->text().toStdString();
  101. }
  102. string CGH_ProjectView::getViewPrefix()
  103. {
  104. return ui->ViewPrefix->text().toStdString();
  105. }
  106. string CGH_ProjectView::getViewExpose()
  107. {
  108. return ui->ViewExpose->text().toStdString();
  109. }
  110. string CGH_ProjectView::getViewQuiet()
  111. {
  112. return ui->ViewQuiet->text().toStdString();
  113. }
  114. string CGH_ProjectView::getViewResource()
  115. {
  116. return ui->ViewResource->text().toStdString();
  117. }
  118. void CGH_ProjectView::setViewName(const string& str)
  119. {
  120. ui->ViewName->setText(QString::fromStdString(str));
  121. }
  122. void CGH_ProjectView::setViewLSpacing(const string& str)
  123. {
  124. ui->ViewLSpacing->setText(QString::fromStdString(str));
  125. }
  126. void CGH_ProjectView::setViewCSpacing(const string& str)
  127. {
  128. ui->ViewCSpacing->setText(QString::fromStdString(str));
  129. }
  130. void CGH_ProjectView::setViewLine(const string& str)
  131. {
  132. ui->ViewLine->setText(QString::fromStdString(str));
  133. }
  134. void CGH_ProjectView::setViewColumn(const string& str)
  135. {
  136. ui->ViewColumn->setText(QString::fromStdString(str));
  137. }
  138. void CGH_ProjectView::setViewPrefix(const string& str)
  139. {
  140. ui->ViewPrefix->setText(QString::fromStdString(str));
  141. }
  142. void CGH_ProjectView::setViewExpose(const string& str)
  143. {
  144. ui->ViewExpose->setText(QString::fromStdString(str));
  145. }
  146. void CGH_ProjectView::setViewQuiet(const string& str)
  147. {
  148. ui->ViewQuiet->setText(QString::fromStdString(str));
  149. }
  150. void CGH_ProjectView::setViewResource(const string& str)
  151. {
  152. ui->ViewResource->setText(QString::fromStdString(str));
  153. }
  154. void CGH_ProjectView::initWindow()
  155. {
  156. relproPath = "../Project";
  157. curabsPath = (QCoreApplication::applicationDirPath()).toStdString();
  158. absproPath = curabsPath + "/" + relproPath;
  159. ui->ViewSave->setText(QString::fromStdString(absproPath));
  160. }