diff options
| author | jacob1 <jfu614@gmail.com> | 2012-10-19 19:06:07 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-10-26 14:15:24 (GMT) |
| commit | e2622657f076ef943d051593d0969306daf15f32 (patch) | |
| tree | 1e5b811c3d50552b591c54e9918b22ef661bfdfa /src/save | |
| parent | 63daf67d44c284068a6104221121f466d9790ad9 (diff) | |
| download | powder-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.cpp | 6 | ||||
| -rw-r--r-- | src/save/LocalSaveActivity.h | 11 |
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(); |
