I would like to add 3 more requests:
1. Possibility for using $INFO[$INFO[]]:
This one is nothing new.
I've already seen a few posts asking for it but as I don't see it on the current feature request list, I want to add it:
There should be the possibility to use $INFO[] labels within other $INFO[] tags for stuff like:
Code:
$INFO[Window.Property( $INFO[ListItem.DBID, DynamicPropertyName.] )]
Of course, it's just one of many imaginable use cases.
2. Possibility to overwrite list items <onclick> actions on the fly:
I really would like to see an implementation like an <itemonclick> feature or similiar
which can be used to overwrite (replace) the original <onclick> action.
Code:
<control type="list">
[...]
<itemlayout />
<focusedlayout />
<itemonclick />
<content target="video">special://playlist.xsp</content>
</control>
This way you could easily do things like:
Code:
<itemonclick>PlayMedia($INFO[ListItem.Trailer])</itemonclick>
Or with conditions and multiple <itemonclick>-tags also a bit more "complex" stuff like:
Code:
<itemonclick>Window.SetProperty(CustomInfo, $INFO[ListItem.DBID])</itemonclick>
<itemonclick condition="SubString(ListItem.DBTYPE,movie)">ActivateWindow(32001)</itemonclick>
<itemonclick condition="SubString(ListItem.DBTYPE,tvshow)">ActivateWindow(32002)</itemonclick>
This way we could combine the superior performance of lists filled by Kodi with the flexibility of custom created lists.
Of course, it would be also nice if there will be a similiar possibility for more dynamic on the fly manipulation in future.
But I guess <onclick> has the most usecases and therefore a higher priority.
3. Possibility for extended button layouting:
Right now the options for button layouting are quite limited. That's why I've already seen a few
workarounds with surrounding control elements (images, labels) which were made conditionally depending
on the buttons status (e.g. focus) to appear like a part of the button itself.
I think a more skinner-friendly solution would be to allow button layouts to contain other elements.
So why not adapting the approach from list controls for list items (which are in some way a kind of buttons)
and allow something like:
Code:
<control type="button">
[...]
<layout />
<focusedlayout />
</control>
It's just a ruff idea, but something like that would be nice. Maybe the best solution were if these tags
will be optional, so that you can still use button control elements just like before but with the newly gained
possibility to additionally add other elements to the button layout - depending on if the button is focused
or not. So e.g. for adding an selection indicator to an existing button, it would be enough to just place the
proper image element into the <focusedlayout>-tag.
Simplified use case example:
Code:
<control type="button">
[...]
<texturefocus>cover.png</texturefocus>
<texturenofocus>cover.png</texturenofocus>
<layout>
<control type="image">
<texture>overlay.png</texture> <!-- darken whole button via overlay while not focused -->
</control>
</layout>
<focusedlayout>
<control type="image">
<texture>indicator.png</texture> <!-- proper placed indicator image to show current selection-->
</control>
</focusedlayout>
</control>
In reality this can get more complex with more images/labels and so these suggested tags would be even more helpful.
Yep, these are my current top three wishes for the skinning engine.
Hopefully someone else would like them too.
Cheers,
Josch