From fd554c1abccd2d039c3e0526870e6e1e7f58241b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Sun, 19 Mar 2023 12:24:29 +0800 Subject: Separate main content from detail classic to its own file --- Course/Detail/Classic.ui.qml | 116 +--------------------------- Course/Detail/Classic/Content/Main.ui.qml | 123 ++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+), 112 deletions(-) create mode 100644 Course/Detail/Classic/Content/Main.ui.qml (limited to 'Course') diff --git a/Course/Detail/Classic.ui.qml b/Course/Detail/Classic.ui.qml index be79391..2545e69 100644 --- a/Course/Detail/Classic.ui.qml +++ b/Course/Detail/Classic.ui.qml @@ -2,15 +2,13 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import QtGraphicalEffects 1.15 -import "Classic/Content/Main/TabContents" as ContentMainTabContents -import "../.." +import "Classic/Content" as Content Flickable { property alias introBadge: introBadge property alias introTitleHeader: introTitleHeader property alias introTitleParagraph: introTitleParagraph - property alias tabs: tabs - property alias courseDescription: courseDescription + property alias mainContent: mainContent property alias image: image property string priceText: "$150" property alias originalPrice: originalPrice @@ -123,117 +121,11 @@ Flickable { columns: width < 992 ? 1 : 2 rows: width < 992 ? 2 : 1 - ColumnLayout { + Content.Main { + id: mainContent Layout.alignment: Qt.AlignTop Layout.maximumWidth: body.width < 992 ? body.width : body.width / 2 - - Item { - Layout.fillWidth: true - Layout.leftMargin: 15 - Layout.rightMargin: 15 - implicitHeight: mainContent.height - - DropShadow { - source: mainContent - color: "#4d000000" - verticalOffset: 4 - radius: 12 - samples: 12 - anchors.fill: mainContent - } - - Rectangle { - id: mainContent - radius: 5.2 - anchors { - left: parent.left - right: parent.right - } - implicitHeight: tabs.height + tabsContent.height + 83.2 - - ColumnLayout { - anchors { - left: parent.left - leftMargin: 25.6 - right: parent.right - rightMargin: 25.6 - } - - GridView { - id: tabs - interactive: false - Layout.fillWidth: true - Layout.topMargin: 16 - Layout.bottomMargin: 16 - cellWidth: 105.016 - cellHeight: 46 - implicitHeight: Math.ceil(count / Math.floor(count / (cellWidth * count / width))) * cellHeight - model: ["Overview", "Curriculum", "Instructor", "Reviews", "FAQs", "Comment"] - delegate: TabItem { - contentItem: Text { - text: modelData - color: "#066ac9" - font { - family: doesntEmbed ? "Roboto" : regular.name - pointSize: 15 - } - } - background: Rectangle { - color: index == currentIndex ? "#1a0fffff" : "transparent" - radius: 5.2 - } - } - } - - StackLayout { - id: tabsContent - currentIndex: tabs.currentIndex - Layout.topMargin: 33.6 - Layout.leftMargin: 25.6 - Layout.rightMargin: 25.6 - Layout.bottomMargin: 25.6 - - ColumnLayout { - - Label { - text: qsTr("Course Description") - color: "#24292d" - wrapMode: Text.Wrap - Layout.fillWidth: true - Layout.bottomMargin: 16 - font { - family: heebo.name - pointSize: 20.1 - } - } - - Label { - id: courseDescription - text: qsTr("Welcome to the Digital Marketing Ultimate Course Bundle - 12 Courses in 1 (Over 36 hours of content)") - color: "#747579" - wrapMode: Text.Wrap - Layout.fillWidth: true - font { - family: doesntEmbed ? "Roboto" : regular.name - pointSize: 15 - } - } - } - - Item {} - - ContentMainTabContents.Instructor {} - - Item {} - - Item {} - - Item {} - } - } - } - } } ColumnLayout { diff --git a/Course/Detail/Classic/Content/Main.ui.qml b/Course/Detail/Classic/Content/Main.ui.qml new file mode 100644 index 0000000..1442224 --- /dev/null +++ b/Course/Detail/Classic/Content/Main.ui.qml @@ -0,0 +1,123 @@ +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.15 +import QtGraphicalEffects 1.15 +import "../../../.." +import "Main/TabContents" as MainTabContents + +ColumnLayout { + property alias tabs: tabs + property alias courseDescription: courseDescription + + Item { + Layout.fillWidth: true + Layout.leftMargin: 15 + Layout.rightMargin: 15 + implicitHeight: rectangle.height + + DropShadow { + source: rectangle + color: "#4d000000" + verticalOffset: 4 + radius: 12 + samples: 12 + anchors.fill: rectangle + } + + Rectangle { + id: rectangle + radius: 5.2 + anchors { + left: parent.left + right: parent.right + } + implicitHeight: tabs.height + tabsContent.height + 83.2 + + ColumnLayout { + anchors { + left: parent.left + leftMargin: 25.6 + right: parent.right + rightMargin: 25.6 + } + + GridView { + id: tabs + interactive: false + Layout.fillWidth: true + Layout.topMargin: 16 + Layout.bottomMargin: 16 + cellWidth: 105.016 + cellHeight: 46 + implicitHeight: Math.ceil(count + / Math.floor(count + / (cellWidth * count + / width))) * cellHeight + model: ["Overview", "Curriculum", + "Instructor", "Reviews", "FAQs", + "Comment"] + delegate: TabItem { + contentItem: Text { + text: modelData + color: "#066ac9" + font { + family: doesntEmbed ? "Roboto" : regular.name + pointSize: 15 + } + } + background: Rectangle { + color: index == currentIndex ? "#1a0fffff" : "transparent" + radius: 5.2 + } + } + } + + StackLayout { + id: tabsContent + currentIndex: tabs.currentIndex + Layout.topMargin: 33.6 + Layout.leftMargin: 25.6 + Layout.rightMargin: 25.6 + Layout.bottomMargin: 25.6 + + ColumnLayout { + + Label { + text: qsTr("Course Description") + color: "#24292d" + wrapMode: Text.Wrap + Layout.fillWidth: true + Layout.bottomMargin: 16 + font { + family: heebo.name + pointSize: 20.1 + } + } + + Label { + id: courseDescription + text: qsTr("Welcome to the Digital Marketing Ultimate Course Bundle - 12 Courses in 1 (Over 36 hours of content)") + color: "#747579" + wrapMode: Text.Wrap + Layout.fillWidth: true + font { + family: doesntEmbed ? "Roboto" : regular.name + pointSize: 15 + } + } + } + + Item {} + + MainTabContents.Instructor {} + + Item {} + + Item {} + + Item {} + } + } + } + } +} -- cgit v1.2.3