// SPDX-FileCopyrightText: 2020 George Florea Bănuș // SPDX-FileCopyrightText: 2026 Tri Vo Khac // SPDX-License-Identifier: GPL-3.0-or-later import QtQuick import QtQuick.Controls import org.kde.ki18n import org.kde.kirigami as Kirigami // The application menu button, used when the menu bar is hidden. ToolButton { id: root required property Actions actions required property MpvItem mpv // In the footer the menu opens upwards and also offers what the header would. property bool inFooter: false readonly property alias isOpen: menu.visible icon.name: "application-menu" text: KI18n.i18nc("@action:button", "Main Menu") display: AbstractButton.IconOnly focusPolicy: Qt.NoFocus down: menu.visible // The menu is modal, so a click outside it (also on this button) only closes it. onPressed: menu.open() ToolTip.text: text ToolTip.visible: hovered && !menu.visible ToolTip.delay: Kirigami.Units.toolTipDelay AppMenu { id: menu y: root.inFooter ? -height - Kirigami.Units.largeSpacing : root.height + Kirigami.Units.largeSpacing modal: true dim: false AppMenuItem { action: root.actions.openFile visible: root.inFooter height: visible ? implicitHeight : 0 } AppMenuItem { action: root.actions.openUrl visible: root.inFooter height: visible ? implicitHeight : 0 } RecentFilesMenu { actions: root.actions } SubtitleTracksMenu { mpv: root.mpv isPrimary: true title: KI18n.i18nc("@title:menu", "Primary Subtitle") } SubtitleTracksMenu { mpv: root.mpv isPrimary: false title: KI18n.i18nc("@title:menu", "Secondary Subtitle") } AudioTracksMenu { mpv: root.mpv title: KI18n.i18nc("@title:menu", "Audio Track") } MenuSeparator {} AppMenuItem { action: root.actions.translateSubtitle } AppMenuItem { action: root.actions.toggleFullscreen } AppMenuItem { action: root.actions.togglePlaylist } AppMenuItem { action: root.actions.screenshot } MenuSeparator {} AppMenuItem { action: root.actions.configure visible: root.inFooter height: visible ? implicitHeight : 0 } AppMenuItem { action: root.actions.toggleMenuBar } AppMenuItem { action: root.actions.about } MenuSeparator {} AppMenu { title: KI18n.i18nc("@title:menu", "&More") FileMenu { actions: root.actions } ViewMenu { actions: root.actions } PlaybackMenu { actions: root.actions } VideoMenu { actions: root.actions } SubtitlesMenu { actions: root.actions mpv: root.mpv } AudioMenu { actions: root.actions mpv: root.mpv } SettingsMenu { actions: root.actions } HelpMenu { actions: root.actions } } } }