diff --git a/components/search/SearchResults.brs b/components/search/SearchResults.brs index 8427232d0..0eddf0585 100644 --- a/components/search/SearchResults.brs +++ b/components/search/SearchResults.brs @@ -41,6 +41,13 @@ sub loadResults() m.searchSelect.itemdata = m.searchTask.results m.searchSelect.query = m.top.SearchAlpha m.searchHelpText.visible = false + if m.searchTask.results.TotalRecordCount = 0 + ' make sure focus is on the keyboard + if m.searchSelect.isinFocusChain() + m.searchAlphabox.setFocus(true) + end if + return + end if m.searchAlphabox = m.top.findnode("searchResults") m.searchAlphabox.translation = "[470, 85]" end sub @@ -57,9 +64,21 @@ function onKeyEvent(key as string, press as boolean) as boolean if key = "left" and m.searchSelect.isinFocusChain() m.searchAlphabox.setFocus(true) return true - else if key = "right" + else if key = "right" and m.searchSelect.content <> invalid and m.searchSelect.content.getChildCount() > 0 m.searchSelect.setFocus(true) return true + else if key = "play" and m.searchSelect.isinFocusChain() and m.searchSelect.rowItemFocused.count() > 0 + print "play was pressed from search results" + if m.searchSelect.rowItemFocused <> invalid + selectedContent = m.searchSelect.content.getChild(m.searchSelect.rowItemFocused[0]) + if selectedContent <> invalid + selectedItem = selectedContent.getChild(m.searchSelect.rowItemFocused[1]) + if selectedItem <> invalid + m.top.quickPlayNode = selectedItem + return true + end if + end if + end if end if return false diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index ebac0c585..e86643783 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -855,6 +855,7 @@ end function function CreateSearchPage() ' Search + Results Page group = CreateObject("roSGNode", "searchResults") + group.observeField("quickPlayNode", m.port) options = group.findNode("searchSelect") options.observeField("itemSelected", m.port)