diff options
author | Orangerot <purple@orangerot.dev> | 2024-07-30 10:56:05 +0200 |
---|---|---|
committer | Orangerot <purple@orangerot.dev> | 2024-08-15 11:43:04 +0200 |
commit | 9a8db98b6398090f577fad4c347832a0aa801085 (patch) | |
tree | 4b09e82a10157ffcf5b2a9cc254b52504836a1c0 | |
parent | 0ff1b51223bd8f3424c83e5c044fd8a8887ae1c6 (diff) |
feat(qtquick): chat example to build up on
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | application.qrc | 6 | ||||
-rw-r--r-- | qtquickcontrols2.conf | 12 | ||||
-rw-r--r-- | res/gui/EventInfoPage.qml | 27 | ||||
-rw-r--r-- | res/gui/EventsPage.qml | 37 | ||||
-rw-r--r-- | res/gui/application.qml | 16 |
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 {} + } } + |