Warning, /multimedia/haruna/src/qml/PlayListItemCompact.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * SPDX-FileCopyrightText: 2020 George Florea Bănuș <georgefb899@gmail.com>
0003 *
0004 * SPDX-License-Identifier: GPL-3.0-or-later
0005 */
0006
0007 import QtQuick
0008 import QtQuick.Controls
0009
0010 import org.kde.kirigami as Kirigami
0011 import org.kde.haruna
0012 import org.kde.haruna.settings
0013
0014 ItemDelegate {
0015 id: root
0016
0017 property bool isLocal: model.isLocal
0018 property string rowNumber: (index + 1).toString()
0019 property var alpha: PlaylistSettings.overlayVideo ? 0.6 : 1
0020
0021 implicitWidth: ListView.view.width
0022 padding: 0
0023 highlighted: model.isPlaying
0024
0025 background: Rectangle {
0026 anchors.fill: parent
0027 color: {
0028 if (hovered) {
0029 return Qt.alpha(Kirigami.Theme.hoverColor, alpha)
0030 }
0031
0032 if (highlighted) {
0033 return Qt.alpha(Kirigami.Theme.highlightColor, alpha)
0034 }
0035
0036 return Qt.alpha(Kirigami.Theme.backgroundColor, alpha)
0037 }
0038 }
0039
0040 contentItem: Kirigami.IconTitleSubtitle {
0041 icon.name: model.isPlaying ? "media-playback-start" : ""
0042 icon.color: color
0043 title: mainText()
0044 subtitle: model.duration
0045 color: root.hovered || root.highlighted ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
0046 ToolTip.text: title
0047 ToolTip.visible: root.hovered
0048 }
0049
0050 onDoubleClicked: {
0051 mpv.playlistProxyModel.setPlayingItem(index)
0052 mpv.loadFile(path)
0053 mpv.pause = false
0054 }
0055
0056 function mainText() {
0057 const rowNumber = pad(root.rowNumber, playlistView.count.toString().length) + ". "
0058
0059 if(PlaylistSettings.showRowNumber) {
0060 return rowNumber + (PlaylistSettings.showMediaTitle ? model.title : model.name)
0061 }
0062 return (PlaylistSettings.showMediaTitle ? model.title : model.name)
0063 }
0064
0065 function pad(number, length) {
0066 while (number.length < length)
0067 number = "0" + number;
0068 return number;
0069 }
0070 }