import "pkg:/source/api/Items.bs" import "pkg:/source/api/baserequest.bs" import "pkg:/source/utils/config.bs" import "pkg:/source/api/Image.bs" import "pkg:/source/utils/deviceCapabilities.bs" sub init() m.top.optionsAvailable = false m.searchSelect = m.top.findnode("searchSelect") m.searchTask = CreateObject("roSGNode", "SearchTask") 'set label text m.searchHelpText = m.top.findNode("SearchHelpText") m.searchHelpText.text = tr("You can search for Titles, People, Live TV Channels and more") end sub sub searchMedias() query = m.top.searchAlpha 'if user deletes the search string hide the spinner if query.len() = 0 stopLoadingSpinner() end if 'if search task is running and user selectes another letter stop the search and load the next letter m.searchTask.control = "stop" if query <> invalid and query <> "" startLoadingSpinner(false) end if m.searchTask.observeField("results", "loadResults") m.searchTask.query = query m.top.overhangTitle = tr("Search") + ": " + query m.searchTask.control = "RUN" end sub sub loadResults() m.searchTask.unobserveField("results") stopLoadingSpinner() 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 function onKeyEvent(key as string, press as boolean) as boolean m.searchAlphabox = m.top.findNode("search_Key") if m.searchAlphabox.textEditBox.hasFocus() m.searchAlphabox.textEditBox.translation = "[0, -150]" else m.searchAlphabox.textEditBox.translation = "[0, 0]" end if if key = "left" and m.searchSelect.isinFocusChain() m.searchAlphabox.setFocus(true) return true 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 end function