Warning, /multimedia/amarok/src/context/applets/currenttrack/package/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 /**************************************************************************************** 0002 * Copyright (c) 2017 Malte Veerman <malte.veerman@gmail.com> * 0003 * * 0004 * This program is free software; you can redistribute it and/or modify it under * 0005 * the terms of the GNU General Public License as published by the Free Software * 0006 * Foundation; either version 2 of the License, or (at your option) any later * 0007 * version. * 0008 * * 0009 * This program is distributed in the hope that it will be useful, but WITHOUT ANY * 0010 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * 0011 * PARTICULAR PURPOSE. See the GNU General Public License for more details. * 0012 * * 0013 * You should have received a copy of the GNU General Public License along with * 0014 * this program. If not, see <http://www.gnu.org/licenses/>. * 0015 ****************************************************************************************/ 0016 0017 import QtQuick 2.4 0018 import QtQuick.Controls 2.0 0019 import QtQuick.Layouts 1.3 0020 import org.kde.kirigami 2.0 as Kirigami 0021 import org.kde.amarok.qml 1.0 as AmarokQml 0022 import org.kde.amarok.currenttrack 1.0 0023 0024 AmarokQml.Applet { 0025 id: applet 0026 0027 //album art 0028 Loader { 0029 id: cover 0030 0031 height: parent.height 0032 width: height 0033 0034 sourceComponent: CurrentTrackEngine.hasValidCover ? coverComponent : emptyComponent 0035 } 0036 0037 ColumnLayout { 0038 anchors { 0039 left: cover.right 0040 leftMargin: applet.spacing 0041 right: parent.right 0042 top: parent.top 0043 bottom: parent.bottom 0044 } 0045 0046 RowLayout { 0047 Layout.fillWidth: true 0048 Layout.fillHeight: true 0049 Layout.alignment: Qt.AlignTop 0050 0051 InfoItem { 0052 id: infoItem 0053 0054 Layout.fillHeight: true 0055 Layout.fillWidth: true 0056 Layout.alignment: Qt.AlignLeft 0057 } 0058 AmarokQml.RatingItem { 0059 id: ratingItem 0060 0061 Layout.preferredWidth: height * 6 0062 Layout.preferredHeight: parent.height / 5 0063 Layout.alignment: Qt.AlignTop | Qt.AlignRight 0064 rating: CurrentTrackEngine.rating 0065 onClicked: CurrentTrackEngine.rating = newRating 0066 } 0067 } 0068 StatsItem { 0069 id: statsItem 0070 0071 Layout.fillWidth: true 0072 Layout.alignment: Qt.AlignBottom 0073 Layout.preferredHeight: parent.height / 5 0074 } 0075 } 0076 0077 Component { 0078 id: coverComponent 0079 0080 Rectangle { 0081 id: cover 0082 0083 color: "white" 0084 radius: Kirigami.Units.smallSpacing / 2 0085 border.width: 1 0086 border.color: applet.palette.light 0087 0088 0089 AmarokQml.PixmapItem { 0090 id: iconItem 0091 0092 anchors.fill: parent 0093 anchors.margins: parent.radius 0094 source: CurrentTrackEngine.cover 0095 } 0096 } 0097 } 0098 Component { 0099 id: emptyComponent 0100 0101 AmarokQml.PixmapItem { 0102 source: Svg.renderSvg(applet.imageUrl("amarok-currenttrack.svg"), 0103 "CurrentTrack", 0104 width, 0105 height, 0106 "album_old"); 0107 } 0108 } 0109 }