diff options
author | Alexander Tkachev | 2016-06-05 22:26:51 +0600 |
---|---|---|
committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
commit | 9eb4aad7fdea54fd99ad4a9aa4ab78bf64f81794 (patch) | |
tree | c023071ab99a5804b78121e9d7bbbcc16975c253 /gui | |
parent | 0ce7be17d3fec380f726c1ff16c559344b3e24c1 (diff) | |
download | scummvm-rg350-9eb4aad7fdea54fd99ad4a9aa4ab78bf64f81794.tar.gz scummvm-rg350-9eb4aad7fdea54fd99ad4a9aa4ab78bf64f81794.tar.bz2 scummvm-rg350-9eb4aad7fdea54fd99ad4a9aa4ab78bf64f81794.zip |
CLOUD: Make DefaultSaveFileManager ignore syncing files
MetaEngines don't get "locked" files in the list, so won't try to open
these.
Save/Load dialog updates save list every time SavesSyncRequest tells it
to.
Diffstat (limited to 'gui')
-rw-r--r-- | gui/saveload-dialog.cpp | 23 | ||||
-rw-r--r-- | gui/saveload-dialog.h | 7 |
2 files changed, 23 insertions, 7 deletions
diff --git a/gui/saveload-dialog.cpp b/gui/saveload-dialog.cpp index 6d343c88ed..2f10182006 100644 --- a/gui/saveload-dialog.cpp +++ b/gui/saveload-dialog.cpp @@ -35,6 +35,7 @@ #include "gui/widgets/edittext.h" #include "graphics/scaler.h" +#include <common/savefile.h> namespace GUI { @@ -201,12 +202,9 @@ void SaveLoadChooserDialog::handleCommand(CommandSender *sender, uint32 cmd, uin //this dialog only gets these commands if the progress dialog was shown and user clicked "run in background" switch (cmd) { - case kSavesSyncProgressCmd: - //TODO: unlock that save which was downloaded - break; - + case kSavesSyncProgressCmd: case kSavesSyncEndedCmd: - //TODO: ? + updateSaveList(); break; } } @@ -237,6 +235,7 @@ void SaveLoadChooserDialog::handleTickle() { } CloudMan.setSyncTarget(this); _dialogWasShown = true; + updateSaveList(); } } Dialog::handleTickle(); @@ -259,6 +258,11 @@ void SaveLoadChooserDialog::reflowLayout() { Dialog::reflowLayout(); } +void SaveLoadChooserDialog::updateSaveList() { + Common::Array<Common::String> files = CloudMan.getSyncingFiles(); //returns empty array if not syncing + g_system->getSavefileManager()->updateSavefilesList(files); +} + #ifndef DISABLE_SAVELOADCHOOSER_GRID void SaveLoadChooserDialog::addChooserButtons() { if (_listButton) { @@ -570,6 +574,7 @@ void SaveLoadChooserSimple::close() { } void SaveLoadChooserSimple::updateSaveList() { + SaveLoadChooserDialog::updateSaveList(); _saveList = _metaEngine->listSaves(_target.c_str()); int curSlot = 0; @@ -631,6 +636,7 @@ void SaveLoadChooserSimple::updateSaveList() { } _list->setList(saveNames, &colors); + draw(); } // SaveLoadChooserGrid implementation @@ -726,6 +732,13 @@ void SaveLoadChooserGrid::handleMouseWheel(int x, int y, int direction) { } } +void SaveLoadChooserGrid::updateSaveList() { + SaveLoadChooserDialog::updateSaveList(); + _saveList = _metaEngine->listSaves(_target.c_str()); + updateSaves(); + draw(); +} + void SaveLoadChooserGrid::open() { SaveLoadChooserDialog::open(); diff --git a/gui/saveload-dialog.h b/gui/saveload-dialog.h index e8f0c37228..a767fb8a23 100644 --- a/gui/saveload-dialog.h +++ b/gui/saveload-dialog.h @@ -84,6 +84,7 @@ public: protected: virtual int runIntern() = 0; + virtual void updateSaveList(); const bool _saveMode; const MetaEngine *_metaEngine; @@ -122,6 +123,8 @@ public: virtual void open(); virtual void close(); +protected: + virtual void updateSaveList(); private: virtual int runIntern(); @@ -136,8 +139,7 @@ private: SaveStateList _saveList; String _resultString; - - void updateSaveList(); + void updateSelection(bool redraw); }; @@ -180,6 +182,7 @@ public: protected: virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); virtual void handleMouseWheel(int x, int y, int direction); + virtual void updateSaveList(); private: virtual int runIntern(); |