[mythtv] MythUI porting
Stuart Morgan
stuart at tase.co.uk
Fri Aug 8 13:11:30 UTC 2008
On Friday 08 August 2008 05:28:09 Nigel Pearson wrote:
> 1) Everything uses a MythScreenStack, but there are
> no screen stacks until a MythThemeBase is created.
>
> Any reason why the MythMainWindow constructor
> shouldn't do this?
> (with a default theme if necessary)
I can't see why not but I'm not sure why it's necessary either? Themebase is
created immediately following MythMainWindow in mythfrontend/mythtv-setup
anyway. If the schema check etc were moved a few lines down, to occur after
the themebase load then there would be no problem. If it's simply a matter of
tidying up the code into a more logical structure, then that's fine I guess.
Requiring a schema update should not block access to settings, so we can still
use the chosen theme. The schema update stuff should preferably use the
generic dialogs - MythDialogBox, MythConfirmationDialog, MythProgressDialog
etc
I've already toyed with ideas for the language prompt i.e. making it a fully
themable screen so we can do fun stuff like this:
http://www.miffteevee.co.uk/imagebin/language_selection2.png
> 3) The new stuff is asynchronous and event (er, SIGNAL)
> driven, but I do miss simple synchronous Dialog/Popups
> (e.g. DialogCode value = MythPopupBox::blah(...))
>
> Can we have an easy way to block until the user clicks?
You aren't the first person to ask. I've discussed this a few times with Isaac
and just now with Daniel, the concensus is that nothing in the UI thread
should be blocking.
I've done what I can to offer choice and flexibility to the dialogs,
mythdialogbox in particular so that it might suit a wide variety or
situations. This means you can pick between events or signals, each has it's
strengths and weaknesses; You can store just about anything with a result, so
it might be an object pointer, a string or int corresponding to the selected
entry.
Blocking in the UI thread prevents things like animations from working and
probably worse. For all the extra work this creates that may mean threading
off actions like searching the filesystem.
> 4) A few of our themes are missing some needed elements?
> e.g. playback-video:
>
> Is there a list of essential/optional elements?
>
> If not, a Wiki page, text file or Perl checking script
> might be useful?
Not yet, I plan to a wiki page listing every optional and required element on
each screen along with a description of what each does. With mythui I plan to
make much more optional and add additional optional elements, so this will be
a big job and probably be split over several wiki pages.
I'd appreciate all help in getting this started.
--
Stuart Morgan
More information about the mythtv-dev
mailing list