Opened 4 years ago

Last modified 12 months ago

#12683 assigned Patch - Feature

Add Zoomable guide/EPG

Reported by: Roger Siddons Owned by: Roger Siddons
Priority: minor Milestone: unknown
Component: MythTV - User Interface Library Version: Master Head
Severity: medium Keywords: zoom, guide, epg
Cc: Ticket locked: no

Description

Prompted by: https://forum.mythtv.org/viewtopic.php?t=1358&p=6554

Allow themes to define zoomable guide widgets. When detected Zoom In/Out menu options appear to allow user to switch between them.

Also adds TV Frontend/Zoom In/Out key bindings but the number of different zoom bindings is growing - maybe they should be rationalised.

The widgets that are zoomable is prescribed by the code and should be added to the Theme Development Guide.

Zoomable theme widgets use the same principles as the Gallery - an integer suffix on the widget name indicates zoom level (0 = 'most zoomed out'). eg. guidegrid0, guidegrid1, guidegrid2...

Any number of zoom levels may be defined but they must be contiguous (discontiguous ones will be ignored)

Each widget may define different zoom levels. For zoom levels above those defined, the last widget will be used. eg. If a theme defines guidegrid0, guidegrid1, guidegrid2, timelist0, timelist1, then timelist1 will also be used for zoom level 2.

Backwards-compatible with existing themes, for which no zoom options appear and behaviour is unchanged. (An absent zoom suffix is equivalent to suffix "0").

Code defaults to zoom level 0 until user creates the setting by zooming. It could easily default to most zoomed in, but there's no simple way for theme to specify the default zoom level.

The theme file attached merges the modifications from the above thread with Mythbuntu 28.20. It's not pretty (different base theme versions ?) but serves as a demo and an example of how to easily define zoomable widgets. It would be even easier if relative sizing (<area>0,50%,100%,20%</area>) were used.

Attachments (3)

0001-MythUI-Enable-GuideGrid-widget-inheritance.patch (4.2 KB) - added by Roger Siddons 4 years ago.
GuideGrid? doesn't seem to play nice with inheritance. This kludge simply disables drawing of a guide until it has data
0002-MythUI-Implement-zoomable-GuideGrids.patch (12.9 KB) - added by Roger Siddons 4 years ago.
schedule-ui.xml (90.5 KB) - added by Roger Siddons 4 years ago.
Mythbuntu 28.20 with zoomable guide of 14 channels x 3 hrs, 14 x 2 hrs, 7 x 3 & 7 x 2

Download all attachments as: .zip

Change History (10)

Changed 4 years ago by Roger Siddons

GuideGrid? doesn't seem to play nice with inheritance. This kludge simply disables drawing of a guide until it has data

Changed 4 years ago by Roger Siddons

Changed 4 years ago by Roger Siddons

Attachment: schedule-ui.xml added

Mythbuntu 28.20 with zoomable guide of 14 channels x 3 hrs, 14 x 2 hrs, 7 x 3 & 7 x 2

comment:1 Changed 3 years ago by paulh

Owner: changed from stuartm to Roger Siddons
Status: newassigned

comment:2 Changed 2 years ago by Roger Siddons

Milestone: unknown29.0
Version: UnspecifiedMaster Head

comment:3 Changed 2 years ago by Stuart Auchterlonie

Milestone: 29.029.1

comment:4 Changed 23 months ago by Roger Siddons

Milestone: 29.130.0

comment:5 Changed 20 months ago by warpme@…

Hi Roger,

I'm wonder: have You plans to include this nice enhancement into mainline code? It will be really nice to have it!

comment:6 Changed 20 months ago by Roger Siddons

I'm reluctant to. It's ugly, has limited functionality and makes a mess of themes, as you know...

More importantly, it adds theming notations that won't be officially supported.

I can post an updated patch if you need though.

comment:7 Changed 12 months ago by dizygotheca

Milestone: 30.0unknown
Note: See TracTickets for help on using tickets.