confirm on local save delete, ESC to exit local save browser, don't allow empty save names
This commit is contained in:
parent
323dae959a
commit
d8166998f8
@ -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)
|
||||
{
|
||||
|
||||
|
@ -49,6 +49,7 @@ public:
|
||||
FileBrowserActivity(std::string directory, FileSelectedCallback * callback);
|
||||
virtual void OnDraw();
|
||||
virtual void OnTick(float dt);
|
||||
virtual void OnTryExit(ExitMethod method);
|
||||
virtual void OnMouseDown(int x, int y, unsigned button);
|
||||
void loadDirectory(std::string directory, std::string search);
|
||||
void SelectSave(SaveFile * file);
|
||||
|
Reference in New Issue
Block a user