DialogWorkingDir.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #ifndef _GIALOGWORKINGDIR_H_
  2. #define _GIALOGWORKINGDIR_H_
  3. //#include "SelfDefObject/QFDialog.h"
  4. #include <QDialog>
  5. namespace Ui
  6. {
  7. class DialogWorkingDir;
  8. }
  9. namespace GUI
  10. {
  11. class MainWindow;
  12. }
  13. namespace Py
  14. {
  15. class PythonAgent;
  16. }
  17. namespace Setting
  18. {
  19. class MainSetting;
  20. /**
  21. * @brief 工作目录设置对话框类
  22. * @since 2.5.0
  23. */
  24. class WorkingDirDialog : public QDialog
  25. {
  26. Q_OBJECT
  27. public:
  28. /**
  29. * @brief 构造函数
  30. * @param mw 主窗口对象
  31. * @param setting 主窗口配置信息对象
  32. * @since 2.5.0
  33. */
  34. WorkingDirDialog(GUI::MainWindow *mw, MainSetting *setting);
  35. /**
  36. * @brief 析构函数
  37. * @since 2.5.0
  38. */
  39. ~WorkingDirDialog();
  40. private:
  41. void initRecentFile();
  42. /**
  43. * @brief 用_setting初始化工作目录设置对话框
  44. * @since 2.5.0
  45. */
  46. void init();
  47. /**
  48. * @brief 确认按钮的响应函数
  49. * @since 2.5.0
  50. */
  51. void accept() override;
  52. /**
  53. * @brief 取消按钮的响应函数
  54. * @since 2.5.0
  55. */
  56. void reject() override;
  57. /**
  58. * @brief 重写Dialog的closeEvent事件
  59. * @param e QCloseEvent
  60. * @since 2.5.0
  61. */
  62. void closeEvent(QCloseEvent *e);
  63. signals:
  64. void closeMainWindow();
  65. void currentFile(QString);
  66. private slots:
  67. /**
  68. * @brief 选择工作目录按钮点击的处理函数
  69. * @since 2.5.0
  70. */
  71. void on_pushButton_clicked();
  72. void onCreateBntClicked();
  73. void onOpenBntClicked();
  74. void showMain();
  75. private:
  76. /**
  77. * @brief 主窗口配置信息管理类对象
  78. * @since 2.5.0
  79. */
  80. MainSetting *_setting{};
  81. /**
  82. * @brief 工作目录设置对话框的ui对象
  83. * @since 2.5.0
  84. */
  85. Ui::DialogWorkingDir *_ui{};
  86. GUI::MainWindow* _main{};
  87. };
  88. }
  89. #endif