Files
htpc-client/layouts/components/BrowserView/ContentView.qml
T
2022-09-13 14:38:39 -06:00

69 lines
1.6 KiB
QML

import QtQuick 2.12
import QtQuick.Layouts 1.12
import QtQuick.Controls 1.4
import QtQuick.Controls 2.15
import Ikinuki.Client 1.0
import "./ContentView"
StackLayout {
id: tabView
property var providers: []
property bool viewSelected
state: viewSelected ? "selected" : "deselected"
property int ySelect: 0
width: parent.width * viewSelected ? 0.95 : 0.8
height: parent.height
Repeater {
model: providers
ProviderHome {
provider: modelData
}
}
Repeater {
model: providers
ProviderBrowse {
provider: modelData
}
}
states: [
State {
name: "deselected"
PropertyChanges {
target: tabView
width: parent.width * 0.8
}
},
State {
name: "selected"
PropertyChanges {
target: tabView
width: parent.width * 0.95
}
}
]
transitions: [
Transition {
NumberAnimation {
properties: "width"
duration: 150
easing.type: Easing.Linear
}
}
]
Keys.onPressed: (event)=> {
var x = currentIndex > (providers.length - 1) ? currentIndex + 1 : currentIndex;
//tabView.children[currentIndex].Keys.pressed(event);
tabView.children[x].Keys.pressed(event);
if (tabView.children[x].viewExit) {
tabView.children[x].viewExit = false;
parent.browse = false;
parent.selectedView = 0;
}
event.accepted = true;
}
}