Following on from adding some prettier dialog/info in the livepause plugin
I thought I would try and make the feature more generic so that any part
of freevo could use it, with the idea that it could, in some case, replace
some of the cumbersome menus (like the favourites editing menus) with a
simpler dialog.

So far I've got the majority of the implementation done but before going
any further I thought I would see what people think to the current API.
I've attached a dia UML diagram showing the classes and the majority of
the methods and attributes (thought I better after complaining about the
lack of docs :-) ).

Basically the main interface would be:

dialog.show_message()
dialog.show_volume()
dialog.show_play_state()

and for plugins that wanted to display other dialogs, they would use:

dialog.dialogs.ButtonDialog - for confirmation style dialogs

dialog.dialogs.MenuDialog - to display a menu for example this could be
used to display actions of an item or in the guide. This means the user
won't lose the context of the menu as it would be in the background.

dialog.dialogs.WidgetDialog - for generic dialogs, for instance a dialog
to edit favourites could have radio buttons for which days of the week to
match against.

All the mixer plugins will be modified to call dialog.show_volume()
removing the OSD_MESSAGE (but not the events used by the LCD/VFD plugins).
The dialog package will intercept any existing OSD_MESSAGE events and use
dialog.show_message() to display them.

Some other features that I'm playing with, when a dialog is shown that
processes events the background is greyed to to show that the dialog is in
control, a bit like the shutdown dialog in Windows.

Oh and all these will be skinable using the same xml format used by the
livepause plugin but with some additions for control navigation between
widgets and defining widget styles.

Thoughts? After this I'll start looking at what I can do to help freevo 2.

cheers

Adam

Attachment: dialog.dia
Description: application/dia

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to