diff --git a/bsconfig.json b/bsconfig.json index ca83c58c..4045d2b8 100644 --- a/bsconfig.json +++ b/bsconfig.json @@ -8,8 +8,12 @@ "locale/**/*.*", "settings/*.*" ], - "plugins": [ "@rokucommunity/bslint" ], + "plugins": [ + "@rokucommunity/bslint" + ], "diagnosticFilters": [ - "**/roku_modules/**/*" + "**/roku_modules/**/*", + "**/testFramework/*", + "**/tests/*" ] } \ No newline at end of file diff --git a/components/ItemGrid/GridItem.brs b/components/ItemGrid/GridItem.brs index 162db0b9..9c0ebec1 100644 --- a/components/ItemGrid/GridItem.brs +++ b/components/ItemGrid/GridItem.brs @@ -13,11 +13,11 @@ sub init() m.itemText.translation = [0, m.itemPoster.height + 7] - m.alwaysShowTitles = get_user_setting("itemgrid.alwaysShowTitles") = "true" - m.itemText.visible = m.alwaysShowTitles + m.gridTitles = get_user_setting("itemgrid.gridTitles") + m.itemText.visible = m.gridTitles = "showalways" ' Add some padding space when Item Titles are always showing - if m.alwaysShowTitles then m.itemText.maxWidth = 250 + if m.itemText.visible then m.itemText.maxWidth = 250 'Parent is MarkupGrid and it's parent is the ItemGrid m.topParent = m.top.GetParent().GetParent() @@ -43,10 +43,12 @@ sub itemContentChanged() m.itemIcon.uri = itemData.iconUrl m.itemText.text = itemData.Title else if itemData.type = "Series" - if itemData?.json?.UserData?.UnplayedItemCount <> invalid - if itemData.json.UserData.UnplayedItemCount > 0 - m.unplayedCount.visible = true - m.unplayedEpisodeCount.text = itemData.json.UserData.UnplayedItemCount + if get_user_setting("ui.tvshows.disableUnwatchedEpisodeCount", "false") = "false" + if itemData?.json?.UserData?.UnplayedItemCount <> invalid + if itemData.json.UserData.UnplayedItemCount > 0 + m.unplayedCount.visible = true + m.unplayedEpisodeCount.text = itemData.json.UserData.UnplayedItemCount + end if end if end if @@ -131,16 +133,17 @@ end sub 'Display or hide title Visibility on focus change sub focusChanged() if m.top.itemHasFocus = true - m.itemText.visible = true m.itemText.repeatCount = -1 m.posterMask.scale = [1, 1] else - m.itemText.visible = m.alwaysShowTitles m.itemText.repeatCount = 0 if m.topParent.alphaActive = true m.posterMask.scale = [0.85, 0.85] end if end if + if m.gridTitles = "showonhover" + m.itemText.visible = m.top.itemHasFocus + end if end sub 'Hide backdrop and text when poster loaded diff --git a/components/ItemGrid/MovieLibraryView.brs b/components/ItemGrid/MovieLibraryView.brs index ba8326bd..883a5a57 100644 --- a/components/ItemGrid/MovieLibraryView.brs +++ b/components/ItemGrid/MovieLibraryView.brs @@ -196,7 +196,7 @@ sub loadInitialItems() m.itemGrid.numRows = "3" m.selectedMovieOverview.visible = false m.infoGroup.visible = false - m.top.showItemTitles = get_user_setting("itemgrid.movieGridTitles") + m.top.showItemTitles = get_user_setting("itemgrid.gridTitles") if LCase(m.top.showItemTitles) = "hidealways" m.itemGrid.itemSize = "[230, 315]" m.itemGrid.rowHeights = "[315]" diff --git a/components/ItemGrid/MusicArtistGridItem.brs b/components/ItemGrid/MusicArtistGridItem.brs index 438d7321..8fafec4f 100644 --- a/components/ItemGrid/MusicArtistGridItem.brs +++ b/components/ItemGrid/MusicArtistGridItem.brs @@ -1,5 +1,6 @@ sub init() m.itemPoster = m.top.findNode("itemPoster") + m.postTextBackground = m.top.findNode("postTextBackground") m.posterText = m.top.findNode("posterText") m.posterText.font.size = 30 m.backdrop = m.top.findNode("backdrop") @@ -14,11 +15,25 @@ sub init() m.itemPoster.loadDisplayMode = m.topParent.imageDisplayMode end if + m.gridTitles = get_user_setting("itemgrid.gridTitles") + m.posterText.visible = false + m.postTextBackground.visible = false + end sub sub itemContentChanged() m.backdrop.blendColor = "#101010" + m.posterText.visible = false + m.postTextBackground.visible = false + + if isValid(m.topParent.showItemTitles) + if LCase(m.topParent.showItemTitles) = "showalways" + m.posterText.visible = true + m.postTextBackground.visible = true + end if + end if + itemData = m.top.itemContent if not isValid(itemData) then return @@ -38,6 +53,23 @@ sub itemContentChanged() if m.itemPoster.loadStatus <> "ready" m.backdrop.visible = true end if + if m.top.itemHasFocus then focusChanged() +end sub + +'Display or hide title Visibility on focus change +sub focusChanged() + if m.top.itemHasFocus = true + m.posterText.repeatCount = -1 + else + m.posterText.repeatCount = 0 + end if + + if isValid(m.topParent.showItemTitles) + if LCase(m.topParent.showItemTitles) = "showonhover" + m.posterText.visible = m.top.itemHasFocus + m.postTextBackground.visible = m.posterText.visible + end if + end if end sub 'Hide backdrop and text when poster loaded diff --git a/components/ItemGrid/MusicLibraryView.brs b/components/ItemGrid/MusicLibraryView.brs index a1f18b66..615df55c 100644 --- a/components/ItemGrid/MusicLibraryView.brs +++ b/components/ItemGrid/MusicLibraryView.brs @@ -135,6 +135,8 @@ sub loadInitialItems() m.sortAscending = false end if + m.top.showItemTitles = get_user_setting("itemgrid.gridTitles") + if LCase(m.top.parentItem.json.type) = "musicgenre" m.itemGrid.translation = "[96, 60]" m.loadItemsTask.itemType = "MusicAlbum" @@ -143,6 +145,7 @@ sub loadInitialItems() m.loadItemsTask.itemId = m.top.parentItem.parentFolder else if LCase(m.view) = "artistspresentation" or LCase(m.options.view) = "artistspresentation" m.loadItemsTask.genreIds = "" + m.top.showItemTitles = "hidealways" else if LCase(m.view) = "artistsgrid" or LCase(m.options.view) = "artistsgrid" m.loadItemsTask.genreIds = "" else diff --git a/components/ItemGrid/MusicLibraryView.xml b/components/ItemGrid/MusicLibraryView.xml index 5f2ec51c..f887468f 100644 --- a/components/ItemGrid/MusicLibraryView.xml +++ b/components/ItemGrid/MusicLibraryView.xml @@ -33,13 +33,13 @@ - +