#pragma once #include "mModuleDefines.h" #include "iDlgBase.h" #include "mGuiSysManager_global.h" class QFile; class ZxDataProject; namespace Ui { class iWxProjectNew; } // 新建或编辑项目对话框 class M_GUI_SYSMANAGER_EXPORT iWxProjectNew : public iDlgBase { Q_OBJECT public: explicit iWxProjectNew(MainWindowOption o, QString &sWorkDir, QWidget *parent = 0); ~iWxProjectNew(); // 初始化 virtual void initUI(); void setDataProject(ZxDataProject* p); void setActionMode(DataActionMode o); void setDataUrl(QString sTempDir, QString sTempProj); // 返回 QString getProjName(); QString getProjDir(); QString getProjDesc(); QString getUiCreator(); QString getUiCreatedTime(); QString getUiModifier(); QString getUiModifiedTime(); // 获取sPath项目下的db文件全路径 static QString getDbFileOfProj(QString sPath, QString &sProjName); private: bool dealwithNew(); bool dealwithEdit(); bool dealwithCopyAs(); bool dealwithSaveAs(); bool checkInputs(); void copySysConfigs(QString& sUrl); bool saveNewProjInfo(QString& sUrl); signals: private slots: void on_btnDir_clicked(); void on_btnDirEx_clicked(); void on_btnOK_clicked(); void on_btnCancel_clicked(); private: Ui::iWxProjectNew *ui; ZxDataProject* m_pDataProject; MainWindowOption m_oMwo; DataActionMode m_oDAM; // 不打开工区情况下的CopyAs,不涉及序列化 QString m_sTempDir; QString m_sTempProj; };