summaryrefslogtreecommitdiff
path: root/src/filebrowser/FileBrowserActivity.cpp
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-01-07 17:21:59 (GMT)
committer jacob1 <jfu614@gmail.com>2013-01-07 17:21:59 (GMT)
commitd8166998f85168b6635e53e2c46e234093ed55bf (patch)
tree0b2d2463ebc1cc132a2e7236d240dd3e3c9bbec3 /src/filebrowser/FileBrowserActivity.cpp
parent323dae959ad168b634599b27802fb03598305c81 (diff)
downloadpowder-d8166998f85168b6635e53e2c46e234093ed55bf.zip
powder-d8166998f85168b6635e53e2c46e234093ed55bf.tar.gz
confirm on local save delete, ESC to exit local save browser, don't allow empty save names
Diffstat (limited to 'src/filebrowser/FileBrowserActivity.cpp')
-rw-r--r--src/filebrowser/FileBrowserActivity.cpp29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/filebrowser/FileBrowserActivity.cpp b/src/filebrowser/FileBrowserActivity.cpp
index 558e78d..b8e18bf 100644
--- a/src/filebrowser/FileBrowserActivity.cpp
+++ b/src/filebrowser/FileBrowserActivity.cpp
@@ -13,6 +13,7 @@
#include "tasks/Task.h"
#include "simulation/SaveRenderer.h"
#include "dialogues/TextPrompt.h"
+#include "dialogues/ConfirmPrompt.h"
#include "dialogues/ErrorMessage.h"
class Thumbnail;
@@ -176,19 +177,28 @@ void FileBrowserActivity::SelectSave(SaveFile * file)
void FileBrowserActivity::DeleteSave(SaveFile * file)
{
- remove(file->GetName().c_str());
- loadDirectory(directory, "");
+ std::string deleteMessage = "Are you sure you want to delete " + file->GetDisplayName() + ".cps?";
+ if (ConfirmPrompt::Blocking("Delete Save", deleteMessage))
+ {
+ remove(file->GetName().c_str());
+ loadDirectory(directory, "");
+ }
}
void FileBrowserActivity::RenameSave(SaveFile * file)
{
std::string newName = TextPrompt::Blocking("Rename", "Change save name", file->GetDisplayName(), "", 0);
- newName = directory + PATH_SEP + newName + ".cps";
- int ret = rename(file->GetName().c_str(), newName.c_str());
- if (ret)
- ErrorMessage::Blocking("Error", "Could not rename file");
+ if (newName.length())
+ {
+ newName = directory + PATH_SEP + newName + ".cps";
+ int ret = rename(file->GetName().c_str(), newName.c_str());
+ if (ret)
+ ErrorMessage::Blocking("Error", "Could not rename file");
+ else
+ loadDirectory(directory, "");
+ }
else
- loadDirectory(directory, "");
+ ErrorMessage::Blocking("Error", "No save name given");
}
void FileBrowserActivity::loadDirectory(std::string directory, std::string search)
@@ -246,6 +256,11 @@ void FileBrowserActivity::OnMouseDown(int x, int y, unsigned button)
Exit();
}
+void FileBrowserActivity::OnTryExit(ExitMethod method)
+{
+ Exit();
+}
+
void FileBrowserActivity::NotifyError(Task * task)
{