Commit Graph

8 Commits

Author SHA1 Message Date
Volker Ruppert
7f420fc260 Added modeless message box in the restore code and some related fixes.
- Show message box while restoring hardware state.
- Set modeless message box handle to NULL after destroying it.
- Reset all config options to default before restoring config.
- Fixed CMOS RTC value after restore if in 12-hour-mode.
- Fixed possible segfault in the plugins code caused by Voodoo plugin in VGA mode
  (found at restore code testing).
2023-12-03 12:34:03 +01:00
Volker Ruppert
f719dbe6d1 In case of failure restore_config() resets the restore flag. 2023-11-04 15:09:44 +01:00
Volker Ruppert
e896e71618 Fix for the fix: restore state from config interface works again (really fixes issue #37). 2023-11-03 23:58:40 +01:00
Benjamin David Lunt
1519076597
Add Modeless MessageBox capabilities (#109)
As an example, when saving the state of an emulation, especially one
that has large image files and a large memory setting, there is a pause
between the time you choose a directory to save to, and the MessageBox
that states that the state was saved. During this time, there is no
indication that Bochs is doing anything. As far as the user is
concerned, Bochs froze.

So, this PR adds the capability to display a _Modeless_ message box. To
do so, at any point you need a message box shown, allowing other things
to continue to happen (SYNCHRONOUS), simply call the following line:
`void *hwnd = SIM->ml_message_box("Message Box Title", "Message Box
Text");`
Then after the task has been performed, remove the message box:
`SIM->ml_message_box_kill(hwnd);`

The function is implemented in all configurations via virtual calls,
however, the creation of the message box is currently only implemented
in the Win32 configuration. Other configurations will need this
implemented, though I do not have those configurations to test with,
except the text only config. I may get around to it :-).

This also currently only displays as the state is being saved. To
display when the state is being restored should now be a simple task by
adding the two lines shown above to the associated function.

The only drawback with this is that if the state is considerably small,
the save will take just a second or less. If so, this window will show
and then instantly be removed, possibly confusing the user. _What was
that!!_
2023-10-29 21:47:12 +01:00
Shwartsman
325fb4bfe0 Change current directory before restoring from path bugfix 2023-10-28 11:35:49 +03:00
Volker Ruppert
3fcc320897 Added new plugin type PLUGTYPE_CI for config interfaces. Updated related code
and documentation.
2021-03-27 17:23:31 +00:00
Volker Ruppert
9426ba987b Converted the win32config module to a plugin (using PLUGTYPE_CORE for now). 2021-03-26 19:12:09 +00:00
Volker Ruppert
7661b74d5c Step #1 for converting the win32config code to a plugin.
- Renamed win32dialog.cc to win32config.cc.
2021-03-23 10:04:29 +00:00