Files
htpc-client/layouts/components/Sidebar.qml
T
restitux 94a69d383b Add Provider object and update the UI to use
This currently uses localhost:8080 hosted providers to facilitate
testing.
2022-08-19 12:46:20 -04:00

39 lines
961 B
QML

import QtQuick 2.12
import Ikinuki.Client 1.0
Rectangle {
property var providers
default property int selectedElement: 0
property var max_elements: providers.length
width: parent.width * 0.3
height: parent.height
color: "#22282A"
Column {
anchors.fill: parent
// header
SidebarHeader {}
Repeater {
model: providers
SidebarElement {
name: modelData.name
selected: (index == selectedElement) ? true : false
}
}
}
function mod(n, m) {
return ((n % m) + m) % m;
}
Keys.onPressed: (event)=> {
// Handle scrolling
if (event.key == Qt.Key_Down) {
selectedElement = mod(selectedElement + 1, max_elements);
}
else if (event.key == Qt.Key_Up) {
selectedElement = mod(selectedElement - 1, max_elements);
}
event.accepted = true;
}
}