blob: 227d785662dc1cc956673bff511c030541098733 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import QtGraphicalEffects 1.12
Item {
property alias courseTitle: courseTitle
property alias courseThumb: courseThumb
property alias courseProgressPercentage: courseProgressPercentage
property alias courseProgressBar: courseProgressBar
property alias courseListActionButton: courseListActionButton
height: courseData.height
RowLayout {
id: courseData
spacing: 16
width: parent.width
Rectangle {
id: courseThumbnail
radius: 8
Layout.preferredHeight: 72
Layout.preferredWidth: 100
Layout.minimumHeight: 72
Layout.minimumWidth: 100
Image {
id: courseThumb
source: "https://eduport.webestica.com/assets/images/courses/4by3/08.jpg"
sourceSize: Qt.size(parent.width, parent.height)
visible: false
}
OpacityMask{
anchors.fill: courseThumbnail
source: courseThumb
maskSource: courseThumbnail
}
}
ColumnLayout{
id: courseProgressInfo
spacing: 0
width: parent.width - image.width - spacing
Label{
id: courseTitle
color: "#000000"
text: "Course name"
font.pointSize: 16
font.family: "roboto"
font.styleName: "Medium"
Layout.fillWidth: true
}
RowLayout { // So the Bar and % of value side by side
ProgressBar {
id: courseProgressBar
value: completedLectures / totalLectures * 100
to: 100
width: parent.width * 0.7
height: 10
background: Rectangle {
color: "#666666" // Background color of the ProgressBar
}
}
Label{
id: courseProgressPercentage
// color: "#000000"
text: Math.round(completedLectures / totalLectures * 100) + "%"
color: "#666666"
// font.pixelSize: 14
font.pointSize: 14
font.family: "roboto"
font.styleName: "Medium"
// horizontalAlignment: Text.AlignRight
// Layout.fillWidth: true
}
}
}
Button {
id: courseListActionButton
icon.source: "Material/svg/filled/play_circle_outline.svg"
text: "Continue"
font.weight: Font.Medium
font.family: "Roboto"
font.pointSize: 14
onClicked: {
// Implement resuming logic
}
}
}
}
|