Merge pull request #248 from neilsb/display-boxsets-in-itemgrid
Display boxsets in new Item Grid
This commit is contained in:
commit
0a885a6725
|
@ -3,6 +3,7 @@ sub init()
|
||||||
m.itemGrid = m.top.findNode("itemGrid")
|
m.itemGrid = m.top.findNode("itemGrid")
|
||||||
m.backdrop = m.top.findNode("backdrop")
|
m.backdrop = m.top.findNode("backdrop")
|
||||||
m.newBackdrop = m.top.findNode("backdropTransition")
|
m.newBackdrop = m.top.findNode("backdropTransition")
|
||||||
|
m.emptyText = m.top.findNode("emptyText")
|
||||||
|
|
||||||
m.swapAnimation = m.top.findNode("backroundSwapAnimation")
|
m.swapAnimation = m.top.findNode("backroundSwapAnimation")
|
||||||
m.swapAnimation.observeField("state", "swapDone")
|
m.swapAnimation.observeField("state", "swapDone")
|
||||||
|
@ -30,6 +31,10 @@ end sub
|
||||||
'Load initial set of Data
|
'Load initial set of Data
|
||||||
sub loadInitialItems()
|
sub loadInitialItems()
|
||||||
|
|
||||||
|
if m.top.parentItem.backdropUrl <> invalid then
|
||||||
|
SetBackground(m.top.parentItem.backdropUrl)
|
||||||
|
end if
|
||||||
|
|
||||||
m.loadItemsTask.itemId = m.top.parentItem.Id
|
m.loadItemsTask.itemId = m.top.parentItem.Id
|
||||||
m.loadItemsTask.observeField("content", "ItemDataLoaded")
|
m.loadItemsTask.observeField("content", "ItemDataLoaded")
|
||||||
|
|
||||||
|
@ -62,6 +67,15 @@ sub ItemDataLoaded(msg)
|
||||||
m.loadedItems = m.itemGrid.content.getChildCount()
|
m.loadedItems = m.itemGrid.content.getChildCount()
|
||||||
m.loadedRows = m.loadedItems / m.itemGrid.numColumns
|
m.loadedRows = m.loadedItems / m.itemGrid.numColumns
|
||||||
m.Loading = false
|
m.Loading = false
|
||||||
|
|
||||||
|
'If there are no items to display, show message
|
||||||
|
if m.loadedItems = 0 then
|
||||||
|
m.emptyText.text = tr("NO_ITEMS").Replace("%1", m.top.parentItem.Type)
|
||||||
|
m.emptyText.visible = true
|
||||||
|
end if
|
||||||
|
|
||||||
|
m.itemGrid.setFocus(true)
|
||||||
|
|
||||||
end sub
|
end sub
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -83,9 +97,14 @@ sub onItemFocused()
|
||||||
|
|
||||||
focusedRow = CInt(m.itemGrid.itemFocused / m.itemGrid.numColumns) + 1
|
focusedRow = CInt(m.itemGrid.itemFocused / m.itemGrid.numColumns) + 1
|
||||||
|
|
||||||
' Set Background
|
|
||||||
itemInt = m.itemGrid.itemFocused
|
itemInt = m.itemGrid.itemFocused
|
||||||
|
|
||||||
|
' If no selected item, set background to parent backdrop
|
||||||
|
if itemInt = -1 then
|
||||||
|
return
|
||||||
|
end if
|
||||||
|
|
||||||
|
' Set Background to item backdrop
|
||||||
SetBackground(m.itemGrid.content.getChild(m.itemGrid.itemFocused).backdropUrl)
|
SetBackground(m.itemGrid.content.getChild(m.itemGrid.itemFocused).backdropUrl)
|
||||||
|
|
||||||
' Load more data if focus is within last 3 rows, and there are more items to load
|
' Load more data if focus is within last 3 rows, and there are more items to load
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
itemSize = "[ 290, 425 ]"
|
itemSize = "[ 290, 425 ]"
|
||||||
itemSpacing = "[ 0, 45 ]"
|
itemSpacing = "[ 0, 45 ]"
|
||||||
drawFocusFeedback = "false" />
|
drawFocusFeedback = "false" />
|
||||||
|
<Label translation="[0,540]" id="emptyText" font="font:LargeSystemFont" width="1920" horizAlign="center" vertAlign="center" height="64" visible="false" />
|
||||||
<OptionsSlider id="options" />
|
<OptionsSlider id="options" />
|
||||||
<Animation id="backroundSwapAnimation" duration="1" repeat="false" easeFunction="linear" >
|
<Animation id="backroundSwapAnimation" duration="1" repeat="false" easeFunction="linear" >
|
||||||
<FloatFieldInterpolator id = "fadeinLoading" key="[0.0, 1.0]" keyValue="[ 0.00, 0.25 ]" fieldToInterp="backdropTransition.opacity" />
|
<FloatFieldInterpolator id = "fadeinLoading" key="[0.0, 1.0]" keyValue="[ 0.00, 0.25 ]" fieldToInterp="backdropTransition.opacity" />
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
sub itemContentChanged()
|
sub itemContentChanged()
|
||||||
itemData = m.top.itemContent
|
itemData = m.top.itemContent
|
||||||
if itemData = invalid then return
|
if itemData = invalid then return
|
||||||
|
itemData.Title = itemData.name ' Temporarily required while we move from "HomeItem" to "JFContentItem"
|
||||||
|
|
||||||
m.itemText = m.top.findNode("itemText")
|
m.itemText = m.top.findNode("itemText")
|
||||||
itemPoster = m.top.findNode("itemPoster")
|
itemPoster = m.top.findNode("itemPoster")
|
||||||
|
|
|
@ -252,5 +252,13 @@
|
||||||
<source>Unable to load Channel Data from the server</source>
|
<source>Unable to load Channel Data from the server</source>
|
||||||
<translation>Unable to load Channel Data from the server</translation>
|
<translation>Unable to load Channel Data from the server</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
<message>
|
||||||
|
<comment>Message displayed in Item Grid when no item to display. %1 is container type (e.g. Boxset, Collection, Folder, etc)</comment>
|
||||||
|
<source>NO_ITEMS</source>
|
||||||
|
<translation>This %1 contains no items</translation>
|
||||||
|
</message>
|
||||||
|
|
||||||
</context>
|
</context>
|
||||||
|
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -253,5 +253,11 @@
|
||||||
<translation>Unable to load Channel Data from the server</translation>
|
<translation>Unable to load Channel Data from the server</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
<message>
|
||||||
|
<comment>Message displayed in Item Grid when no item to display. %1 is container type (e.g. Boxset, Collection, Folder, etc)</comment>
|
||||||
|
<source>NO_ITEMS</source>
|
||||||
|
<translation>This %1 contains no items</translation>
|
||||||
|
</message>
|
||||||
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -86,36 +86,36 @@ sub Main()
|
||||||
group.lastFocus = group.focusedChild
|
group.lastFocus = group.focusedChild
|
||||||
group.setFocus(false)
|
group.setFocus(false)
|
||||||
group.visible = false
|
group.visible = false
|
||||||
m.overhang.title = selectedItem.name
|
m.overhang.title = selectedItem.title
|
||||||
group = CreateMovieListGroup(selectedItem)
|
group = CreateMovieListGroup(selectedItem)
|
||||||
group.overhangTitle = selectedItem.name
|
group.overhangTitle = selectedItem.title
|
||||||
m.scene.appendChild(group)
|
m.scene.appendChild(group)
|
||||||
else if (selectedItem.type = "CollectionFolder" OR selectedItem.type = "UserView") AND selectedItem.collectionType = "tvshows"
|
else if (selectedItem.type = "CollectionFolder" OR selectedItem.type = "UserView") AND selectedItem.collectionType = "tvshows"
|
||||||
group.lastFocus = group.focusedChild
|
group.lastFocus = group.focusedChild
|
||||||
group.setFocus(false)
|
group.setFocus(false)
|
||||||
group.visible = false
|
group.visible = false
|
||||||
|
|
||||||
m.overhang.title = selectedItem.name
|
m.overhang.title = selectedItem.title
|
||||||
group = CreateSeriesListGroup(selectedItem)
|
group = CreateSeriesListGroup(selectedItem)
|
||||||
group.overhangTitle = selectedItem.name
|
group.overhangTitle = selectedItem.title
|
||||||
m.scene.appendChild(group)
|
m.scene.appendChild(group)
|
||||||
else if (selectedItem.type = "CollectionFolder" OR selectedItem.type = "UserView") AND selectedItem.collectionType = "boxsets"
|
else if (selectedItem.type = "CollectionFolder" OR selectedItem.type = "UserView") AND selectedItem.collectionType = "boxsets" OR selectedItem.type = "Boxset"
|
||||||
group.lastFocus = group.focusedChild
|
group.lastFocus = group.focusedChild
|
||||||
group.setFocus(false)
|
group.setFocus(false)
|
||||||
group.visible = false
|
group.visible = false
|
||||||
|
|
||||||
m.overhang.title = selectedItem.name
|
m.overhang.title = selectedItem.title
|
||||||
group = CreateCollectionsList(selectedItem)
|
group = CreateCollectionsList(selectedItem)
|
||||||
group.overhangTitle = selectedItem.name
|
group.overhangTitle = selectedItem.title
|
||||||
m.scene.appendChild(group)
|
m.scene.appendChild(group)
|
||||||
else if (selectedItem.type = "CollectionFolder" OR selectedItem.type = "UserView") AND selectedItem.collectionType = "livetv"
|
else if (selectedItem.type = "CollectionFolder" OR selectedItem.type = "UserView") AND selectedItem.collectionType = "livetv"
|
||||||
group.lastFocus = group.focusedChild
|
group.lastFocus = group.focusedChild
|
||||||
group.setFocus(false)
|
group.setFocus(false)
|
||||||
group.visible = false
|
group.visible = false
|
||||||
|
|
||||||
m.overhang.title = selectedItem.name
|
m.overhang.title = selectedItem.title
|
||||||
group = CreateChannelList(selectedItem.Id)
|
group = CreateChannelList(selectedItem.Id)
|
||||||
group.overhangTitle = selectedItem.name
|
group.overhangTitle = selectedItem.title
|
||||||
m.scene.appendChild(group)
|
m.scene.appendChild(group)
|
||||||
else if selectedItem.type = "Boxset" then
|
else if selectedItem.type = "Boxset" then
|
||||||
|
|
||||||
|
@ -148,11 +148,11 @@ sub Main()
|
||||||
group.setFocus(false)
|
group.setFocus(false)
|
||||||
group.visible = false
|
group.visible = false
|
||||||
|
|
||||||
m.overhang.title = selectedItem.name
|
m.overhang.title = selectedItem.title
|
||||||
m.overhang.showOptions = false
|
m.overhang.showOptions = false
|
||||||
m.scene.unobserveField("optionsPressed")
|
m.scene.unobserveField("optionsPressed")
|
||||||
group = CreateSeriesDetailsGroup(selectedItem.json)
|
group = CreateSeriesDetailsGroup(selectedItem.json)
|
||||||
group.overhangTitle = selectedItem.name
|
group.overhangTitle = selectedItem.title
|
||||||
m.scene.appendChild(group)
|
m.scene.appendChild(group)
|
||||||
else if selectedItem.type = "Movie" then
|
else if selectedItem.type = "Movie" then
|
||||||
' open movie detail page
|
' open movie detail page
|
||||||
|
@ -160,11 +160,11 @@ sub Main()
|
||||||
group.setFocus(false)
|
group.setFocus(false)
|
||||||
group.visible = false
|
group.visible = false
|
||||||
|
|
||||||
m.overhang.title = selectedItem.name
|
m.overhang.title = selectedItem.title
|
||||||
m.overhang.showOptions = false
|
m.overhang.showOptions = false
|
||||||
m.scene.unobserveField("optionsPressed")
|
m.scene.unobserveField("optionsPressed")
|
||||||
group = CreateMovieDetailsGroup(selectedItem)
|
group = CreateMovieDetailsGroup(selectedItem)
|
||||||
group.overhangTitle = selectedItem.name
|
group.overhangTitle = selectedItem.title
|
||||||
m.scene.appendChild(group)
|
m.scene.appendChild(group)
|
||||||
else if selectedItem.type = "Video" then
|
else if selectedItem.type = "Video" then
|
||||||
' play episode
|
' play episode
|
||||||
|
|
Loading…
Reference in New Issue
Block a user