Warning, /multimedia/elisa/src/qml/shared/BasePlayListDelegate.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2020 (c) Devin Lin <espidev@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-3.0-or-later 0005 */ 0006 0007 import QtQuick 2.7 0008 import QtQuick.Layouts 1.2 0009 import QtQuick.Controls as QQC2 0010 0011 import org.kde.kirigami 2.17 as Kirigami 0012 import org.kde.elisa 1.0 0013 0014 QQC2.ItemDelegate { 0015 property var index 0016 property bool isSingleDiscAlbum 0017 property int isPlaying 0018 property bool isSelected 0019 property bool isValid 0020 property bool isAlternateColor 0021 property int databaseId: 0 0022 property var entryType 0023 property string title 0024 property string artist 0025 property string album 0026 property string albumArtist 0027 property string duration 0028 property bool hideDiscNumber 0029 property url fileName 0030 property url imageUrl 0031 property int trackNumber 0032 property url trackUrl 0033 property int discNumber 0034 property int rating 0035 property bool hasValidDiscNumber: true 0036 property bool metadataModifiableRole: false 0037 readonly property bool isFavorite: rating === 10 0038 0039 property var listView 0040 property bool simpleMode: false 0041 property bool showDragHandle: true 0042 0043 activeFocusOnTab: isSelected 0044 0045 signal startPlayback() 0046 signal pausePlayback() 0047 signal removeFromPlaylist(int trackIndex) 0048 signal switchToTrack(int trackIndex) 0049 0050 onSwitchToTrack: trackIndex => ElisaApplication.mediaPlayListProxyModel.switchTo(trackIndex) 0051 onStartPlayback: ElisaApplication.audioControl.ensurePlay() 0052 onPausePlayback: ElisaApplication.audioControl.playPause() 0053 onRemoveFromPlaylist: trackIndex => ElisaApplication.mediaPlayListProxyModel.removeRow(trackIndex) 0054 0055 onClicked: { 0056 listView.currentIndex = index 0057 forceActiveFocus() 0058 0059 if (model.isValid) { 0060 switchToTrack(index) 0061 startPlayback() 0062 } 0063 } 0064 0065 onIsValidChanged: { 0066 if (!isValid) { 0067 showPassiveNotification(i18nc("@info:status", "\"%1\" could not be played", title)) 0068 // Can't make it too long due to https://bugs.kde.org/show_bug.cgi?id=476021. 0069 // TODO: Once that's fixed, use this longer and more descriptive string! 0070 // showPassiveNotification(i18nc("@label", "\"%1\" could not be played; make sure it has not been deleted or renamed", title)) 0071 } 0072 } 0073 }