mirror of https://github.com/stella-emu/stella.git
parent
89966a9a2e
commit
a91aea1b22
|
@ -14,11 +14,13 @@
|
|||
|
||||
6.5.2 to 6.5.3 (XXX, 2021)
|
||||
|
||||
* Added context-sensitive help (TODO: doc)
|
||||
|
||||
* Improved support of multiple monitors with different resolutions.
|
||||
|
||||
* Improved analog input reading (Paddles, Keyboards...).
|
||||
|
||||
* Fixed QuadTari handling for controller types other than Joysticks.
|
||||
* Fixed QuadTari support for controller types other than Joysticks.
|
||||
|
||||
* Fixed palette and TV effects saving for Retron77.
|
||||
|
||||
|
|
|
@ -811,6 +811,7 @@ PhysicalKeyboardHandler::DefaultMenuMapping = {
|
|||
{Event::UITabNext, KBDK_BACKSPACE}, // back (FRY)
|
||||
#else // defining duplicate keys must be avoided!
|
||||
{Event::UIPrevDir, KBDK_BACKSPACE},
|
||||
{Event::UIHelp, KBDK_F1},
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
@ -267,6 +267,7 @@ NLOHMANN_JSON_SERIALIZE_ENUM(Event::Type, {
|
|||
{Event::UIPrevDir, "UIPrevDir"},
|
||||
{Event::UITabPrev, "UITabPrev"},
|
||||
{Event::UITabNext, "UITabNext"},
|
||||
{Event::UIHelp, "UIHelp"},
|
||||
{Event::MouseAxisXMove, "MouseAxisXMove"},
|
||||
{Event::MouseAxisYMove, "MouseAxisYMove"},
|
||||
{Event::MouseAxisXValue, "MouseAxisXValue"},
|
||||
|
|
|
@ -168,6 +168,7 @@ class Event
|
|||
|
||||
SALeftAxis0Value, SALeftAxis1Value, SARightAxis0Value, SARightAxis1Value,
|
||||
PaddleFourFire, PaddleFiveFire, PaddleSixFire, PaddleSevenFire,
|
||||
UIHelp,
|
||||
LastType
|
||||
};
|
||||
|
||||
|
|
|
@ -3306,7 +3306,9 @@ EventHandler::MenuActionList EventHandler::ourMenuActionList = { {
|
|||
|
||||
{ Event::UIPrevDir, "Parent directory", "" },
|
||||
{ Event::ToggleFullScreen, "Toggle fullscreen", "" },
|
||||
{ Event::Quit, "Quit", "" }
|
||||
{ Event::Quit, "Quit", "" },
|
||||
{ Event::UIHelp, "Help" "" }
|
||||
|
||||
} };
|
||||
|
||||
// Event groups
|
||||
|
|
|
@ -646,7 +646,7 @@ class EventHandler
|
|||
REFRESH_SIZE = 0,
|
||||
#endif
|
||||
EMUL_ACTIONLIST_SIZE = 211 + PNG_SIZE + COMBO_SIZE + REFRESH_SIZE,
|
||||
MENU_ACTIONLIST_SIZE = 18
|
||||
MENU_ACTIONLIST_SIZE = 19
|
||||
;
|
||||
|
||||
// The event(s) assigned to each combination event
|
||||
|
|
|
@ -152,9 +152,13 @@ void Dialog::setHelpAnchor(const string& helpAnchor, bool debugger)
|
|||
_debuggerHelp = debugger;
|
||||
|
||||
if(_helpWidget == nullptr)
|
||||
{
|
||||
_helpWidget = new ButtonWidget(this, _font, _w - _font.getMaxCharWidth() * 3.5, 0,
|
||||
_font.getMaxCharWidth() * 3.5, buttonHeight(), "?",
|
||||
_font.getMaxCharWidth() * 3.5 + 0.5, buttonHeight(), "?",
|
||||
kHelpCmd);
|
||||
_helpWidget->setBGColor(kColorTitleBar);
|
||||
_helpWidget->setTextColor(kColorTitleText);
|
||||
}
|
||||
|
||||
if(hasTitle() && hasHelp())
|
||||
_helpWidget->clearFlags(Widget::FLAG_INVISIBLE);
|
||||
|
@ -166,10 +170,26 @@ void Dialog::setHelpAnchor(const string& helpAnchor, bool debugger)
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
const string Dialog::getHelpURL()
|
||||
{
|
||||
if(!_helpAnchor.empty())
|
||||
{
|
||||
if(_debuggerHelp)
|
||||
return "https://stella-emu.github.io/docs/debugger.html#" + _helpAnchor;
|
||||
else
|
||||
return "https://stella-emu.github.io/docs/index.html#" + _helpAnchor;
|
||||
}
|
||||
return EmptyString;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Dialog::openHelp()
|
||||
{
|
||||
if(hasHelp())
|
||||
{
|
||||
if(SDL_OpenURL(getHelpURL().c_str()))
|
||||
{
|
||||
cerr << "error opening URL " << getHelpURL() << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -831,6 +851,9 @@ bool Dialog::handleNavEvent(Event::Type e, bool repeated)
|
|||
return true;
|
||||
}
|
||||
break;
|
||||
case Event::UIHelp:
|
||||
openHelp();
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
|
@ -880,14 +903,9 @@ void Dialog::handleCommand(CommandSender* sender, int cmd, int data, int id)
|
|||
break;
|
||||
|
||||
case kHelpCmd:
|
||||
if(hasHelp())
|
||||
{
|
||||
if(SDL_OpenURL(getHelpURL().c_str()))
|
||||
{
|
||||
cerr << "error opening URL " << getHelpURL() << endl;
|
||||
}
|
||||
openHelp();
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -98,7 +98,6 @@ class Dialog : public GuiObject
|
|||
bool hasTitle() { return !_title.empty(); }
|
||||
|
||||
void setHelpAnchor(const string& helpAnchor, bool debugger = false);
|
||||
const string getHelpURL();
|
||||
|
||||
virtual bool isShading() const { return true; }
|
||||
|
||||
|
@ -201,8 +200,6 @@ class Dialog : public GuiObject
|
|||
|
||||
virtual bool repeatEnabled() { return true; }
|
||||
|
||||
bool hasHelp() { return !getHelpURL().empty(); }
|
||||
|
||||
private:
|
||||
enum {
|
||||
kHelpCmd = 'DlHp'
|
||||
|
@ -212,6 +209,9 @@ class Dialog : public GuiObject
|
|||
bool handleNavEvent(Event::Type e, bool repeated = false);
|
||||
void getTabIdForWidget(Widget* w);
|
||||
bool cycleTab(int direction);
|
||||
const string getHelpURL();
|
||||
bool hasHelp() { return !getHelpURL().empty(); }
|
||||
void openHelp();
|
||||
|
||||
protected:
|
||||
const GUI::Font& _font;
|
||||
|
|
|
@ -84,7 +84,7 @@ HelpDialog::HelpDialog(OSystem& osystem, DialogContainer& parent,
|
|||
|
||||
addToFocusList(wid);
|
||||
|
||||
setHelpAnchor(" ");
|
||||
setHelpAnchor("Hotkeys");
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -235,8 +235,6 @@ void InputDialog::addDevicePortTab()
|
|||
|
||||
// Add items for virtual device ports
|
||||
addToFocusList(wid, myTab, tabID);
|
||||
|
||||
setHelpAnchor("Input");
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -83,6 +83,8 @@ RomAuditDialog::RomAuditDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// Add OK and Cancel buttons
|
||||
addOKCancelBGroup(wid, font, "Audit", "Close");
|
||||
addBGroupToFocusList(wid);
|
||||
|
||||
setHelpAnchor("ROMAudit");
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -55,9 +55,12 @@ WhatsNewDialog::WhatsNewDialog(OSystem& osystem, DialogContainer& parent,
|
|||
add(ypos, "fixed paddle button bug for jittering controllers");
|
||||
add(ypos, "improved switching between joysticks and paddles");
|
||||
add(ypos, "improved memory usage in UI mode");
|
||||
}
|
||||
add(ypos, "fixed broken Driving Controller support for Stelladaptor/2600-daptor devices");
|
||||
add(ypos, "fixed missing QuadTari option in UI");
|
||||
}
|
||||
add(ypos, "improved analog input reading");
|
||||
add(ypos, "fixed QuadTari support for some controller types");
|
||||
add(ypos, "fixed palette and TV effects saving");
|
||||
#else
|
||||
if(version < "6.5")
|
||||
{
|
||||
|
@ -70,9 +73,13 @@ WhatsNewDialog::WhatsNewDialog(OSystem& osystem, DialogContainer& parent,
|
|||
add(ypos, "added sound to Time Machine playback");
|
||||
add(ypos, "moved settings, properties etc. to an SQLite database");
|
||||
add(ypos, "fixed paddle button bug for jittering controllers");
|
||||
}
|
||||
add(ypos, "fixed broken Driving Controller support for Stelladaptor/2600-daptor devices");
|
||||
add(ypos, "fixed missing QuadTari option in UI");
|
||||
}
|
||||
add(ypos, "added context-sensitive help");
|
||||
add(ypos, "improved analog input reading");
|
||||
add(ypos, "improved multi-monitor support");
|
||||
add(ypos, "fixed QuadTari support for some controller types");
|
||||
add(ypos, ELLIPSIS + " (for a complete list see 'docs/Changes.txt')");
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue