2004-11-11, 14:47
hi all again.
seeing as the buttonscroller for the homepage is basically done, i'm starting to code up some stuff for the new settings system.
the idea is that all the 20 or so settings screens will be replaced by 1 screen that handles everything. thus, only 1 settings.xml file will be needed, and the amount of information contained in that .xml file will hopefully only change very rarely.
the idea is that you as skinners will define some default buttons/controls etc. as well as backdrops and the like, and xbmc will take over and do all the layout work for you.
the plan is to have a buttonscroller on the left (or right, or bottom - wherever you as the skinner want it) which will list all the various settings categories (similar to the settings window at the moment, but in a simple list of buttons.)
then, there'll be a settings area which will be where xbmc renders the items for a particular category. it will grab the information from settings.xml to describe how each control should look, and will then lay everything out. this should be reasonably easy, as each group of settings can simply be displayed as a list (as they are already on most of the screens).
what i need to know, is what you'd like control over. obviously there are several settings screens (screen calibration, ui calibration in particular) that will need to stay as-is, but most of the other ones can be auto-layed out with very little difficulty.
now, i expect that we'll need the following:
1. a default checkmark button
2. a default spin control (and it's associated label buddy control)
3. a default button to use to do popup things such as where the virtual keyboard needs invoking (eg for weather lookups, ip fields etc.)
4. the space which xbmc can use to layout the controls.
5. the amount of space that xbmc should reserve between controls (ie a specified vertical gap).
i expect that we'll need to make the area in which xbmc uses to layout controls scrollable at least vertically, as it is feasible that we wish to have more settings in a category than will fit on an ntsc screen for instance.
i'm also interested in incorporating an "advanced settings" option (which will default to off) that effectively hides a lot of the fiddly things that 99.9% of users will never need. at the moment, xbmc has far too many options in my opinion, and so we should do our best to either scrap options completely, or hide ones that users are never going to actually use away.
how should this system work, however? should it be an option on the first settings pane (that effects all the other panes), or should it be a separate option somewhere other than a pane (eg below the button scroller or something?)
you guys are the asthetic people, and this is obviously going to break the mold of the skinning system quite substantially, so it's you guys that need to tell me what you're after, so i can make sure that we deliver as close to what you want as possible, while simplifying the whole skinning process, as well as the presentation to users.
let the comments commence
cheers,
jonathan
seeing as the buttonscroller for the homepage is basically done, i'm starting to code up some stuff for the new settings system.
the idea is that all the 20 or so settings screens will be replaced by 1 screen that handles everything. thus, only 1 settings.xml file will be needed, and the amount of information contained in that .xml file will hopefully only change very rarely.
the idea is that you as skinners will define some default buttons/controls etc. as well as backdrops and the like, and xbmc will take over and do all the layout work for you.
the plan is to have a buttonscroller on the left (or right, or bottom - wherever you as the skinner want it) which will list all the various settings categories (similar to the settings window at the moment, but in a simple list of buttons.)
then, there'll be a settings area which will be where xbmc renders the items for a particular category. it will grab the information from settings.xml to describe how each control should look, and will then lay everything out. this should be reasonably easy, as each group of settings can simply be displayed as a list (as they are already on most of the screens).
what i need to know, is what you'd like control over. obviously there are several settings screens (screen calibration, ui calibration in particular) that will need to stay as-is, but most of the other ones can be auto-layed out with very little difficulty.
now, i expect that we'll need the following:
1. a default checkmark button
2. a default spin control (and it's associated label buddy control)
3. a default button to use to do popup things such as where the virtual keyboard needs invoking (eg for weather lookups, ip fields etc.)
4. the space which xbmc can use to layout the controls.
5. the amount of space that xbmc should reserve between controls (ie a specified vertical gap).
i expect that we'll need to make the area in which xbmc uses to layout controls scrollable at least vertically, as it is feasible that we wish to have more settings in a category than will fit on an ntsc screen for instance.
i'm also interested in incorporating an "advanced settings" option (which will default to off) that effectively hides a lot of the fiddly things that 99.9% of users will never need. at the moment, xbmc has far too many options in my opinion, and so we should do our best to either scrap options completely, or hide ones that users are never going to actually use away.
how should this system work, however? should it be an option on the first settings pane (that effects all the other panes), or should it be a separate option somewhere other than a pane (eg below the button scroller or something?)
you guys are the asthetic people, and this is obviously going to break the mold of the skinning system quite substantially, so it's you guys that need to tell me what you're after, so i can make sure that we deliver as close to what you want as possible, while simplifying the whole skinning process, as well as the presentation to users.
let the comments commence
cheers,
jonathan