Allow HELP screen information definitions in the screen XML files

Issue #275 closed
IanSav created an issue

Along the lines of the Issue #206 I have a further wish and proposal for a change to the Enigma2 skinning system.

This wish may not be easy and may have implications which I have not yet considered. What I propose is to add the ability to define the HELP button help text definitions into the screen definitions in the main "skin.xml" file (or sub files, as appropriate). That is where a screen desires some HELP button help text then it should be possible to add some XML lines along the lines of "<help key="KEY_NEXT" text="Help text for NEXT button" />" type entries into the screen definition XML. This facility could / should replace the Python code behind the screen XML elements. The current help implementation via Python code does not appear to be exposed in the skinning XML files themselves. If a screen has any "help" tags then the appropriate help data structure is created (or updated) and the HELP button is enabled to display the help.

This implementation will not address the current issue of a single function that can be triggered by multiple buttons having multiple help text entries. If the help display engine was modified so that rather than using arrows to point out the remote control buttons but rather displayed the buttons with a highlight then the single help function could be shown associated with all the applicable remote control buttons simultaneously. That is, the image of the remote control should be shown dimmed, grayed or subdued and the active buttons shown brightly and in colour.

I can envision that most / all the help definitions in the Python code could be moved into the appropriate screen definitions. This would simplify the Python code, retains access the the language translation code and allows users to update, add and manage the help text without needing to edit Python code.

The advantage of this extension is that help definitions can be changed or added in the skin file without the need to change the library Python code associated with the screen. This would also keep the help text together with the screen definitions to which they apply. If Issue #206 is also delivered then the help and key definitions can easily be synchronised. This current detachment creates an opportunity for misalignment, confusion and / or mistakes linking the screens to available buttons and the help text describing those buttons. Further having the help text with the screen elements creates a kind of self documentation.

It should go without saying that the help definitions can be shared in the same way the screens can use panels of other screens. If one screen creates a panel from another screen then the help text defined in that other screen are also used in this screen.

I should note that this proposal is suggested for feeding into all upstream versions of Enigma2 not just the Australian effort. If the additional XML block or tags are not defined / used then there should be NO change to the operation of any other build.

Obviously I can imagine that others may well use the new facilities if they become available.

Comments (1)

  1. IanSav reporter

    With the improvements made to the help system by Prl, the issue of dynamic help items not being compatible with this request and the overall complexity of this request I am closing it.

    I will open a new issue for any specific future requests.

  2. Log in to comment