jurialmunkey / script.skinvariables

A helper script for Kodi skinners to construct multiple variables
GNU General Public License v3.0
35 stars 17 forks source link

View select dialog icons #5

Closed skyfsza closed 4 years ago

skyfsza commented 4 years ago

Would` it be possible to add an option to provide "icons" for each view type that are shown in the view change dialog?

Thinking similar to what skin helper does with its custom dialogs, eg:

<setting id="NetflixTVHub_Style" value="Landscape" label="Landscape" icon="special://skin/extras/viewthumbs/54.jpg" description=""/>

In skinvariables, maybe something like this? "viewtypes": { "50": "List", "special://skin/extras/viewthumbs/50.jpg", "51": "Banner", "special://skin/extras/viewthumbs/51.jpg", "52": "Poster", "special://skin/extras/viewthumbs/52.jpg"

jurialmunkey commented 4 years ago

Yeah I was thinking the same the other day. Added.

To use just add a section "icons"

{
    "prefix": "Exp_View",
    "viewtypes": {
        "50":  "Tags",
        "51":  "Square",
        "52":  "Poster",
        "53":  "Seasons",
        "54":  "Landscape",
        "55":  "List",
        "500": "List"
    },
    "icons": {
        "50":  "special://skin/extras/viewtypes/tags.jpg",
        "51":  "special://skin/extras/viewtypes/square.jpg",
        "52":  "special://skin/extras/viewtypes/posters.jpg",
        "53":  "special://skin/extras/viewtypes/seasons.jpg",
        "54":  "special://skin/extras/viewtypes/landscape.jpg",
        "55":  "special://skin/extras/viewtypes/list-landscape.jpg",
        "500": "special://skin/extras/viewtypes/list-square.jpg"
    }
}

It will work without icons. If icons are specified, then the view type selector will use the detailed version of DialogSelect.xml instead.

skyfsza commented 4 years ago

Perfect, thanks!

jurialmunkey commented 4 years ago

@skyfsza - I've also added a window property in case you want to change the configuration of DialogSelect.xml by including a different layout.

You can check if the view type selector is visible with: !String.IsEmpty(Window(Home).Property(SkinViewtypes.DialogIsActive))

skyfsza commented 4 years ago

I was just going to ask for that, you read my mind :)

Thanks!