97 lines
3.1 KiB
QML
97 lines
3.1 KiB
QML
// SPDX-FileCopyrightText: 2020 George Florea Bănuș <georgefb899@gmail.com>
|
|
// 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
|
|
|
|
Menu {
|
|
id: menu
|
|
|
|
y: root.inFooter ? -height - Kirigami.Units.largeSpacing : root.height + Kirigami.Units.largeSpacing
|
|
modal: true
|
|
dim: false
|
|
|
|
MenuItem {
|
|
action: root.actions.openFile
|
|
visible: root.inFooter
|
|
height: visible ? implicitHeight : 0
|
|
}
|
|
MenuItem {
|
|
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 {}
|
|
MenuItem { action: root.actions.translateSubtitle }
|
|
MenuItem { action: root.actions.toggleFullscreen }
|
|
MenuItem { action: root.actions.togglePlaylist }
|
|
MenuItem { action: root.actions.screenshot }
|
|
MenuSeparator {}
|
|
MenuItem {
|
|
action: root.actions.configure
|
|
visible: root.inFooter
|
|
height: visible ? implicitHeight : 0
|
|
}
|
|
MenuItem { action: root.actions.toggleMenuBar }
|
|
MenuItem { action: root.actions.about }
|
|
MenuSeparator {}
|
|
Menu {
|
|
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 }
|
|
}
|
|
}
|
|
}
|