diff --git a/layouts/components/ContentView.qml b/layouts/components/ContentView.qml index 8d544f8..dd609c0 100644 --- a/layouts/components/ContentView.qml +++ b/layouts/components/ContentView.qml @@ -5,6 +5,9 @@ import Ikinuki.Client 1.0 TabView { property var providers + property bool viewSelected: false + property int xSelect: 0 + property int ySelect: 0 width: parent.width * 0.7 height: parent.height @@ -27,15 +30,36 @@ TabView { title: "In Progress" provider: modelData repeaterModel: modelData.inProgress + elemSelected: viewSelected && (0 == ySelect) + xIndex: xSelect } ContentViewElement { title: "Recently Added" provider: modelData repeaterModel: modelData.recentlyAdded + elemSelected: viewSelected && (1 == ySelect) + xIndex: xSelect } } } } } } + Keys.onPressed: (event)=> { + console.log(Qt.Key_Left); + if (event.key == Qt.Key_Left) { + if (xSelect == 0) { + viewSelected = false; + parent.selectedView = 0; + } else { + xSelect--; + } + } else if (event.key == Qt.Key_Right) { + xSelect++; + } else if (event.key == Qt.Key_Down) { + ySelect++; + } else if (event.key == Qt.Key_Up) { + ySelect--; + } + } } diff --git a/layouts/components/ContentViewElement.qml b/layouts/components/ContentViewElement.qml index 7a76219..addfae5 100644 --- a/layouts/components/ContentViewElement.qml +++ b/layouts/components/ContentViewElement.qml @@ -6,6 +6,8 @@ Column { property var title property var provider property var repeaterModel + property bool elemSelected + property int xIndex Item { width: 10 height: 40 @@ -20,13 +22,9 @@ Column { height: 40 } Row { - //spacing: 80 - //Item{ - // width: -10 - // height: 10 - //} Repeater { property var provider: modelData + //property var yIndex: index //id: inProgressRepeater model: repeaterModel Row{ @@ -38,12 +36,30 @@ Column { id: showColumn //property var show: inProgressRepeater.provider.getShow(modelData) property var show: provider.getShow(modelData) - Image { + Item { + property int childHeight: 300 + property int childWidth: 300 * 0.68 + property int borderWidth: 7 + property int borderRadius: 7 height: 300 - width: 300 * 0.68 - source: showColumn.show.poster - mipmap: true - anchors.horizontalCenter: parent.horizontalCenter + width: (300 * 0.68) + 14 + Image { + height: parent.childHeight + width: parent.childWidth + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + source: showColumn.show.poster + mipmap: true + } + Rectangle { + color: "transparent" + border.color: "orange" + width: parent.width + height: parent.height + border.width: parent.borderWidth + radius: parent.borderRadius + visible: elemSelected && (index == xIndex) + } } Item {width: 1; height: 15} Text { diff --git a/layouts/ikinuki-default.qml b/layouts/ikinuki-default.qml index f741b61..cba06ba 100644 --- a/layouts/ikinuki-default.qml +++ b/layouts/ikinuki-default.qml @@ -36,15 +36,15 @@ ApplicationWindow { 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.maxElements) + view.currentIndex = mod(view.currentIndex + 1, view.providers.length) } else if (event.key == Qt.Key_Up) { - view.currentIndex = mod(view.currentIndex - 1, view.maxElements) + view.currentIndex = mod(view.currentIndex - 1, view.providers.length) } - console.log(view.currentIndex) event.accepted = true; } else { view.Keys.pressed(event);