diff options
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(); |
