From eb611440d6014bc2d77e13be4eff20cc77a272f4 Mon Sep 17 00:00:00 2001 From: klugier Date: Sat, 28 May 2016 19:21:19 +0000 Subject: [PATCH] Add missing NewPackageFile.cpp git-svn-id: svn://ultimatepp.org/upp/trunk@9890 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/NewPackageFile.cpp | 56 +++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 uppsrc/ide/NewPackageFile.cpp diff --git a/uppsrc/ide/NewPackageFile.cpp b/uppsrc/ide/NewPackageFile.cpp new file mode 100644 index 000000000..2592aa6db --- /dev/null +++ b/uppsrc/ide/NewPackageFile.cpp @@ -0,0 +1,56 @@ +#include "ide.h" + +class NewPackageFileWindow : public WithNewPackageFileLayout { + typedef NewPackageFileWindow CLASSNAME; + +public: + NewPackageFileWindow(const String& packageDir); + + String GetFileName() const; + +private: + void CheckFilePath(); + +private: + String packageDir; +}; + +NewPackageFileWindow::NewPackageFileWindow(const String& packageDir) + : packageDir(packageDir) +{ + CtrlLayoutOKCancel(*this, "New package file"); + + fileName <<= THISBACK(CheckFilePath); + + ok.Disable(); +} + +void NewPackageFileWindow::CheckFilePath() +{ + String file = fileName.GetData(); + + info.Clear(); + if (file.IsEmpty()) { + ok.Disable(); + } + else + if (FileExists(packageDir + DIR_SEPS + file)) { + ok.Disable(); + info.SetData("[ [ [@(170.42.0) File already exists.]]]"); + } + else { + ok.Enable(); + } +} + +String NewPackageFileWindow::GetFileName() const +{ + return fileName.GetData(); +} + +void WorkspaceWork::NewPackageFile() +{ + NewPackageFileWindow dlg(GetFileFolder(GetActivePackagePath())); + if (dlg.ExecuteOK()) + AddItem(dlg.GetFileName(), false, false); +}