Warning, /multimedia/haruna/src/qml/MenuBarLoader.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2023 George Florea Bănuș <georgefb899@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 import QtQuick 0008 import QtQuick.Controls as QQC2 0009 import Qt.labs.platform as Platform 0010 0011 import org.kde.kirigami as Kirigami 0012 0013 import org.kde.haruna 0014 import org.kde.haruna.settings 0015 0016 Loader { 0017 id: root 0018 0019 property bool showGlobalMenu: app.platformName() !== "windows" 0020 && Kirigami.Settings.hasPlatformMenuBar 0021 && !Kirigami.Settings.isMobile 0022 0023 state: !window.isFullScreen() && GeneralSettings.showMenuBar ? "visible" : "hidden" 0024 sourceComponent: showGlobalMenu ? globalMenuBarComponent : menuBarComponent 0025 0026 onVisibleChanged: { 0027 window.resizeWindow() 0028 } 0029 0030 Component { 0031 id: menuBarComponent 0032 0033 QQC2.MenuBar { 0034 hoverEnabled: true 0035 Kirigami.Theme.colorSet: Kirigami.Theme.Header 0036 0037 FileMenu {} 0038 ViewMenu {} 0039 PlaybackMenu {} 0040 VideoMenu {} 0041 SubtitlesMenu {} 0042 AudioMenu {} 0043 SettingsMenu {} 0044 HelpMenu {} 0045 } 0046 } 0047 0048 Component { 0049 id: globalMenuBarComponent 0050 0051 Platform.MenuBar { 0052 GlobalFileMenu {} 0053 GlobalViewMenu {} 0054 GlobalPlaybackMenu {} 0055 GlobalVideoMenu {} 0056 GlobalSubtitlesMenu {} 0057 GlobalAudioMenu {} 0058 GlobalSettingsMenu {} 0059 GlobalHelpMenu {} 0060 } 0061 } 0062 0063 states: [ 0064 State { 0065 name: "hidden" 0066 PropertyChanges { 0067 target: root 0068 height: 0 0069 opacity: 0 0070 visible: false 0071 } 0072 }, 0073 State { 0074 name : "visible" 0075 PropertyChanges { 0076 target: root 0077 height: root.implicitHeight 0078 opacity: 1 0079 visible: true 0080 } 0081 } 0082 ] 0083 0084 transitions: [ 0085 Transition { 0086 from: "visible" 0087 to: "hidden" 0088 0089 SequentialAnimation { 0090 ParallelAnimation { 0091 NumberAnimation { 0092 target: root 0093 property: "opacity" 0094 duration: Kirigami.Units.veryShortDuration 0095 easing.type: Easing.Linear 0096 } 0097 NumberAnimation { 0098 target: root 0099 property: "height" 0100 duration: Kirigami.Units.veryShortDuration 0101 easing.type: Easing.Linear 0102 } 0103 } 0104 PropertyAction { 0105 target: root 0106 property: "visible" 0107 value: false 0108 } 0109 } 0110 }, 0111 Transition { 0112 from: "hidden" 0113 to: "visible" 0114 0115 SequentialAnimation { 0116 PropertyAction { 0117 target: root 0118 property: "visible" 0119 value: true 0120 } 0121 ParallelAnimation { 0122 NumberAnimation { 0123 target: root 0124 property: "height" 0125 duration: Kirigami.Units.veryShortDuration 0126 easing.type: Easing.Linear 0127 } 0128 NumberAnimation { 0129 target: root 0130 property: "opacity" 0131 duration: Kirigami.Units.veryShortDuration 0132 easing.type: Easing.Linear 0133 } 0134 } 0135 } 0136 } 0137 ] 0138 }