Love the idea of unifying some of the dialogs. I'm at the stage now with my first skin of working through, one by one, all of the dialogs. Anything to make that easier is much appreciated.
Unfortunately I suspect the best way to unify dialogs is to use the tools already provided, notably $VAR and <include> tags, to share as much code as possible between the different files. There's an awful lot of power in those two tags (though it would be amazing if $VAR's could be used within the tags themselves - e.g. <texture fallback=$VAR[fallbackImage]>)...
Of course, the difficulty in doing that is that it takes a lot of time and even more preparation and organisation to actually achieve. I've been able to go back over a lot of my skin and add this stuff, but until I actually got to know the skinning engine and understood all of the different views, it was nearly impossible. It would be great if this was build into an empty skin, like the foundation skin, so that new skinners (and new skins) take advantage of these great features by default.
In terms of actually combining multiple XML files, the only one's that have really struck me as being combinable thus far are the various media navigation files (MyVideoNav.xml, MyMusicNav.xml, MyPrograms.xml, MyPictures.xml and - arguably - AddonBrowser.xml). For me, these files have just 2 differences between them - a list of which views are available for that view, and the contents of the bar that's normally on the lefthand side (changing view, sorting, search and so forth.)
Obviously combining these would need an extra tag straight away - something along the lines of:
<videoviews>50,51,52</videoviews>
<musicviews>50,52,54</musicviews>
And it would then need some way of displaying different menus to the left. How about copying the way DialogAddonSettings.xml works (because I've just finished designing it) for example. The combined view would provide a grouplist, along with default definitions for controls that may appear in tht list, which XBMC then populates itself. Most every skin I've seen provides the same controls in that list. The biggest difficulty I can see is for those skins with a kiosk mode - perhaps XBMC itself would need a kiosk mode, rather than it being on a skin-by-skin basis.
(Actually, a similar setup could possibly be used to combine the various media information dialogs as well...)
Having said all that, I stick by my original statement - $VAR and <include> is the way to go, and should be promoted to beginner skinners from the word go!
Edit - the other thing that could be done to simplify skinning, though nothing to do with unifying dialogs I freely admit - is massively improving the documentation. (By documentation I mean wiki.xmbc.org - if there's other documentation than this then my suggestion changes to simply improving its visability!) Taking DialogAddOnSettings.xml again as an example. I know it uses a grouplist to display the buttons to change which setting area you're viewing, and another for the actual settings the addon exposes because I looked at other skins to see how they present the dialog.
Yes, there's a list of the controls and ID's needed at
http://wiki.xbmc.org/index.php?title=XBM...ttings.xml, and that's great for those who understand the skinning engine - though even then I challenge you to tell me the difference, and use of, ID's 2 & 9 based off the wiki For a newbie, which I still consider myself to be, it's so much hokum. It would be great for there to be individual wiki pages for each xml file, and a decent description and example of each of the expected ID's.
Yes, I know this one needs to be a community effort, and I also know it's easy to say these things need to happen and not contribute. So, I'd be willing to write it for this dialog, if others would contribute to all the other dialogs! (And perhaps more importantly, those providing patches to the skinning engine also provide such specific updates to the wiki!)
Increase the documentation, and you reduce the need to start unifying dialogs to simplify skinning in the first place. I'd put money on most peopl being attracted to skinning XBMC being used to searching for and then following documentation.
Final edit (I promise): I've written said wiki page at
http://wiki.xbmc.org/index.php?title=Dia...ttings.xml, though you'll notice I've left ID's 3 and 13 the same, again to prove a point - tell me what the difference is (the skinning manual defines them both as "Button Template") based on the wiki...