2025-10-11 02:30:58 +02:00
|
|
|
import QtQuick 6.8
|
2025-10-12 03:10:14 +02:00
|
|
|
import QtQuick.Controls 6.8
|
|
|
|
|
import QtQuick.Controls.Basic 6.8
|
2025-10-11 02:30:58 +02:00
|
|
|
import QtQuick.Layouts 6.8
|
2025-10-12 03:10:14 +02:00
|
|
|
|
2025-10-11 02:30:58 +02:00
|
|
|
import QYRComponents 1.0
|
|
|
|
|
|
|
|
|
|
ApplicationWindow {
|
2025-10-13 13:30:03 +02:00
|
|
|
id: root
|
2025-10-11 17:55:56 +02:00
|
|
|
width: 1280
|
|
|
|
|
height: 800
|
2025-10-18 21:40:02 +02:00
|
|
|
title: qsTr("QYouVideo")
|
2025-10-17 22:29:12 +02:00
|
|
|
|
2025-10-12 03:10:14 +02:00
|
|
|
ColumnLayout {
|
|
|
|
|
anchors.fill: parent
|
2025-10-11 17:55:56 +02:00
|
|
|
|
2025-10-14 21:02:58 +02:00
|
|
|
Rectangle {
|
2025-10-12 03:10:14 +02:00
|
|
|
Layout.fillWidth: true
|
2025-10-14 21:02:58 +02:00
|
|
|
height: 43
|
2025-10-13 02:55:16 +02:00
|
|
|
|
2025-10-14 21:02:58 +02:00
|
|
|
color: Colors.surface0
|
2025-10-14 13:36:21 +02:00
|
|
|
|
2025-10-14 21:02:58 +02:00
|
|
|
RowLayout {
|
|
|
|
|
anchors.fill: parent
|
|
|
|
|
anchors.margins: 3
|
2025-10-14 13:36:21 +02:00
|
|
|
|
|
|
|
|
Label {
|
2025-10-14 21:02:58 +02:00
|
|
|
Layout.leftMargin: 5
|
2025-10-18 21:40:02 +02:00
|
|
|
text: "QYouVideo"
|
2025-10-14 21:02:58 +02:00
|
|
|
heading: "h1"
|
2025-10-14 13:36:21 +02:00
|
|
|
}
|
2025-10-13 02:55:16 +02:00
|
|
|
|
2025-10-14 21:02:58 +02:00
|
|
|
Item {
|
|
|
|
|
Layout.fillWidth: true
|
2025-10-13 02:55:16 +02:00
|
|
|
}
|
2025-10-14 21:02:58 +02:00
|
|
|
|
|
|
|
|
TabBar {
|
|
|
|
|
id: tabbar
|
|
|
|
|
spacing: 10
|
|
|
|
|
|
|
|
|
|
background: Item{}
|
|
|
|
|
|
|
|
|
|
TabButton {
|
2025-10-18 21:40:02 +02:00
|
|
|
text: qsTr("Videos")
|
|
|
|
|
outlined: true
|
|
|
|
|
implicitWidth: 80
|
2025-10-14 21:02:58 +02:00
|
|
|
}
|
|
|
|
|
TabButton {
|
2025-10-18 21:40:02 +02:00
|
|
|
text: qsTr("About")
|
|
|
|
|
outlined: true
|
|
|
|
|
implicitWidth: 80
|
2025-10-14 21:02:58 +02:00
|
|
|
}
|
|
|
|
|
TabButton {
|
2025-10-18 21:40:02 +02:00
|
|
|
text: qsTr("Upload")
|
2025-10-14 21:02:58 +02:00
|
|
|
}
|
2025-10-13 02:55:16 +02:00
|
|
|
}
|
2025-10-11 17:55:56 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-13 02:55:16 +02:00
|
|
|
SwipeView {
|
2025-10-12 03:10:14 +02:00
|
|
|
Layout.fillWidth: true
|
|
|
|
|
Layout.fillHeight: true
|
2025-10-14 21:02:58 +02:00
|
|
|
Layout.margins: 20
|
2025-10-11 17:55:56 +02:00
|
|
|
|
2025-10-13 02:55:16 +02:00
|
|
|
interactive: false
|
2025-10-12 03:10:14 +02:00
|
|
|
currentIndex: tabbar.currentIndex
|
2025-10-13 02:55:16 +02:00
|
|
|
|
|
|
|
|
Loader {
|
2025-10-17 22:29:12 +02:00
|
|
|
// active: tabbar.currentIndex == 0
|
|
|
|
|
active: true
|
2025-10-13 02:55:16 +02:00
|
|
|
asynchronous: true
|
|
|
|
|
visible: status == Loader.Ready
|
2025-10-18 21:40:02 +02:00
|
|
|
source: "ViewVideoList.qml"
|
2025-10-13 02:55:16 +02:00
|
|
|
}
|
|
|
|
|
Loader {
|
2025-10-17 22:29:12 +02:00
|
|
|
// active: tabbar.currentIndex == 1
|
|
|
|
|
active: true
|
2025-10-13 02:55:16 +02:00
|
|
|
asynchronous: true
|
|
|
|
|
visible: status == Loader.Ready
|
2025-10-18 21:40:02 +02:00
|
|
|
source: "ViewAbout.qml"
|
2025-10-13 02:55:16 +02:00
|
|
|
}
|
|
|
|
|
Loader {
|
2025-10-17 22:29:12 +02:00
|
|
|
// active: tabbar.currentIndex == 2
|
|
|
|
|
active: true
|
2025-10-13 02:55:16 +02:00
|
|
|
asynchronous: true
|
|
|
|
|
visible: status == Loader.Ready
|
2025-10-18 21:40:02 +02:00
|
|
|
sourceComponent: Label {
|
|
|
|
|
heading: "h1"
|
|
|
|
|
text: "No idea if I'll ever implement this so don't worry >w<"
|
|
|
|
|
font.bold: true
|
2025-10-13 02:55:16 +02:00
|
|
|
}
|
2025-10-12 03:10:14 +02:00
|
|
|
}
|
2025-10-17 22:29:12 +02:00
|
|
|
|
|
|
|
|
Component.onCompleted: contentItem.highlightMoveDuration = 160;
|
2025-10-11 02:30:58 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|