summaryrefslogtreecommitdiffstats
path: root/app/pages/DetailPage.qml
blob: 45e5202b7d8d17c2dd3be4d7afce2b7a68687e32 (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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
 * Copyright (C) 2018 The Qt Company Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import QtQuick 2.6
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.0
 
 Page {
    id: detailpage
    visible: true

    property StackView stack: null
    property var model

    Item {
        id: backItem
        width: 80
        height: 40

        Image {
            anchors.fill: parent
            source: 'qrc:/images/Back.svg'
        }

        MouseArea {
            anchors.fill: parent
            onClicked: {
                stack.pop(StackView.Immediate)
            }
        }
    }

    RowLayout {
        id: infoLayout

        height: parent.width / 3
        width: parent.width
        anchors.top: backItem.bottom
        anchors.topMargin: 10
        
        spacing: 20
        
        Item {
            Layout.preferredWidth: 200
            Layout.preferredHeight: 200

			Image {
				id: imageicon
                anchors.fill: parent
            	source: model.icon != ""?model.icon : 'qrc:/images/blank.svg'
				property string initial: model.name.substring(0,1).toUpperCase()

				Label {
					style: Text.Outline
					styleColor: "#00ADDC"
					color: 'transparent'
					font.pixelSize: parent.height * 0.5
					anchors.centerIn: parent
					text: parent.initial
					visible: model.icon == ""
				}
            }
        }

        ColumnLayout {
            spacing: 5
            Label {
                Layout.fillWidth: true
                text: model.name.toUpperCase()
                font.pixelSize: 32
                color: '#00ADDC'
            }
            Label {
                text: 'Author: ' + model.author
                font.pixelSize: 24
            }
            Label {
                text: 'Version: ' + model.version
                font.pixelSize: 16
                font.italic: true
            }
            Label {
                text: 'Category: ' + model.category
                font.pixelSize: 16
            }
            Label {
                text: 'UpdateTime: ' + new Date(model.createdtime)
                font.pixelSize: 16
            }
        }
    }

    Image {
        id: dividingLine
        width: parent.width
        anchors.top: infoLayout.bottom
        anchors.topMargin: 10
        anchors.horizontalCenter: parent.horizontalCenter
        source: 'qrc:/images/DividingLine.svg'
    }

    Label {
        width: parent.width
        anchors.top: dividingLine.bottom
        anchors.topMargin: 20

        text: model.description
        wrapMode: Text.Wrap
        font.pixelSize: 40
    }
 }