Warning, /multimedia/elisa/src/qml/PlatformIntegration.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2017 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr>
0003
0004 SPDX-License-Identifier: LGPL-3.0-or-later
0005 */
0006
0007 import QtQuick 2.7
0008 import Qt.labs.platform 1.1 as NativeMenu
0009 import org.kde.elisa 1.0
0010
0011 Item {
0012 id: rootItem
0013
0014 property alias playListModel: mpris2Interface.playListModel
0015 property alias audioPlayerManager: mpris2Interface.audioPlayerManager
0016 property alias player: mpris2Interface.audioPlayer
0017 property alias headerBarManager: mpris2Interface.headerBarManager
0018 property alias manageMediaPlayerControl: mpris2Interface.manageMediaPlayerControl
0019 property alias showProgressOnTaskBar: mpris2Interface.showProgressOnTaskBar
0020 property bool showSystemTrayIcon
0021 property var elisaMainWindow
0022 property bool forceCloseWindow: false
0023
0024 signal raisePlayer()
0025
0026 Connections {
0027 target: elisaMainWindow
0028
0029 function onClosing(close) {
0030 if (systemTrayIcon.available && showSystemTrayIcon && !forceCloseWindow) {
0031 close.accepted = false
0032 elisaMainWindow.hide()
0033 }
0034 }
0035 }
0036
0037 Connections {
0038 target: ElisaApplication
0039
0040 function onCommitDataRequest() {
0041 forceCloseWindow = true
0042 }
0043 }
0044
0045 NativeGlobalMenu {
0046 id: globalMenu
0047 }
0048
0049 Mpris2 {
0050 id: mpris2Interface
0051
0052 playerName: 'elisa'
0053
0054 onRaisePlayer:
0055 {
0056 rootItem.raisePlayer()
0057 }
0058 }
0059
0060 NativeMenu.SystemTrayIcon {
0061 id: systemTrayIcon
0062
0063 icon.name: "elisa-symbolic"
0064 tooltip: mainWindow.title
0065 visible: available && showSystemTrayIcon && !mainWindow.visible
0066
0067 menu: NativeTrayMenu {
0068 id: exportedMenu
0069 }
0070
0071 onActivated: reason => {
0072 if (reason === NativeMenu.SystemTrayIcon.Trigger) {
0073 raisePlayer();
0074 }
0075 }
0076
0077 Component.onCompleted: {
0078 exportedMenu.visible = false
0079 exportedMenu.enabled = false
0080 }
0081 }
0082 }