on xenial help sign in
Add an item that proxies for old and new audio roles
26b5ba6Albert Astals Cid
qml/Components/AlarmAudio.qmlnew file+43
@@ -0,0 +1,43 @@
1+/*
2+ * Copyright (C) 2015 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+ */
16+
17+import QtQuick 2.4
18+
19+Item {
20+ id: root
21+ property string source: ""
22+
23+ function play() {
24+ priv.audio.play();
25+ }
26+ function stop() {
27+ priv.audio.stop();
28+ }
29+
30+ QtObject {
31+ id: priv
32+ property var audio: null
33+ }
34+
35+ Component.onCompleted: {
36+ try {
37+ priv.audio = Qt.createQmlObject("import QtMultimedia 5.6; Audio { source: root.source; audioRole: MediaPlayer.AlarmRole }", priv)
38+ } catch(err) {
39+ console.log("Upstream audioRole enum not available, falling back to old role name.");
40+ priv.audio = Qt.createQmlObject("import QtMultimedia 5.4; Audio { source: root.source; audioRole: MediaPlayer.alert }", priv)
41+ }
42+ }
43+}
qml/Components/ScreenGrabber.qml+1−2
@@ -37,9 +37,8 @@ Rectangle {
37 onTriggered: capture()
37 onTriggered: capture()
38 }
38 }
39
39
40− Audio {
40+ AlarmAudio {
41 id: shutterSound
41 id: shutterSound
42− audioRole: MediaPlayer.alert
43 source: "/system/media/audio/ui/camera_click.ogg"
42 source: "/system/media/audio/ui/camera_click.ogg"
44 }
43 }
45
44
qml/Notifications/Notification.qml+2−2
@@ -22,6 +22,7 @@ import Unity.Notifications 1.0
22import QMenuModel 0.1
22import QMenuModel 0.1
23import Utils 0.1
23import Utils 0.1
24import Ubuntu.Components.ListItems 0.1 as ListItem
24import Ubuntu.Components.ListItems 0.1 as ListItem
25+import "../Components"
25
26
26Item {
27Item {
27 id: notification
28 id: notification
@@ -79,10 +80,9 @@ Item {
79 return result;
80 return result;
80 }
81 }
81
82
82− Audio {
83+ AlarmAudio {
83 id: sound
84 id: sound
84 objectName: "sound"
85 objectName: "sound"
85− audioRole: MediaPlayer.alert
86 source: hints["suppress-sound"] !== "true" && hints["sound-file"] !== undefined ? hints["sound-file"] : ""
86 source: hints["suppress-sound"] !== "true" && hints["sound-file"] !== undefined ? hints["sound-file"] : ""
87 }
87 }
88
88