Files
htpc-client/layouts/ikinuki-default.qml
T

53 lines
1.4 KiB
QML

import QtQuick 2.12
import QtQuick.Layouts 1.12
import QtQuick.Controls 2.12
import QtQuick.Controls.Imagine 2.12
import QtQuick.Window 2.0
import Ikinuki.Client 1.0
import "./components"
ApplicationWindow {
id: window
visible: true
Database {
id: database
}
Row {
anchors.fill: parent
focus: true
default property int selectedView: 0
Sidebar {
id: sidebar
providers: database.Providers
}
ContentView {
id: view
providers: database.Providers
}
function mod(n, m) {
return ((n % m) + m) % m;
}
Keys.onPressed: (event)=> {
if (selectedView == 0) {
if (event.key == Qt.Key_Right) {
selectedView = 1;
view.viewSelected = true
}
sidebar.Keys.pressed(event);
if (event.key == Qt.Key_Down) {
view.currentIndex = mod(view.currentIndex + 1, view.providers.length)
} else if (event.key == Qt.Key_Up) {
view.currentIndex = mod(view.currentIndex - 1, view.providers.length)
}
event.accepted = true;
} else {
view.Keys.pressed(event);
}
event.accepted = true;
}
}
}