on 5c74ee3 help sign in
unity8/qml/Notifications/Notifications.qml
96 lines 2.6 kB history raw
1/*
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17import QtQuick 2.0
18import Ubuntu.Components 0.1
19import "../Components"
21ListView {
22 id: notificationList
24 objectName: "notificationList"
25 interactive: false
27 property real margin
28 spacing: units.gu(.5)
30 delegate: Notification {
31 objectName: "notification" + index
32 anchors {
33 left: parent.left
34 right: parent.right
35 }
36 type: model.type
37 hints: model.hints
38 iconSource: model.icon
39 secondaryIconSource: model.secondaryIcon
40 summary: model.summary
41 body: model.body
42 actions: model.actions
43 notificationId: model.id
44 notification: notificationList.model.getRaw(notificationId)
45 maxHeight: notificationList.height
46 margins: notificationList.margin
48 Component.onCompleted: {
49 if (fullscreen) {
50 notificationList.spacing = 0
51 } else {
52 notificationList.spacing = units.gu(.5)
53 }
54 }
56 ListView.onAdd: {
57 if (notificationList.currentIndex < 1 && notificationList.count > 1) {
58 notificationList.currentIndex = 1
59 }
60 }
62 // make sure there's no opacity-difference between the several
63 // elements in a notification
64 layer.enabled: add.running || remove.running || populate.running
65 }
67 populate: Transition {
68 UbuntuNumberAnimation {
69 property: "opacity"
70 to: 1
71 duration: UbuntuAnimation.SnapDuration
72 }
73 }
75 add: Transition {
76 UbuntuNumberAnimation {
77 property: "opacity"
78 to: 1
79 duration: UbuntuAnimation.SnapDuration
80 }
81 }
83 remove: Transition {
84 UbuntuNumberAnimation {
85 property: "opacity"
86 to: 0
87 }
88 }
90 displaced: Transition {
91 UbuntuNumberAnimation {
92 properties: "x,y"
93 duration: UbuntuAnimation.SnapDuration
94 }
95 }