Warning, /multimedia/kasts/src/qml/ChapterListDelegate.qml is written in an unsupported language. File is not indexed.
0001 /** 0002 * SPDX-FileCopyrightText: 2021-2023 Bart De Vries <bart@mogwai.be> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 import QtQuick 0008 import QtQuick.Controls as Controls 0009 import QtQuick.Layouts 0010 0011 import org.kde.kirigami as Kirigami 0012 import org.kde.kirigami.delegates as Delegates 0013 import org.kde.kirigamiaddons.delegates as AddonDelegates 0014 import org.kde.kmediasession 0015 0016 import org.kde.kasts 0017 import org.kde.kasts.settings 0018 0019 AddonDelegates.RoundedItemDelegate { 0020 id: root 0021 0022 property var entry: undefined 0023 property var overlay: undefined 0024 0025 property bool streamingButtonVisible: entry != undefined && entry.enclosure && (entry.enclosure.status !== Enclosure.Downloaded) && NetworkConnectionManager.streamingAllowed && (SettingsManager.prioritizeStreaming || AudioManager.entry === entry) 0026 0027 contentItem: RowLayout { 0028 Delegates.IconTitleSubtitle { 0029 icon.source: model.chapter.cachedImage 0030 title: model.title 0031 subtitle: model.formattedStart 0032 Layout.fillWidth: true 0033 } 0034 0035 Controls.ToolButton { 0036 icon.name: streamingButtonVisible ? "media-playback-cloud" : "media-playback-start" 0037 text: i18n("Play") 0038 enabled: entry != undefined && entry.enclosure && (entry.enclosure.status === Enclosure.Downloaded || streamingButtonVisible) 0039 display: Controls.Button.IconOnly 0040 onClicked: { 0041 if (!entry.queueStatus) { 0042 entry.queueStatus = true; 0043 } 0044 if (AudioManager.entry != entry) { 0045 AudioManager.entry = entry; 0046 } 0047 if (AudioManager.playbackState !== KMediaSession.PlayingState) { 0048 AudioManager.play(); 0049 } 0050 AudioManager.position = start * 1000; 0051 if (overlay != undefined) { 0052 overlay.close(); 0053 } 0054 } 0055 } 0056 } 0057 }