Add Provider object and update the UI to use

This currently uses localhost:8080 hosted providers to facilitate
testing.
This commit is contained in:
2022-08-19 12:46:20 -04:00
parent 7944e4e21b
commit 94a69d383b
6 changed files with 200 additions and 26 deletions
+42
View File
@@ -0,0 +1,42 @@
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.7
height: parent.height
color: "#22282A"
Column {
Row {
height: parent.parent.height * 0.
}
}
// 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;
//}
}
+3 -3
View File
@@ -4,7 +4,7 @@ import Ikinuki.Client 1.0
Rectangle {
property var providers
default property int selectedElement: 2
default property int selectedElement: 0
property var max_elements: providers.length
width: parent.width * 0.3
height: parent.height
@@ -16,7 +16,7 @@ Rectangle {
Repeater {
model: providers
SidebarElement {
name: modelData.Name
name: modelData.name
selected: (index == selectedElement) ? true : false
}
}
@@ -26,13 +26,13 @@ Rectangle {
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);
}
console.log(selectedElement)
event.accepted = true;
}
}
+21 -13
View File
@@ -17,24 +17,32 @@ ApplicationWindow {
Database {
id: database
}
//Column {
// Repeater {
// model: database.Providers
// Text {
// text: modelData.Name
// //text: database.getString[0]
// }
// }
//}
Row {
anchors.fill: parent
focus: true
default property int selectedView: 0
Sidebar {
id: sidebar
providers: database.Providers
focus: true
}
Column {
width: parent.width * 0.7
height: parent.height
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;
}
sidebar.Keys.pressed(event);
event.accepted = true;
} else {
}
event.accepted = true;
}
}
}