on xenial help sign in
Add an item that proxies for old and new audio roles
commit26b5ba65591f77bb82a083f2cc2ba53bf69b019f authorAlbert Astals Cid <albert.astals@canonical.com> dateThu 22 Oct 2015, 17:10 (11 years ago) parentcab9943
3 files changed+46−4
qml/Components/AlarmAudio.qml+43 qml/Components/ScreenGrabber.qml+1−2 qml/Notifications/Notification.qml+2−2
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 {
3737 onTriggered: capture()
3838 }
3939
40− Audio {
40+ AlarmAudio {
4141 id: shutterSound
42− audioRole: MediaPlayer.alert
4342 source: "/system/media/audio/ui/camera_click.ogg"
4443 }
4544
qml/Notifications/Notification.qml+2−2
@@ -22,6 +22,7 @@ import Unity.Notifications 1.0
2222import QMenuModel 0.1
2323import Utils 0.1
2424import Ubuntu.Components.ListItems 0.1 as ListItem
25+import "../Components"
2526
2627Item {
2728 id: notification
@@ -79,10 +80,9 @@ Item {
7980 return result;
8081 }
8182
82− Audio {
83+ AlarmAudio {
8384 id: sound
8485 objectName: "sound"
85− audioRole: MediaPlayer.alert
8686 source: hints["suppress-sound"] !== "true" && hints["sound-file"] !== undefined ? hints["sound-file"] : ""
8787 }
8888