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 }