Warning, /libraries/kirigami-addons/src/sounds/SoundsPicker.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2021 Han Young <hanyoung@protonmail.com> 0003 * SPDX-FileCopyrightText: 2021 Carl Schwan <carl@carlschwan.eu> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 import QtQuick 2.12 0009 import QtQuick.Controls 2.5 as Controls2 0010 import org.kde.kirigami 2.0 as Kirigami 0011 import QtQuick.Layouts 1.11 0012 import QtMultimedia 5.15 0013 import org.kde.kirigamiaddons.sounds 0.1 0014 0015 /** 0016 * A sound picker component for picking ringtones and notifications. 0017 * \inherits QtQuick.ListView 0018 */ 0019 ListView { 0020 id: listView 0021 0022 /** 0023 * This property holds the selected audio url. 0024 */ 0025 property string selectedUrl: soundsModel.initialSourceUrl(listView.currentIndex) 0026 0027 /** 0028 * This property controls the sound type (ringtone or notification). 0029 * \property bool notification 0030 */ 0031 property bool notification: true 0032 0033 /** 0034 * This property lets you choose sound theme, default to "plasma-mobile" 0035 * \property string theme 0036 */ 0037 property alias theme: soundsModel.theme 0038 0039 /** 0040 * This property is the internal Audio qml type used for play sound 0041 * \property QtMultimedia.Audio playMusic 0042 */ 0043 property alias audioPlayer: playMusic 0044 0045 model: SoundsModel { 0046 id: soundsModel 0047 notification: listView.notification 0048 } 0049 0050 delegate: Kirigami.BasicListItem { 0051 text: ringtoneName 0052 icon: ListView.isCurrentItem ? "object-select-symbolic" : "" 0053 onClicked: { 0054 selectedUrl = sourceUrl; 0055 if (playMusic.playbackState === MediaPlayer.PlayingState) { 0056 playMusic.pause(); 0057 } else { 0058 playMusic.play(); 0059 } 0060 } 0061 } 0062 0063 Audio { 0064 id: playMusic 0065 source: selectedUrl 0066 } 0067 }