From 5d65501a0cbb1982f1a210d414d871c2fb23c74c Mon Sep 17 00:00:00 2001 From: mdfeist Date: Fri, 21 Jun 2013 16:20:13 -0600 Subject: [PATCH] Updated recording to propt when user is asked to save. --- BlinkAnalysis/MainFormController.cpp | 8 ++++++++ BlinkAnalysis/MainFormController.h | 2 ++ BlinkAnalysis/Recording.cpp | 27 ++++++++++++++++++++------- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/BlinkAnalysis/MainFormController.cpp b/BlinkAnalysis/MainFormController.cpp index 3d794eb..b3f41cb 100644 --- a/BlinkAnalysis/MainFormController.cpp +++ b/BlinkAnalysis/MainFormController.cpp @@ -74,3 +74,11 @@ void MainFormController::getFilePath(std::string& pathBuffer, std::string defaul } } +bool MainFormController::propt(LPCTSTR title, LPCTSTR msg) { + if (MessageBox::Show(gcnew String(msg), gcnew String(title), MessageBoxButtons::YesNo) == DialogResult::Yes) { + return true; + } else { + return false; + } +} + diff --git a/BlinkAnalysis/MainFormController.h b/BlinkAnalysis/MainFormController.h index 21e65e9..bab9e25 100644 --- a/BlinkAnalysis/MainFormController.h +++ b/BlinkAnalysis/MainFormController.h @@ -46,5 +46,7 @@ public ref class MainFormController sealed : std::string getSpecialFolderMyDocuments(); void getFilePath(std::string& pathBuffer); void getFilePath(std::string& pathBuffer, std::string defaultPath); + + bool propt(LPCTSTR title, LPCTSTR msg); }; diff --git a/BlinkAnalysis/Recording.cpp b/BlinkAnalysis/Recording.cpp index 78122cf..39ac634 100644 --- a/BlinkAnalysis/Recording.cpp +++ b/BlinkAnalysis/Recording.cpp @@ -253,15 +253,28 @@ void Recording::closeRecording() { fileStream.close(); } - std::string filePath; - MainFormController::getInstance()->getFilePath(filePath, Settings::getInstance()->getDefaultProjectDirectory()); + bool save = true; - if (filePath != "") { - TCHAR destination[MAX_PATH + 1]; - MultiByteToWideChar(CP_ACP, 0, filePath.c_str(), -1, destination, filePath.length()); + if (!MainFormController::getInstance()->propt(L"Save Recording", L"Would you like to save the recording?")) + save = false; - destination[filePath.length()] = 0; + while (save) { + std::string filePath; + MainFormController::getInstance()->getFilePath(filePath, Settings::getInstance()->getDefaultProjectDirectory()); - MoveFileEx(szTempFileName, destination, MOVEFILE_REPLACE_EXISTING); + if (filePath != "") { + TCHAR destination[MAX_PATH + 1]; + MultiByteToWideChar(CP_ACP, 0, filePath.c_str(), -1, destination, filePath.length()); + + destination[filePath.length()] = 0; + + MoveFileEx(szTempFileName, destination, MOVEFILE_REPLACE_EXISTING); + + save = false; + } else { + if (MainFormController::getInstance()->propt(L"Save Recording", L"Are you sure you would like to continue without saving the recording?")) { + save = false; + } + } } }