[mythtv] MythUI porting

Nigel Pearson nigel at ind.tansu.com.au
Fri Aug 8 04:28:09 UTC 2008


I'm trying to move some of libmyth's bootstrapping code
({backendselect,mythcontext,schemawizard}.cpp) to libmythui,
but its slow going trawling through all the objects/concepts.
Using the recent plugin changes as a guide hasn't helped
me much either, so stupid questions coming up:



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)



2) Or, maybe one combined method like:

bool MythUI::CreateMainWindow(
     const QString & windowTitle,
     const QString & themeName,
     const bool      promptForLanguage,
     const bool      useDB)
{
     LoadQtConfig();

     m_mainWin = GetMythMainWindow();
     m_mainWin->Init();
     gContext->SetMainWindow(m_mainWin);

     if (useDB)
         LanguageSettings::load(windowTitle);

     m_themeBase = new MythThemeBase();

     UpdateImageCache();

     if (promptForLanguage)
         LanguageSettings::prompt()

     m_mainWin->setWindowTitle(QObject::tr("MythTV Frontend"));
}



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?



4) A few of our themes are missing some needed elements?
e.g. playback-video:

% egrep 'window.*name.*playback' */*/*.xml ../myththemes/*/*.xml
themes/G.A.N.T/ui.xml:  <window name="playback">
themes/G.A.N.T/ui.xml: <window name="playback-video">
themes/blue/ui.xml:  <window name="playback">
../myththemes/Iulius/ui.xml:  <window name="playback">
../myththemes/Minimalist-wide/ui.xml:  <window name="playback">
../myththemes/MythCenter-wide/ui.xml:  <window name="playback">
../myththemes/MythCenter/ui.xml:  <window name="playback">
../myththemes/Retro/ui.xml:  <window name="playback">
../myththemes/Titivillus/ui.xml:  <window name="playback">
../myththemes/Titivillus/ui.xml:  <window name="playback-video">

Is there a list of essential/optional elements?

If not, a Wiki page, text file or Perl checking script
might be useful?

--
Nigel Pearson, nigel at ind.tansu.com.au|An atheist is a person
Telstra Net. Eng., Sydney, Australia | with no invisible
Office: 9202 3900    Fax:  9261 3912 | means of support!
Mobile: 0408 664435  Home: 9792 6998 |    - Sir John Buchan.



More information about the mythtv-dev mailing list