Expose 'ctrlcombo' through the UI.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3120 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2014-12-24 18:49:26 +00:00
parent 7f321a9628
commit 4642183745
5 changed files with 24 additions and 2 deletions

View File

@ -35,6 +35,9 @@
* The 'listdelay' command now accepts a value of zero, indicating that * The 'listdelay' command now accepts a value of zero, indicating that
list-skipping (jumping to a line in a list by keypress) is disabled. list-skipping (jumping to a line in a list by keypress) is disabled.
* The 'ctrlcombo' command now has a GUI item, allowing it to be changed
from within the application.
* Added 'Shift-Alt/Shift-Cmd s' keyboard shortcut, to enable continuous * Added 'Shift-Alt/Shift-Cmd s' keyboard shortcut, to enable continuous
snapshot mode for each frame. This is really only useful if you snapshot mode for each frame. This is really only useful if you
save snapshots in 1x mode; using it in high-resolution mode is save snapshots in 1x mode; using it in high-resolution mode is

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -2617,7 +2617,9 @@
<tr><td>Mouse paddle sensitivity</td><td>Sensitivity used when emulating a paddle using a mouse</td><td>-msense</td></tr> <tr><td>Mouse paddle sensitivity</td><td>Sensitivity used when emulating a paddle using a mouse</td><td>-msense</td></tr>
<tr><td>Allow all 4 ...</td><td>Allow all 4 joystick directions to be pressed simultaneously</td><td>-joyallow4</td></tr> <tr><td>Allow all 4 ...</td><td>Allow all 4 joystick directions to be pressed simultaneously</td><td>-joyallow4</td></tr>
<tr><td>Grab mouse ...</td><td>Keep mouse in window in emulation mode</td><td>-grabmouse</td></tr> <tr><td>Grab mouse ...</td><td>Keep mouse in window in emulation mode</td><td>-grabmouse</td></tr>
<tr><td>Always hide mouse ...</td><td>completely disable showing the mouse cursor</td><td>-hidemouse</td></tr> <tr><td>Always hide mouse ...</td><td>Completely disable showing the mouse cursor</td><td>-hidemouse</td></tr>
<tr><td>Use Control key combos</td><td>Enable using Control key in keyboard actions</td><td>-ctrlcombo</td></tr>
<tr><td>Show Joystick Database</td><td>Show all joysticks that Stella knows about, with the option to remove them</td><td>&nbsp;</td></tr>
</table> </table>
</td> </td>
</tr> </tr>

View File

@ -47,7 +47,7 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent,
// Set real dimensions // Set real dimensions
_w = BSPF_min(50 * fontWidth + 10, max_w); _w = BSPF_min(50 * fontWidth + 10, max_w);
_h = BSPF_min(14 * (lineHeight + 4) + 14, max_h); _h = BSPF_min(15 * (lineHeight + 4) + 14, max_h);
// The tab widget // The tab widget
xpos = 2; ypos = vBorder; xpos = 2; ypos = vBorder;
@ -202,11 +202,18 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
myHideCursor->clearFlags(WIDGET_ENABLED); myHideCursor->clearFlags(WIDGET_ENABLED);
#endif #endif
// Enable/disable control key-combos
ypos += lineHeight + 4;
myCtrlCombo = new CheckboxWidget(myTab, font, xpos, ypos,
"Use Control key combos");
wid.push_back(myCtrlCombo);
// Show joystick database // Show joystick database
xpos += 20; ypos += lineHeight + 8; xpos += 20; ypos += lineHeight + 8;
myJoyDlgButton = new ButtonWidget(myTab, font, xpos, ypos, myJoyDlgButton = new ButtonWidget(myTab, font, xpos, ypos,
font.getStringWidth("Show Joystick Database") + 20, font.getLineHeight() + 4, font.getStringWidth("Show Joystick Database") + 20, font.getLineHeight() + 4,
"Show Joystick Database", kDBButtonPressed); "Show Joystick Database", kDBButtonPressed);
wid.push_back(myJoyDlgButton);
// Add items for virtual device ports // Add items for virtual device ports
addToFocusList(wid, myTab, tabID); addToFocusList(wid, myTab, tabID);
@ -244,6 +251,9 @@ void InputDialog::loadConfig()
// Hide cursor // Hide cursor
myHideCursor->setState(instance().settings().getBool("hidecursor")); myHideCursor->setState(instance().settings().getBool("hidecursor"));
// Enable/disable control key-combos
myCtrlCombo->setState(instance().settings().getBool("ctrlcombo"));
myTab->loadConfig(); myTab->loadConfig();
} }
@ -283,6 +293,9 @@ void InputDialog::saveConfig()
instance().settings().setValue("grabmouse", myGrabMouse->getState()); instance().settings().setValue("grabmouse", myGrabMouse->getState());
instance().settings().setValue("hidecursor", myHideCursor->getState()); instance().settings().setValue("hidecursor", myHideCursor->getState());
instance().frameBuffer().setCursorState(); instance().frameBuffer().setCursorState();
// Enable/disable control key-combos
instance().settings().setValue("ctrlcombo", myCtrlCombo->getState());
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -328,6 +341,9 @@ void InputDialog::setDefaults()
// Hide cursor // Hide cursor
myHideCursor->setState(false); myHideCursor->setState(false);
// Enable/disable control key-combos
myCtrlCombo->setState(true);
break; break;
} }

View File

@ -82,6 +82,7 @@ class InputDialog : public Dialog
CheckboxWidget* myAllowAll4; CheckboxWidget* myAllowAll4;
CheckboxWidget* myGrabMouse; CheckboxWidget* myGrabMouse;
CheckboxWidget* myHideCursor; CheckboxWidget* myHideCursor;
CheckboxWidget* myCtrlCombo;
ButtonWidget* myJoyDlgButton; ButtonWidget* myJoyDlgButton;