Permalink
Browse files

Initial implementation of Themed Menus. Refs #11533

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 10, 2013
1 parent 9c728cb commit 9bb9c61166188ae0222b22ae0091b1e63ffa196c
@@ -3,6 +3,7 @@
#define ACTION_EXITSHOWNOPROMPTS "EXITSHOWNOPROMPTS"
+#define ACTION_MENUCOMPACT "MENUCOMPACT"
#define ACTION_PLAYBACK "PLAYBACK"
#define ACTION_STOP "STOPPLAYBACK"
#define ACTION_DAYLEFT "DAYLEFT"
Oops, something went wrong.

0 comments on commit 9bb9c61

Please sign in to comment.