From 1c2e0bdae47d142111abe96eabf39dceb8ea3051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Sat, 21 Sep 2019 09:04:26 +0800 Subject: Separate logics from presentation on Home Note: Inner stack view pushes (instead of pops) day forms, and there needs to be some button that pops them back, like in Qt gallery example. --- forms/DayForm.ui.qml | 12 ++++++++ forms/DayListForm.ui.qml | 18 ++++++++++++ forms/HomeForm.ui.qml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 forms/DayForm.ui.qml create mode 100644 forms/DayListForm.ui.qml create mode 100644 forms/HomeForm.ui.qml (limited to 'forms') diff --git a/forms/DayForm.ui.qml b/forms/DayForm.ui.qml new file mode 100644 index 0000000..f2de6cf --- /dev/null +++ b/forms/DayForm.ui.qml @@ -0,0 +1,12 @@ +import QtQuick 2.12 +import QtQuick.Controls 2.12 +import QtQuick.Controls.Material 2.12 + +Page { + property alias contentLabel: contentLabel + + Label { + id: contentLabel + anchors.centerIn: parent + } +} diff --git a/forms/DayListForm.ui.qml b/forms/DayListForm.ui.qml new file mode 100644 index 0000000..1b4c937 --- /dev/null +++ b/forms/DayListForm.ui.qml @@ -0,0 +1,18 @@ +import QtQuick 2.12 +import QtQuick.Controls 2.12 + +Column { + property alias todayItemDelegate: todayItemDelegate + property alias futureItemDelegate: futureItemDelegate + + anchors.fill: parent + ItemDelegate { + id: todayItemDelegate + width: parent.width + } + + ItemDelegate { + id: futureItemDelegate + width: parent.width + } +} diff --git a/forms/HomeForm.ui.qml b/forms/HomeForm.ui.qml new file mode 100644 index 0000000..7aeea4a --- /dev/null +++ b/forms/HomeForm.ui.qml @@ -0,0 +1,74 @@ +import QtQuick 2.12 +import QtQuick.Controls 2.12 +import QtQuick.Controls.Material 2.12 +import QtQuick.Layouts 1.12 + +Page { + property alias menuButton: menuButton + property alias titleLabel: titleLabel + property alias profileButton: profileButton + property alias roundButton: roundButton + property alias contentView: contentView + + header: ToolBar { + background: Rectangle { + color: "#FAFFFFFF" + } + RowLayout { + anchors.fill: parent + spacing: 0 + ToolButton { + id: menuButton + icon.name: "menu-button" + highlighted: true + } + Label { + id: titleLabel + Layout.leftMargin: 16 + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignLeft + wrapMode: Text.WordWrap + font.family: "Work Sans" + font.weight: Font.Medium + font.pointSize: 20 + color: "#000000" + Layout.fillWidth: true + } + ToolButton { + id: profileButton + icon.name: "profile-button" + highlighted: true + } + } + } + footer: RowLayout { + RoundButton { + id: roundButton + width: 64 + height: 64 + Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + Layout.minimumHeight: 64 + Layout.minimumWidth: 64 + display: AbstractButton.IconOnly + spacing: 8 + padding: 16 + highlighted: true + icon.name: "add-icon" + } + } + + StackView { + id: contentView + anchors.fill: parent + initialItem: Page { + id: page + title: qsTr("Today") + + Label { + text: qsTr("Load `contentView` here") + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + } +} -- cgit v1.2.3