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. --- Home.qml | 145 ++++++++++++++++++--------------------------------------------- 1 file changed, 41 insertions(+), 104 deletions(-) (limited to 'Home.qml') diff --git a/Home.qml b/Home.qml index d5db6b1..eb5f321 100644 --- a/Home.qml +++ b/Home.qml @@ -1,107 +1,44 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 -import QtQuick.Controls.Material 2.12 -import QtQuick.Layouts 1.12 -import "pages" - -Page { - header: ToolBar { - background: Rectangle { - color: "#FAFFFFFF" - } - RowLayout { - anchors.fill: parent - spacing: 0 - ToolButton { - id: menuButton - icon.name: "menu-button" - icon.source: "assets/menu-24px.svg" - highlighted: true - onClicked: { - drawer.open() - } - } - Label { - text: contentView.currentItem.title - 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" - icon.source: "assets/profile-24px.svg" - highlighted: true - onClicked: { - pageView.push("Profile.qml") - } - } - } - } - 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" - icon.source: "/assets/add-24px.svg" - } - } - - Drawer { - id: drawer - width: window.width * 0.8 - height: window.height - visible: false - - Column { - anchors.fill: parent - ItemDelegate { - text: qsTr("Today") - width: parent.width - onClicked: { - contentView.pop("HomeForm.ui.qml") - drawer.close() - } - } - - ItemDelegate { - text:qsTr("Future") - width: parent.width - onClicked: { - contentView.push("FutureForm.ui.qml") - drawer.close() - } - - } - } - } - - StackView { - id: contentView - anchors.fill: parent - initialItem: HomeForm {} - } -} - - -/*##^## -Designer { - D{i:0;autoSize:true;height:480;width:640} +import "forms" + +HomeForm { + menuButton { + icon.source: "assets/menu-24px.svg" + onClicked: drawer.open() + } + + titleLabel.text: contentView.currentItem.title + + profileButton { + icon.source: "assets/profile-24px.svg" + onClicked: pageView.push("Profile.qml") + } + + roundButton.icon.source: "/assets/add-24px.svg" + + Drawer { + id: drawer + width: window.width * 0.8 + height: window.height + visible: false + + DayListForm { + todayItemDelegate { + text: qsTr("Today") + onClicked: { + contentView.push("Today.qml") + drawer.close() + } + } + + futureItemDelegate { + text:qsTr("Future") + onClicked: { + contentView.push("Future.qml") + drawer.close() + } + } + } + } } -##^##*/ -- cgit v1.2.3