Skip to content

Commit

Permalink
Initial implementation of Themed Menus. Refs #11533
Browse files Browse the repository at this point in the history
Themed Menus allows customization of menus through a hierarchical xml
description, consisting of actions, action groups, and submenus. An
action group is essentially a macro that expands into a possibly
context-dependent list of actions.

This is demonstrated by replacing the deeply complex and hierarchical
Playback OSD menu with a themed menu equivalent, defined in
menu_playback.xml in the themes/default/ directory.

In addition, a "compact" version of the Playback OSD menu is added,
with the MENUCOMPACT action and an associated keybinding to display it
(defaults to Alt+M).  The default compact menu contains just a single
entry that invokes the regular Playback OSD menu (for now, I don't
want to impose my personal preferences about the most commonly used
actions).  As such, the compact menu is useful even for remote
controls without extra buttons to spare -- simply remap the MENU
button to the MENUCOMPACT action in the "TV Playback" context.

When more menus are converted to themed versions, the MenuBase class
should be moved out of tv_play.cpp and tv_play.h into a new file.

Note: This commit is broken into two parts: addition of new code, and
deletion of old code.  This is to make the diffs vastly more readable.
  • Loading branch information
stichnot committed May 13, 2013
1 parent 9c728cb commit 9bb9c61
Show file tree
Hide file tree
Showing 7 changed files with 1,657 additions and 15 deletions.
1 change: 1 addition & 0 deletions mythtv/libs/libmythtv/tv_actions.h
Expand Up @@ -3,6 +3,7 @@

#define ACTION_EXITSHOWNOPROMPTS "EXITSHOWNOPROMPTS"

#define ACTION_MENUCOMPACT "MENUCOMPACT"
#define ACTION_PLAYBACK "PLAYBACK"
#define ACTION_STOP "STOPPLAYBACK"
#define ACTION_DAYLEFT "DAYLEFT"
Expand Down

0 comments on commit 9bb9c61

Please sign in to comment.