Add episode browser

This commit is contained in:
2022-09-13 21:33:26 -06:00
parent 1e7d9db9cc
commit a38221cca2
9 changed files with 254 additions and 18 deletions
+36 -7
View File
@@ -11,8 +11,15 @@ StackLayout {
id: tabView
property var providers: []
property bool viewSelected
state: viewSelected ? "selected" : "deselected"
property int parentIndex
property int ySelect: 0
property bool showViewActive: false
currentIndex: showViewActive ? tabView.children.length - 3 : parentIndex
//currentIndex: showView ? tabView.children.length - 3 : parentIndex
state: viewSelected ? "selected" : "deselected"
width: parent.width * viewSelected ? 0.95 : 0.8
height: parent.height
@@ -28,6 +35,10 @@ StackLayout {
provider: modelData
}
}
ShowView {
id: showView
show: providers[0].getShow(providers[0].showsAlphabetic[0])
}
states: [
State {
name: "deselected"
@@ -54,14 +65,32 @@ StackLayout {
}
]
function getCurrentIndex() {
if (showViewActive) {
var x = tabView.children.length - 1;
} else {
var x = currentIndex > (providers.length - 1) ? currentIndex + 1 : currentIndex;
}
return x;
}
Keys.onPressed: (event)=> {
var x = currentIndex > (providers.length - 1) ? currentIndex + 1 : currentIndex;
//tabView.children[currentIndex].Keys.pressed(event);
var x = getCurrentIndex()
tabView.children[x].Keys.pressed(event);
if (tabView.children[x].viewExit) {
tabView.children[x].viewExit = false;
parent.browse = false;
parent.selectedView = 0;
if (tabView.children[x].enterShow) {
showViewActive = true;
showView.show = tabView.children[x].enterShowShow;
} else if (tabView.children[x].viewExit) {
if (showViewActive) {
showViewActive = false;
tabView.children[x].xIndex = 0;
tabView.children[x].viewExit = false;
tabView.children[getCurrentIndex()].enterShow = false;
} else {
tabView.children[x].viewExit = false;
parent.browse = false;
parent.selectedView = 0;
}
}
event.accepted = true;
}