summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrangerot <purple@orangerot.dev>2024-07-30 10:56:05 +0200
committerOrangerot <purple@orangerot.dev>2024-08-15 11:43:04 +0200
commit9a8db98b6398090f577fad4c347832a0aa801085 (patch)
tree4b09e82a10157ffcf5b2a9cc254b52504836a1c0
parent0ff1b51223bd8f3424c83e5c044fd8a8887ae1c6 (diff)
feat(qtquick): chat example to build up on
-rw-r--r--CMakeLists.txt2
-rw-r--r--application.qrc6
-rw-r--r--qtquickcontrols2.conf12
-rw-r--r--res/gui/EventInfoPage.qml27
-rw-r--r--res/gui/EventsPage.qml37
-rw-r--r--res/gui/application.qml16
6 files changed, 93 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 421e568..b2c5d4b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,6 +18,8 @@ qt_add_qml_module(itat_challange_olympics
URI itat
QML_FILES
res/gui/application.qml
+ res/gui/EventInfoPage.qml
+ res/gui/EventsPage.qml
RESOURCES
res/pictograms/ARC_small.svg
diff --git a/application.qrc b/application.qrc
new file mode 100644
index 0000000..cadae14
--- /dev/null
+++ b/application.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource prefix="/">
+ <file>qtquickcontrols2.conf</file>
+</qresource>
+</RCC>
+
diff --git a/qtquickcontrols2.conf b/qtquickcontrols2.conf
new file mode 100644
index 0000000..9dec440
--- /dev/null
+++ b/qtquickcontrols2.conf
@@ -0,0 +1,12 @@
+[Controls]
+Style=Material
+
+[Universal]
+Theme=Material
+Accent=Red
+
+[Material]
+Theme=Light
+Accent=Teal
+Primary=BlueGrey
+
diff --git a/res/gui/EventInfoPage.qml b/res/gui/EventInfoPage.qml
new file mode 100644
index 0000000..956507e
--- /dev/null
+++ b/res/gui/EventInfoPage.qml
@@ -0,0 +1,27 @@
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
+
+Page {
+ id: root
+ property string event_id
+
+ header: ToolBar {
+ ToolButton {
+ text: qsTr("Back")
+ anchors.left: parent.left
+ anchors.leftMargin: 10
+ anchors.verticalCenter: parent.verticalCenter
+ onClicked: root.StackView.view.pop()
+ }
+ Label {
+ id: pageTitle
+ font.pixelSize: 20
+ anchors.centerIn: parent
+ text: qsTr("Event Info")
+ }
+ }
+
+
+}
+
diff --git a/res/gui/EventsPage.qml b/res/gui/EventsPage.qml
new file mode 100644
index 0000000..772418e
--- /dev/null
+++ b/res/gui/EventsPage.qml
@@ -0,0 +1,37 @@
+import QtQuick
+import QtQuick.Controls
+
+Page {
+ id: root
+ header: ToolBar {
+ Label {
+ text: qsTr("Olympia 2024 Events")
+ font.pixelSize: 20
+ anchors.centerIn: parent
+ }
+ }
+
+ ListView {
+ id: listView
+ anchors.fill: parent
+ topMargin: 48
+ leftMargin: 48
+ bottomMargin: 48
+ rightMargin: 48
+ spacing: 20
+ model: ["Albert Einstein", "Ernest Hemingway", "Hans Gude"]
+ delegate: ItemDelegate {
+ text: modelData
+ width: listView.width - listView.leftMargin - listView.rightMargin
+ height: avatar.implicitHeight + 32
+ leftPadding: avatar.implicitWidth + 32
+ onClicked: root.StackView.view.push("EventInfoPage.qml", { event_id: 1 })
+
+ Image {
+ id: avatar
+ // source: "images/" + modelData.replace(" ", "_") + ".png"
+ }
+ }
+ }
+}
+
diff --git a/res/gui/application.qml b/res/gui/application.qml
index 38da5d6..cf7b04d 100644
--- a/res/gui/application.qml
+++ b/res/gui/application.qml
@@ -2,12 +2,14 @@ import QtQuick
import QtQuick.Controls
ApplicationWindow {
- width: 400
- height: 400
- visible: true
+ width: 400
+ height: 400
+ visible: true
- Button {
- id: button
- text: "A Special Button"
- }
+ StackView {
+ id: stackView
+ anchors.fill: parent
+ initialItem: EventsPage {}
+ }
}
+