summaryrefslogtreecommitdiff
path: root/src/save
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2012-10-19 19:06:07 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-10-26 14:15:24 (GMT)
commite2622657f076ef943d051593d0969306daf15f32 (patch)
tree1e5b811c3d50552b591c54e9918b22ef661bfdfa /src/save
parent63daf67d44c284068a6104221121f466d9790ad9 (diff)
downloadpowder-e2622657f076ef943d051593d0969306daf15f32.zip
powder-e2622657f076ef943d051593d0969306daf15f32.tar.gz
ability to reload and resave local saves without retyping name
Diffstat (limited to 'src/save')
-rw-r--r--src/save/LocalSaveActivity.cpp6
-rw-r--r--src/save/LocalSaveActivity.h11
2 files changed, 14 insertions, 3 deletions
diff --git a/src/save/LocalSaveActivity.cpp b/src/save/LocalSaveActivity.cpp
index 740fabe..d2c4a2f 100644
--- a/src/save/LocalSaveActivity.cpp
+++ b/src/save/LocalSaveActivity.cpp
@@ -37,10 +37,11 @@ public:
}
};
-LocalSaveActivity::LocalSaveActivity(SaveFile save) :
+LocalSaveActivity::LocalSaveActivity(SaveFile save, FileSavedCallback * callback) :
WindowActivity(ui::Point(-1, -1), ui::Point(220, 200)),
thumbnail(NULL),
- save(save)
+ save(save),
+ callback(callback)
{
ui::Label * titleLabel = new ui::Label(ui::Point(4, 5), ui::Point(Size.X-8, 16), "Save to computer:");
titleLabel->SetTextColour(style::Colour::InformationTitle);
@@ -117,6 +118,7 @@ void LocalSaveActivity::saveWrite(std::string finalFilename)
mkdir(LOCAL_SAVE_DIR, 0755);
#endif
Client::Ref().WriteFile(save.GetGameSave()->Serialise(), finalFilename);
+ callback->FileSaved(&save);
}
void LocalSaveActivity::OnDraw()
diff --git a/src/save/LocalSaveActivity.h b/src/save/LocalSaveActivity.h
index b5d19f3..aacbc0b 100644
--- a/src/save/LocalSaveActivity.h
+++ b/src/save/LocalSaveActivity.h
@@ -11,6 +11,14 @@ namespace ui
class Thumbnail;
+class FileSavedCallback
+{
+public:
+ FileSavedCallback() {}
+ virtual ~FileSavedCallback() {}
+ virtual void FileSaved(SaveFile * file) {}
+};
+
class LocalSaveActivity: public WindowActivity, public ThumbnailListener
{
SaveFile save;
@@ -20,8 +28,9 @@ class LocalSaveActivity: public WindowActivity, public ThumbnailListener
class SaveAction;
friend class CancelAction;
friend class SaveAction;
+ FileSavedCallback * callback;
public:
- LocalSaveActivity(SaveFile save);
+ LocalSaveActivity(SaveFile save, FileSavedCallback * callback);
void saveWrite(std::string finalFilename);
virtual void Save();
virtual void OnDraw();