[mythtv-commits] mythtv/master commit: f6de5dde7 by Mark Kendall (mark-kendall)

MythTV noreply at mythtv.org
Wed Dec 22 01:23:01 UTC 2010


      Author:  Mark Kendall <mkendall at mythtv.org>
 Change Date:  2010-12-21T17:22:45-08:00
   Push Date:  2010/12/21 17:22:58 -0800
  Repository:  mythtv
      Branch:  master
New Revision:  f6de5dde76146b980203a3f75ffe59f6d95a529d
   Changeset:  https://github.com/MythTV/mythtv/commit/f6de5dde7

Log:

Add a generic user messaging interface to MythFrontend.

This extends MythEvent with a new MythUserMessage event type, extends
the MythFEXML code to respond to a new Message request and adds code to
MythMainWindow and OSD to display a MythConfirmationDialog (the TV class
intercepts MythMainWindow events when present, hence we can display the
dialog in the OSD if needed).

To test, try http://mythfrontend-ip:6547/MythFE/Message?text=Hello
World!

This is clearly not the finished article:-

- The MythFrontend UPnP interface does not respond to broadcast messages
(and indeed you need to know its IP address). I intend to move the UDP
listening thread out of the TV class and into MythMainWindow and also
add message handling to the telnet/network control interface. So there
will be 2 'targeted' methods to signal a message and one broadcast.

- MythConfirmationDialog needs to be cleared using the Escape or Enter
actions. It would be preferable to have it clear via any keypress/action
and have an additional (optional) timeout with countdown. It may be
preferable to have a new UI widget for messages.

- MythConfirmationDialog is not themed in the OSD and hence there will
be display issues with XVideo. I don't intend to fix this until we have
settled on which UI widget to use for the message popup.

- the OSD currently does not stack popups or refresh the current one.
Hence subsequent messages will be lost if there is an existing popup
message (and the arrival of a popup will clear any existing OSD dialogs)

- there probably needs to be a limit on the popup stack size as a rogue
app could easily swamp the frontend with messages, or indeed a frontend
left on for a period of time could accumulate a significant number of
messages.

Modified:

   mythtv/libs/libmythdb/mythevent.cpp
   mythtv/libs/libmythdb/mythevent.h
   mythtv/libs/libmythtv/osd.cpp
   mythtv/libs/libmythtv/osd.h
   mythtv/libs/libmythtv/tv_play.cpp
   mythtv/libs/libmythui/mythmainwindow.cpp
   mythtv/programs/mythfrontend/mythfexml.cpp
   mythtv/programs/mythfrontend/mythfexml.h



More information about the mythtv-commits mailing list