53 lines
1.4 KiB
QML
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;
|
|
}
|
|
}
|
|
}
|