diff --git a/docs/graphics/commandmenu.png b/docs/graphics/commandmenu.png
index b81f702ee..9d9d8f9f6 100644
Binary files a/docs/graphics/commandmenu.png and b/docs/graphics/commandmenu.png differ
diff --git a/docs/graphics/options_misc.png b/docs/graphics/options_misc.png
index e81f0cbb1..aa382419f 100644
Binary files a/docs/graphics/options_misc.png and b/docs/graphics/options_misc.png differ
diff --git a/docs/graphics/options_misc_classic.png b/docs/graphics/options_misc_classic.png
index 4cfccd54c..d4a77dc9f 100644
Binary files a/docs/graphics/options_misc_classic.png and b/docs/graphics/options_misc_classic.png differ
diff --git a/docs/graphics/options_misc_light.png b/docs/graphics/options_misc_light.png
index ff15fe464..b1113c033 100644
Binary files a/docs/graphics/options_misc_light.png and b/docs/graphics/options_misc_light.png differ
diff --git a/docs/index.html b/docs/index.html
index 6cfd49054..8e2dbeff0 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -2352,10 +2352,15 @@
- -hidpi <1|0> |
+ -hidpi <0|1> |
Enables the HiDPI mode which scales the UI by a factor of two. |
+
+ -confirmexit <0|1> |
+ Display a popup when emulation is exited. |
+
+
-listdelay <delay> |
Set the amount of time to wait between treating successive
@@ -2853,11 +2858,12 @@
|
Theme | Theme to use for UI elements (see examples) | -uipalette |
Dialogs position | Position of dialogs with Stella window | -dialogpos |
HiDPI mode | Scales the UI by a factor of two when enabled | -hidpi |
+ Confirm exiting... | Display a popup when emulation is exited | -confirmexit |
List input delay | Maximum delay between keypresses in filelist-widgets before a search string resets. | -listdelay |
- Mouse wheel scroll | Number of lines a mouse scroll will move in list-widgets | -mwheel |
- Double-click speed | Speed of mouse double-clicks | -mdouble |
- Controller repeat delay | Delay before controller input repeats | -ctrldelay |
- Controller repeat rate | Rate of controller input repeats | -ctrlrate |
+ Mouse wheel scroll | Number of lines a mouse scroll will move in list-widgets | -mwheel |
+ Double-click speed | Speed of mouse double-clicks | -mdouble |
+ Controller repeat delay | Delay before controller input repeats | -ctrldelay |
+ Controller repeat rate | Rate of controller input repeats | -ctrlrate |
diff --git a/src/emucore/Event.hxx b/src/emucore/Event.hxx
index 0dfcb3895..b82bb7f50 100644
--- a/src/emucore/Event.hxx
+++ b/src/emucore/Event.hxx
@@ -117,7 +117,7 @@ class Event
ToggleBLCollision, ToggleBLBit, TogglePFCollision, TogglePFBit,
ToggleCollisions, ToggleBits, ToggleFixedColors,
- ToggleFrameStats, ToggleSAPortOrder,
+ ToggleFrameStats, ToggleSAPortOrder, ExitGame,
// add new events from here to avoid that user remapped events get overwritten
diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx
index 10fdccb11..eb7500259 100644
--- a/src/emucore/EventHandler.cxx
+++ b/src/emucore/EventHandler.cxx
@@ -770,11 +770,14 @@ void EventHandler::handleEvent(Event::Type event, Int32 value, bool repeated)
}
return;
#endif
-
default:
return;
}
+ case Event::ExitGame:
+ exitEmulation(true);
+ return;
+
case Event::Quit:
if(pressed && !repeated)
{
diff --git a/src/gui/CommandDialog.cxx b/src/gui/CommandDialog.cxx
index b44ec06cb..d33fe3c57 100644
--- a/src/gui/CommandDialog.cxx
+++ b/src/gui/CommandDialog.cxx
@@ -74,7 +74,7 @@ CommandDialog::CommandDialog(OSystem& osystem, DialogContainer& parent)
mySaveStateButton = ADD_CD_BUTTON("", kSaveStateCmd);
wid.push_back(mySaveStateButton);
- myStateSlotButton = ADD_CD_BUTTON("", kStateSlotCmd);
+ myStateSlotButton = ADD_CD_BUTTON("Change Slot", kStateSlotCmd);
wid.push_back(myStateSlotButton);
myLoadStateButton = ADD_CD_BUTTON("", kLoadStateCmd);
wid.push_back(myLoadStateButton);
@@ -190,7 +190,8 @@ void CommandDialog::handleCommand(CommandSender* sender, int cmd,
break;
case kExitCmd:
- instance().eventHandler().handleEvent(Event::ExitMode);
+ instance().eventHandler().leaveMenuMode();
+ instance().eventHandler().handleEvent(Event::ExitGame);
break;
// Column 3
@@ -212,9 +213,7 @@ void CommandDialog::handleCommand(CommandSender* sender, int cmd,
case kSoundCmd:
{
instance().eventHandler().leaveMenuMode();
- bool enabled = instance().audioSettings().enabled();
- instance().audioSettings().setEnabled(!enabled);
- instance().console().initializeAudio();
+ instance().sound().toggleMute();
break;
}
case kReloadRomCmd:
@@ -253,7 +252,6 @@ void CommandDialog::updateSlot(int slot)
buf << " " << slot;
mySaveStateButton->setLabel("Save State" + buf.str());
- myStateSlotButton->setLabel("State Slot" + buf.str());
myLoadStateButton->setLabel("Load State" + buf.str());
}