[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