[mythtv] MythUI porting
Nigel Pearson
nigel at ind.tansu.com.au
Mon Aug 11 22:42:23 UTC 2008
> The schema update stuff should preferably use the
> generic dialogs - MythDialogBox, MythConfirmationDialog,
> MythProgressDialog
> etc
Yes, I'm getting there, slowly :-)
> 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
Pretty!
Although for my use of LanguageSettings
(quick lang. choice before a popup)
I'd go for a something that can show all
the languages on one page (multi text column).
...
>> 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.
...
> 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.
Agreed, but in terms of the API, it could _seem_ to.
I'm doing this (horrible hack) at the moment:
void SchemaUpgradeWizard::exit(void)
{
gSelected = kDialogCodeButton0;
}
void SchemaUpgradeWizard::waitForDialogSelect(void)
{
QEventLoop l;
gSelected = -1;
while (gSelected == -1)
{
l.processEvents(QEventLoop::AllEvents, 250);
usleep(100);
}
}
...
dlg->AddButton(tr("Exit"), SLOT(exit()));
dlg->SetReturnEvent((MythScreenType *)this, QString::null);
waitForDialogSelect();
but that does nothing for LEFT or ESCAPE,
and it would need something different when
the main window event loop is running.
--
Nigel Pearson, nigel at ind.tansu.com.au| I've been talking to-
Telstra Net. Eng., Sydney, Australia | the ship's computer.
Office: 9202 3900 Fax: 9261 3912 | ... It hates me!
Mobile: 0408 664435 Home: 9792 6998 | Marvin
More information about the mythtv-dev
mailing list