Warning, /maui/vvave/src/widgets/MiniMode.qml is written in an unsupported language. File is not indexed.

0001 import QtQuick 2.14
0002 import QtQuick.Controls 2.14
0003 import QtQuick.Window 2.15
0004 
0005 import org.mauikit.controls 1.3 as Maui
0006 import org.mauikit.filebrowsing 1.3 as FB
0007 
0008 import org.maui.vvave 1.0 as Vvave
0009 
0010 import "../utils/Player.js" as Player
0011 
0012 MouseArea
0013 {
0014     id: control
0015 
0016     onDoubleClicked: toggleMiniMode()
0017     hoverEnabled: true
0018 
0019     Image
0020     {
0021         anchors.fill: parent
0022         source: "image://artwork/album:"+currentTrack.artist + ":"+ currentTrack.album
0023         fillMode: Image.PreserveAspectFit
0024     }
0025 
0026     Control
0027     {
0028         anchors.fill: parent
0029         visible: control.containsMouse
0030         background: Rectangle
0031         {
0032             color: "#000000"
0033             opacity: 0.7
0034         }
0035 
0036         Grid
0037         {
0038             anchors.centerIn: parent
0039             columns: 2
0040             rows: 2
0041             rowSpacing: Maui.Style.space.medium
0042             columnSpacing: rowSpacing
0043 
0044             ToolButton
0045             {
0046                 id: babeBtnIcon
0047                 icon.width: Maui.Style.iconSizes.big
0048                 icon.height: Maui.Style.iconSizes.big
0049                 icon.name: "love"
0050                 flat: true
0051                 enabled: root.currentTrack
0052                 checked: root.currentTrack.url ? FB.Tagging.isFav(root.currentTrack.url) : false
0053                 icon.color: checked ? babeColor :  Maui.Theme.textColor
0054 
0055                 onClicked:
0056                 {
0057                     mainPlaylist.listModel.list.fav(root.currentTrackIndex, !FB.Tagging.isFav(root.currentTrack.url))
0058                     root.currentTrackChanged()
0059                 }
0060             }
0061 
0062             ToolButton
0063             {
0064                 id: playIcon
0065                 flat: true
0066                 icon.width: Maui.Style.iconSizes.big
0067                 icon.height: Maui.Style.iconSizes.big
0068                 enabled: root.currentTrackIndex >= 0
0069                 icon.color: Maui.Theme.textColor
0070                 icon.name: player.playing ? "media-playback-pause" : "media-playback-start"
0071                 onClicked: player.playing ? player.pause() : player.play()
0072             }
0073 
0074             ToolButton
0075             {
0076                 id: nextBtn
0077                 flat: true
0078                 icon.width: Maui.Style.iconSizes.big
0079                 icon.height: Maui.Style.iconSizes.big
0080                 icon.name: "media-skip-forward"
0081                 onClicked: Player.nextTrack()
0082             }
0083 
0084             ToolButton
0085             {
0086                 id: shuffleBtn
0087                 flat: true
0088                 icon.width: Maui.Style.iconSizes.big
0089                 icon.height: Maui.Style.iconSizes.big
0090 
0091                 icon.name: switch(playlist.playMode)
0092                            {
0093                            case Vvave.Playlist.Normal: return "media-playlist-normal"
0094                            case Vvave.Playlist.Shuffle: return "media-playlist-shuffle"
0095                            case Vvave.Playlist.Repeat: return "media-playlist-repeat"
0096                            }
0097                 onClicked:
0098                 {
0099                     switch(playlist.playMode)
0100                     {
0101                     case Vvave.Playlist.Normal:
0102                         playlist.playMode = Vvave.Playlist.Shuffle
0103                         break
0104 
0105                     case Vvave.Playlist.Shuffle:
0106                         playlist.playMode = Vvave.Playlist.Repeat
0107                         break
0108 
0109 
0110                     case Vvave.Playlist.Repeat:
0111                         playlist.playMode = Vvave.Playlist.Normal
0112                         break
0113                     }
0114                 }
0115             }
0116 
0117 
0118         }
0119     }
0120     DragHandler
0121     {
0122         id: _dragHandler
0123         acceptedDevices: PointerDevice.GenericPointer
0124         grabPermissions:  PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything
0125         onActiveChanged: if (active) { root.startSystemMove(); }
0126     }
0127 }