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 {} +  }  } + | 
