Warning, /multimedia/elisa/src/qml/NativeGlobalMenu.qml is written in an unsupported language. File is not indexed.

0001 /*
0002    SPDX-FileCopyrightText: 2020 Carson Black <uhhadd@gmail.com>
0003 
0004    SPDX-License-Identifier: LGPL-3.0-or-later
0005  */
0006 
0007 import QtQuick 2.7
0008 import QtQuick.Window 2.7
0009 import Qt.labs.platform 1.1
0010 import org.kde.elisa 1.0
0011 
0012 MenuBar {
0013     Menu {
0014         title: i18nc("@title:menu", "File")
0015 
0016         MenuItem {
0017             text: i18nc("@action:inmenu", "Save Playlist…")
0018             icon.name: "document-save"
0019             onTriggered: {
0020                 mainWindow.fileDialog.savePlaylist()
0021             }
0022         }
0023 
0024         MenuItem {
0025             text: i18nc("@action:inmenu", "Open Playlist…")
0026             icon.name: "document-open"
0027             onTriggered: {
0028                 mainWindow.fileDialog.loadPlaylist()
0029             }
0030         }
0031 
0032         MenuItem {
0033             text: i18nc("@action:inmenu", "Reset Database and Re-Scan Everything")
0034             icon.name: "view-refresh"
0035             onTriggered: ElisaApplication.musicManager.scanCollection(MusicListenersManager.Hard)
0036         }
0037 
0038         MenuSeparator {
0039         }
0040 
0041         NativeMenuItemFromAction {
0042             elisaAction: "options_configure"
0043         }
0044 
0045         MenuSeparator {
0046         }
0047 
0048         NativeMenuItemFromAction {
0049             elisaAction: "file_quit"
0050         }
0051     }
0052     Menu {
0053         title: i18nc("@title:menu", "View")
0054 
0055         MenuItem {
0056             text: i18nc("@action:inmenu", "Toggle Party Mode")
0057             icon.name: mediaPlayerControl && mediaPlayerControl.isMaximized ? "arrow-up" : "expand"
0058             onTriggered: mediaPlayerControl.isMaximized = !mediaPlayerControl.isMaximized
0059         }
0060 
0061         MenuItem {
0062             text: mainWindow.visibility === Window.FullScreen ? i18nc("@action:inmenu", "Exit Full Screen") : i18nc("@action:inmenu", "Enter Full Screen")
0063             icon.name: mainWindow.visibility === Window.FullScreen ? "view-restore" : "view-fullscreen"
0064             onTriggered: mainWindow.visibility === Window.FullScreen ? mainWindow.restorePreviousStateBeforeFullScreen() : mainWindow.goFullScreen()
0065         }
0066 
0067         MenuItem {
0068             text: contentView.showPlaylist ? i18nc("@action:inmenu", "Hide Playlist") : i18nc("@action:inmenu", "Show Playlist")
0069             icon.name: contentView.showPlaylist ? "show-menu" : "view-media-playlist"
0070             onTriggered: contentView.showPlaylist = !contentView.showPlaylist
0071         }
0072     }
0073     Menu {
0074         title: i18nc("@title:menu", "Controls")
0075 
0076         MenuItem {
0077             text: ElisaApplication.audioControl.playerPlaybackState === 1 ? i18nc("@action:inmenu", "Pause") : i18nc("@action:inmenu", "Play")
0078             icon.name: ElisaApplication.audioControl.playerPlaybackState === 1 ? "media-playback-pause" : "media-playback-start"
0079             onTriggered: ElisaApplication.audioControl.playPause()
0080         }
0081 
0082         MenuItem {
0083             enabled: ElisaApplication.audioControl.playerPlaybackState !== 0
0084             text: i18nc("@action:inmenu", "Stop")
0085             icon.name: "media-playback-stop"
0086             onTriggered: ElisaApplication.audioControl.stop()
0087         }
0088 
0089         MenuSeparator {
0090         }
0091 
0092         MenuItem {
0093             text: i18nc("@action:inmenu", "Increase Volume")
0094             enabled: ElisaApplication.audioPlayer.volume < 100.0
0095             onTriggered: ElisaApplication.audioPlayer.setVolume(ElisaApplication.audioPlayer.volume + 5)
0096         }
0097         MenuItem {
0098             text: i18nc("@action:inmenu", "Decrease Volume")
0099             enabled: ElisaApplication.audioPlayer.volume > 0.0
0100             onTriggered: ElisaApplication.audioPlayer.setVolume(ElisaApplication.audioPlayer.volume - 5)
0101         }
0102 
0103         MenuSeparator {
0104         }
0105 
0106         Menu {
0107             id: shuffleMenu
0108             title: i18nc("@title:menu", "Shuffle")
0109 
0110             MenuItemGroup {
0111                 items: shuffleMenu.items
0112             }
0113 
0114             MenuItem {
0115                 text: i18nc("@action:inmenu shuffle mode is turned on", "On")
0116                 checkable: true
0117                 checked: ElisaApplication.mediaPlayListProxyModel.shufflePlayList
0118                 onTriggered: ElisaApplication.mediaPlayListProxyModel.shufflePlayList = true
0119             }
0120             MenuItem {
0121                 text: i18nc("@action:inmenu shuffle mode is turned off", "Off")
0122                 checkable: true
0123                 checked: !ElisaApplication.mediaPlayListProxyModel.shufflePlayList
0124                 onTriggered: ElisaApplication.mediaPlayListProxyModel.shufflePlayList = false
0125             }
0126         }
0127 
0128         Menu {
0129             id: repeatMenu
0130             title: i18nc("@title:menu", "Repeat")
0131 
0132             MenuItemGroup {
0133                 items: repeatMenu.items
0134             }
0135 
0136             NativeGlobalMenuPlaylistModeItem {
0137                 text: i18nc("@action:inmenu repeat all songs in this playlist", "Playlist")
0138                 mode: MediaPlayListProxyModel.Playlist
0139             }
0140             NativeGlobalMenuPlaylistModeItem {
0141                 text: i18nc("@action:inmenu repeat this one song", "One")
0142                 mode: MediaPlayListProxyModel.One
0143             }
0144             NativeGlobalMenuPlaylistModeItem {
0145                 text: i18nc("@action:inmenu no repeat mode set; stop playback after last song in the playlist", "None")
0146                 mode: MediaPlayListProxyModel.None
0147             }
0148         }
0149     }
0150     Menu {
0151         title: i18nc("@title:menu", "Help")
0152 
0153         NativeMenuItemFromAction {
0154             elisaAction: "help_contents"
0155         }
0156 
0157         MenuSeparator {
0158         }
0159 
0160         NativeMenuItemFromAction {
0161             elisaAction: "help_about_app"
0162         }
0163 
0164         NativeMenuItemFromAction {
0165             elisaAction: "help_about_kde"
0166         }
0167 
0168         NativeMenuItemFromAction {
0169             elisaAction: "help_report_bug"
0170         }
0171     }
0172 }