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 }