Skip to content

Commit

Permalink
[ConfigList/Setup UI] rebase on develop (#3998)
Browse files Browse the repository at this point in the history
* First try to sync the config and ConfigList with OpenVix

* Add missing ConfigAction

* Fix graphical boolean switch.

This is stored as true/false and not as yes/no

* Revert "Fix graphical boolean switch."

This reverts commit 4c25b8c6840a647a3489e60c419b1b3bbc20fc45.

* Revert "Add missing ConfigAction"

This reverts commit dbd2a0b3de6432a554072a816b4c7c758b15f65d.

* Revert "First try to sync the config and ConfigList with OpenVix"

This reverts commit f76c1e18d75062e82e7dd4e372ac55e04a847ee9.

* Revert "Ensure that changed values are saved before they disappear"

This reverts commit d8583db67f728bfca6e7c0986bf25a904b5e9356.

* [Menu] read menu texts from menu.xml, not setup.xml

Previous code is inefficient.

* Add warning when menu text is missing

* [Menu] Allow the conditional attribute to work in <menu> elements

* [Menu] description should be str, not bytes

* [Menu] remove unused "parent" arg

* [Menu] simplify xml format

* [StartEnigma/Hotkey] add compatibility with new menu.xml format

* [Menu] add x.tag == 'plugin'

* [ScreenSummary] add summary module name to skin list

e.g. if a module other than Screens.Setup.Setup uses Screens.Setup.SetupSummary, screen name "SetupSummary" will be missing from the skin list so it will get diverted to the wrong skin, most likely "ScreenSummary". This commit corrects that behaviour.

* [keymap] NavigationActions, activate KEY_REWIND and KEY_FASTFORWARD

* [Directories] add missing "fileReadXML"

* [Setup/ConfigList/config] update, among other things, allows reading setup.xml files in plugins, and removal of 100s of lines of code throughout enigma

* [CI] Remove unneeded code

* [InputDeviceSetup] Remove pointless code

* [NetworkSetup] remove redundant code

* [ParentalControlSetup] Make UI consistent with "Setup" screens

* Fix graphical boolean switch.

This is stored as true/false and not as yes/no

* First try to sync the config and ConfigList with OpenVix

* Add missing ConfigAction

* Resolve issues around extra_args

Missing parameter and missing function

* Add missing setupShowDefault config

* Resolve merge issue

* Ensure that changed values are saved before they disappear

E.G. for languages when you disable more than one auto selected
language one of the languages was not anymore visible in the list and
therefore the value was stored, but not saved into the
/etc/enigma2/settings file. This change does ensure the value is saved.

* ExtraArgs was not implemented (yet) so no need to remove them

* Resolve GSOD with ConfigClock

We do not currently have the formats like OpenVix has with the different
clock formats (24 hours/12 hours style) where translators etc can also
configure it. I still think also the implementation of it may need some
discussion.

* Remove code in various modules that is already inherited from ConfigListScreen

* [config.py] fix BSoD

[Skin] Processing screen 'NumericalTextInputHelpDialog', position=(537, 675), size=(846 x 246) for module 'NumericalTextInputHelpDialog'.
Traceback (most recent call last):
  File "/usr/lib/enigma2/python/Components/ConfigList.py", line 92, in selectionChanged
    self.current[1].onSelect(self.session)
  File "/usr/lib/enigma2/python/Components/config.py", line 1382, in onSelect
    self.help_window.setAnimationMode(0)
  File "/usr/lib/enigma2/python/Screens/Screen.py", line 206, in setAnimationMode
    self.instance.setAnimationMode(mode)
AttributeError: 'eWindow' object has no attribute 'setAnimationMode'
[ePyObject] (CallObject(<bound method ConfigList.selectionChanged of <Components.ConfigList.ConfigList object at 0xaefd7b80>>,()) failed)
[gRC] Warning: Main thread is busy, displaying spinner!

* [doc] add SETUP

* Add new option show setup default values in setup.xml

* Sleeptimer: OK Button now has a differnet function.

* MovieSelectionConfig: OK Button now has a differnet function.

* [SleepTimerEdit.py] use inherited code

* A config conditionally hidden but changed should be saved

In the previous work-a-round I did save all when the config was rebuild
but of course we only need to save configs that are conditionally not
shown only when they are changed.

I get to the config to an eval at this moment as I could not (quickly)
find a better way to get to the specific config

This avoids e.g. in the auto language setup when we put languages on
'None' while they disappear from the config list that the value is
actually not saved

See:
https://forums.openpli.org/topic/98887-auto-language-selection-options-not-saved-corectly/

* For a sleeptimer directly execute it when select in choicebox

* Correctly cover config items that are conditionaly hidden

See:
https://forums.openpli.org/topic/98887-auto-language-selection-options-not-saved-corectly/

In ec7ff0c32 for example when the setup was canceled the 'old' values
did not return at all and now with keeping a hiddenItems list we can
save them when required and also cancel them when required.
I also needed to add hasattr around it as te code is used on mulitple
locations where this list does not exist while also __init__ functions
of the ConfigList or so are not used

* Adjust Fastscan to new ConfigList functionality

* [Fastscan] inherit

* Resolve typo made in previous commit

* Resolve new config structure for InputDeviceSetup

* Remove some hasattr on the hiddenItems by ensure it is declared

* [Setup/ConfigList] self.hiddenItems, try a different approach

* [Satconfig.py] remove redundant code

* [Satconfig.py] use the UI actions provided in ConfigListScreen

* [ChannelSelection] InsertService, inherit UI from Setup

* [MovieSelection] MovieBrowserConfiguration, inherit UI from Setup

* [RecordPaths] inherit UI from Setup

* [SetupFallbackTuner] inherit UI from Setup

* [TimeDateInput] inherit UI from Setup

* [config.py] remove six and some cleanup

* [GraphMultiEPG] inherit UI from Setup (#3996)

* [HdmiCEC] inherit UI from ConfigListScreen (#3997)

---------

Co-authored-by: Littlesat <[email protected]>
Co-authored-by: TwolDE2 <[email protected]>
(cherry picked from commit 49df463b5a9f088b32211117d0c852541c200dbe)
  • Loading branch information
Huevos authored and teamblue-e2 committed Jun 3, 2024
1 parent b559074 commit a599e53
Show file tree
Hide file tree
Showing 35 changed files with 1,783 additions and 1,530 deletions.
4 changes: 0 additions & 4 deletions data/keymap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,7 @@
</map>

<map context="NavigationActions">
<!--
<key id="KEY_REWIND" mapto="top" flags="m" />
-->
<key id="KEY_CHANNELUP" mapto="pageUp" flags="mr" />
<key id="KEY_UP" mapto="up" flags="mr" />
<key id="KEY_REWIND" mapto="first" flags="m" />
Expand All @@ -52,9 +50,7 @@
<key id="KEY_FASTFORWARD" mapto="last" flags="m" />
<key id="KEY_DOWN" mapto="down" flags="mr" />
<key id="KEY_CHANNELDOWN" mapto="pageDown" flags="mr" />
<!--
<key id="KEY_FASTFORWARD" mapto="bottom" flags="m" />
-->
<!-- Keyboard specific buttons -->
<key id="KEY_HOME" mapto="top" flags="m" />
<key id="KEY_PAGEUP" mapto="pageUp" flags="mr" />
Expand Down
225 changes: 107 additions & 118 deletions data/menu.xml

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion data/setup.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
<!-- this is just a placeholder, the Videomode plugin implements this submenu -->
</setup>
<setup level="0" key="usage" title="Customize">
<item level="1" text="Sort order for menu entries" description="This option allows you to hide and sort menu entries. When selecting user you can change order and hide menu items via the blue button. With the user defined hidden the blue button is not shown in the menus">config.usage.menu_sort_mode</item>
<item level="1" text="Sort order for setup entries" description="This option allows you to alphabetically sort setup menu entries.">config.usage.sort_settings</item>
<item level="1" text="Show setup default values" description="In Setup screens choose whether to show the default value of the selected item in the description field.">config.usage.setupShowDefault</item>
<item level="0" text="Setup mode" description="Configure which access level to use for the configuration menu. Expert level gives access to all items.">config.usage.setup_level</item>
<item level="0" text="Sort order for menu entries" description="This option allows you to hide and sort menu entries. When selecting user you can change order and hide menu items via the blue button. With the user defined hidden the blue button is not shown in the menus">config.usage.menu_sort_mode</item>
<item level="1" text="Show screen path" description="This option allows you to show the full screen path leading to the current screen.">config.usage.showScreenPath</item>
<item level="1" text="Show menu or plugin numbers" description="This option allows you to show menu and/or plugin number quick links.">config.usage.menu_show_numbers</item>
<item level="1" text="Zap mode" requires="ZapMode" description="Configure the way in which the receiver changes channels.">config.misc.zapmode</item>
Expand Down
411 changes: 411 additions & 0 deletions doc/SETUP

Large diffs are not rendered by default.

Loading

0 comments on commit a599e53

Please sign in to comment.