#ifndef _GIALOGWORKINGDIR_H_ #define _GIALOGWORKINGDIR_H_ //#include "SelfDefObject/QFDialog.h" #include namespace Ui { class DialogWorkingDir; } namespace GUI { class MainWindow; } namespace Py { class PythonAgent; } namespace Setting { class MainSetting; /** * @brief 工作目录设置对话框类 * @since 2.5.0 */ class WorkingDirDialog : public QDialog { Q_OBJECT public: /** * @brief 构造函数 * @param mw 主窗口对象 * @param setting 主窗口配置信息对象 * @since 2.5.0 */ WorkingDirDialog(GUI::MainWindow *mw, MainSetting *setting); /** * @brief 析构函数 * @since 2.5.0 */ ~WorkingDirDialog(); private: void initRecentFile(); /** * @brief 用_setting初始化工作目录设置对话框 * @since 2.5.0 */ void init(); /** * @brief 确认按钮的响应函数 * @since 2.5.0 */ void accept() override; /** * @brief 取消按钮的响应函数 * @since 2.5.0 */ void reject() override; /** * @brief 重写Dialog的closeEvent事件 * @param e QCloseEvent * @since 2.5.0 */ void closeEvent(QCloseEvent *e); signals: void closeMainWindow(); void currentFile(QString); private slots: /** * @brief 选择工作目录按钮点击的处理函数 * @since 2.5.0 */ void on_pushButton_clicked(); void onCreateBntClicked(); void onOpenBntClicked(); void showMain(); private: /** * @brief 主窗口配置信息管理类对象 * @since 2.5.0 */ MainSetting *_setting{}; /** * @brief 工作目录设置对话框的ui对象 * @since 2.5.0 */ Ui::DialogWorkingDir *_ui{}; GUI::MainWindow* _main{}; }; } #endif