diff --git a/components/movies/rowlist.xml b/components/movies/rowlist.xml index 7190bec8..b3cb58ae 100644 --- a/components/movies/rowlist.xml +++ b/components/movies/rowlist.xml @@ -94,6 +94,14 @@ if key = "down" and (m.top.itemFocused + 1) = m.top.content.getChildCount() m.top.getScene().findNode("pager").setFocus(true) m.top.getScene().findNode("pager").getChild(0).setFocus(true) + return true + else if key = "options" + options = m.top.getScene().findNode("options") + list = options.findNode("panelList") + + options.visible = true + list.setFocus(true) + return true end if diff --git a/components/movies/scene.xml b/components/movies/scene.xml index e67aa9c9..8ee422cc 100644 --- a/components/movies/scene.xml +++ b/components/movies/scene.xml @@ -11,5 +11,8 @@ /> + + + diff --git a/components/options.xml b/components/options.xml new file mode 100644 index 00000000..20aabb22 --- /dev/null +++ b/components/options.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index 6c0a3c4f..d4061f99 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -168,12 +168,33 @@ sub ShowMovieOptions(library) pager.observeField("escape", port) pager.observeField("pageSelected", port) + sidepanel = scene.findNode("options") + movie_options = [ + {"title": "Sort Field", + "key": "movie_sort_field", + "values": ["blah", "this", "that"]}, + {"title": "Sort Order", + "key": "movie_sort_order", + "values": ["blah", "this", "that"]} + ] + new_options = [] + for each opt in movie_options + o = CreateObject("roSGNode", "ContentNode") + o.title = opt.title + new_options.append([o]) + end for + sidepanel.options = new_options + + sidepanel.observeField("escape", port) + while true msg = wait(0, port) if type(msg) = "roSGScreenEvent" and msg.isScreenClosed() then return else if nodeEventQ(msg, "escape") and msg.getNode() = "pager" options.setFocus(true) + else if nodeEventQ(msg, "escape") and msg.getNode() = "options" + options.setFocus(true) else if nodeEventQ(msg, "pageSelected") and pager.pageSelected <> invalid pager.pageSelected = invalid page_num = int(val(msg.getData().id))