aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/wasm/a11y/qml_basic_item/MeetingSummary.qml
blob: 142b05fc99fc4acadc41c0a9d4d8d91b4fa83454 (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
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts

GroupBox {
    id: root
    title: "Summary"
    height: parent.height-10
    property string meetingOccurrence: "Once"
    property string onlineOfflineStatus: "offline"
    property int roomNumber: 0
    property int calendarWeek: 1
    property string meetingDescription: "No Description"

    property string inviteesNameEmail: ""
    property bool addedReadRequest: false
    clip: true

    Flickable {
        id: flickable
        width: parent.width - 10
        height: parent.height - 10
        contentHeight: meetingHeader.contentHeight + textSummary.contentHeight + 50
        contentWidth: parent.width - 10
        clip: true
        boundsBehavior: Flickable.StopAtBounds

        ScrollBar.vertical: ScrollBar {
            policy: ScrollBar.AlwaysOn

            Accessible.role: Accessible.ScrollBar
            Accessible.name: "Vertical ScrollBar"
            Accessible.description: "Use this to scroll summary page"
            Accessible.onDecreaseAction: {
                decrease()
            }
            Accessible.onIncreaseAction: {
                increase()
            }
        }

        Label {
            id: meetingHeader
            height: 30
            text: "Meeting Details"
            font.bold: true
            font.pixelSize: 24
            Accessible.role: Accessible.StaticText
            Accessible.name: text
            Accessible.description: "Title"
        }

        Connections {
            target: wasmToolbar
            function onCancelThisMeeting() {
                textSummary.text = ""
                addedReadRequest = false
            }
            function onRequestReadReceipt() {
                if (addedReadRequest == false) {
                    var temp = textSummary.text
                    textSummary.text = "<b>Read receipt requested</b><br>" + temp
                    addedReadRequest = true
                }
            }
        }
        TextEdit {
            id: textSummary
            anchors {
                left: parent.left
                top: meetingHeader.bottom
                topMargin: 10
                leftMargin: 10
            }
            width: parent.width - 50
            font.pixelSize: 16
            textFormat: TextEdit.RichText
            text: qsTr((" Occurrence:<b> %1 </b> <br>
                          Meeting to be held: <b>%2</b> <br>
                          Invitees:<b> %3 </b> <br>
                          Meeting Room: <b> %4 </b> <br>
                          Starts in Calendar Week:<b> %5</b> <br>
                          Meeting Description:<b> %6</b>")
                       .arg(meetingOccurrence)
                       .arg(onlineOfflineStatus)
                       .arg(inviteesNameEmail)
                       .arg(roomNumber)
                       .arg(calendarWeek)
                       .arg(meetingDescription))

            wrapMode: Text.WrapAtWordBoundaryOrAnywhere
            readOnly: true
            clip: true
            Accessible.readOnly: readOnly
            Accessible.role: Accessible.StaticText
            Accessible.name: textSummary.getText(0, textSummary.length)
            Accessible.description: "A short summary of the meeting details"
            onVisibleChanged: {
                textSummary.text = qsTr((" Occurrence:<b> %1 </b> <br>
                                        Meeting to be held: <b>%2</b> <br>
                                        Invitees:<b> %3 </b> <br>
                                        Meeting Room: <b> %4 </b> <br>
                                        Starts in Calendar Week:<b> %5</b> <br>
                                        Meeting Description:<b> %6</b>").arg(meetingOccurrence).arg
                                        (onlineOfflineStatus).arg
                                        (inviteesNameEmail).arg(roomNumber).arg
                                        (calendarWeek).arg(meetingDescription))
                if (addedReadRequest == true) {
                    var temp = textSummary.text
                    textSummary.text = "<b>Read receipt requested<b><br>" + temp
                }
            }
        }
    }
}