When the SaveLoadCloudSyncProgressDialog dialog is displayed, the top
dialog is not the saveload dialog anymore.
In this case, a full redraw is needed for proper display.
- Selecting a list item with the keyboard no longer automatically enters
edit mode; this makes keyboard navigation on the save list possible
because subsequent keys are no longer trapped by the text field.
- Clicking a selected item that's not in edit mode will now correctly
cause it to enter edit mode, instead of doing nothing.
- "Untitled saved game" edit mode initialization is no longer skipped
when entering edit mode by pressing the Enter key.
- Deleting an item now leaves the slot selected so that the selection
can be changed with the keyboard.
Fixes minor bug introduced in 829c600a02
In the saveload list dialog, selecting an empty slot before the last
save stopped coloring most of the row. Empty slots after the last save
continued to display correctly. Now both code blocks are consistent and
the selected row is always fully colored.
Changes include:
- the empty autosave slot's Delete button is now disabled (since no save file exists).
- adds the dummy autosave's name to the empty autosave button's label & tooltip.
- the empty autosave button is now disabled.
Also adds Cloud::Storage::SyncDownloadingInfo struct to pass around a bunch of numbers instead of having 3 methods for each number (in CloudManager, Storage and SavesSyncRequest).
A bit hacky (uses `friend`), but now while SaveLoadCloudSyncProgressDialog is modal, SaveLoadChooserDialog is still redrawing in the background, so the not-yet-ready saves buttons are being replaced with ready ones while the sync is in progress.
Removing GUI::CommandSender from SavesSyncRequest, so it doesn't update SaveLoadCloudSyncProgressDialog or SaveLoadChooserDialog from another thread.
Instead, these two are now polling CloudMan once per second themselves.
The dialog
"WARNING: Existing save has longer gameplay duration than the current state. Are you sure you want to overwrite it?"
is not really helpful and seems to have more negative than positive impact on the user experience, so I have removed it.
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.
Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.
Amends 7adad5aaf5.
The assignment back to _saveList is required, because the initial read does
not assign playtime.
In case the slot is empty, querySaveMetaInfos returns an empty description
with saveSlot -1 on most engines, so _saveList[selItem] loses its slot.
Cover this by adding a check.
Reverts 0425dff824.
This revert part of a17816f1 (GUI: Warn when saving a "young" game
over an "older" one).
The issue was that when trying to save in a new slot with the list
save dialog, this was not creating the save.
This finishes to fix bug #12850
- MEC: MetaEngineConnect.
- How do games handle save/load if MetaEngine (detection) is seperate from MetaEngineConnect (engine factory)?
- Most of the changes are quite similiar. ConfMan finds us the relevant MetaEngine, then simply use the new helpers from PluginMan.
- The new helpers will help convert a relevant MetaEngine into the other format or vice versa.
- Once the matching is complete, simply invoke functions by:
plugin->get<MetaEngineConnect>().engineMethod();
- Refer to previous commits to see the new class changes & notes.
This commit addresses a range of changes, within scummvm subproject.
- Audio files, like mididrv, remove U32String based name and identifier, because ASCII only.
- mididrv.cpp had some wrong format for warning messages, fix those
- Message dialogs were modified to use default arguments more often, but reverting back to the orignal to minimize changes.
- SetTooltip has a fake constructor that takes in a string, and use it.
- U32Format had some break statements missing, add those.
- RemapWidget: Use fake constructor for setLabel and setTooltip, to make minimal changes
- SDL: setting text in clipboard no longer uses SDL_iconv_string
- TTS: Override base class "say" with strings, so tts->say can be used with normal strings too.
- About dialog: fix incorrect code for u32string variables
- Fix some extra brackets
- Some buttons were incorrectly removed from using translated labels, revert those
- Message Dialog: Pass default and alt buttons as const references
- Saveload Dialog: Use translations in missing places, use const-references. Also, use translations in a correct manner.
- Use const references for tooltip in GraphicsWidget, EditTextWidget, error.cpp
- DomainEditTextWidget: Use U32String for text
- Remove extra parantheses leftover from temp code
- SaveLoadDialog - do not encode when setting labels
- Remove mapping variable from ThemeEngine::loadScalableFont (and use default 0)
- Remove incorrect u32 constructor wrapper from confman.set in eventrecorder.cpp
- Use the fake constructor for message dialog less often
- solve errors regarding comparision between string and u32string in midi
- solve errors in testbed/speech related to ttsMan->say
- fix unsigned comparision warning in tab.cpp
- fix issue with static strings and translations in sdl-graphics
- Where necessary as in, where translated messages are used.
- GUIErrorMessage now takes in U32String
- error messages across some engines use U32Strings. they are changed because they show a message dialog.