xbmc/xbmc — pull request #4739 by jmarshallnz (2014-05-18 01:17:12+00:00)
Title: Control access cleanup

This continues the work of #4731 cleaning up direct access to controls and replacing it with messages.

There's a couple of things to review:
1. The nasty one is d743f93 which adds a method to specify spinner labels via a single message. Nasty due to the void* usage, though this is used elsewhere as well. Ideas welcome.
2. There's a reasonably trivial change in the PVR guide stuff which I think can be clarified. @xhaggi, @opdenkamp, @Jalle19 please take a look at 0612a4a specifically, though a lot of this applies to the PVR dialog classes.
3. I've introduced GUI_MSG_SET_FILENAME which is essentially identical to GUI_MSG_LABEL_SET. The only rationale I have is that by using a specific message we don't get the case of the message being sent to the wrong control type. I could reuse GUI_MSG_LABEL_SET for this though.
4. The use of GUI_MSG_ITEM_SELECT for progress means that you can only set integers rather than floats. This may be a regression in behaviour, so perhaps an alternate is to attach a variant or some such to the GUIMessage Param?

Assuming 1 is acceped (or a better solution is suggested) I'll go through and redo other spots filling a spinner via the GUI_MSG_LABEL_RESET, GUI_MSG_LABEL_ADD, GUI_MSG_ITEM_SELECT technique which is inefficient as you're looking up the control for each message.