From 4f60ee4bdb5f381428fd19d2694feff05457b643 Mon Sep 17 00:00:00 2001 From: Prince Gupta Date: Mon, 8 Feb 2021 19:44:06 +0530 Subject: [PATCH] qml: remove autoHide from ControlBar Signed-off-by: Pierre Lamot --- modules/gui/qt/player/qml/ControlBar.qml | 7 ++++--- modules/gui/qt/player/qml/ControlButtons.qml | 15 +++++++++------ modules/gui/qt/player/qml/Player.qml | 18 ++++-------------- modules/gui/qt/player/qml/PlayerButtonsLayout.qml | 4 ++++ 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/modules/gui/qt/player/qml/ControlBar.qml b/modules/gui/qt/player/qml/ControlBar.qml index cbf00ab26b..705c7b197c 100644 --- a/modules/gui/qt/player/qml/ControlBar.qml +++ b/modules/gui/qt/player/qml/ControlBar.qml @@ -42,9 +42,8 @@ Widgets.NavigableFocusScope { readonly property alias sliderY: row2.y property int textPosition: ControlBar.TimeTextPosition.AboveSlider property VLCColors colors: VLCStyle.nightColors - property bool autoHide: _lockAutoHide === 0 && !lockAutoHide - property bool lockAutoHide: false - property int _lockAutoHide: 0 //count the number of element locking the autoHide + + signal requestLockUnlockAutoHide(bool lock, var source) Keys.priority: Keys.AfterItem Keys.onPressed: defaultKeyAction(event, 0) @@ -149,6 +148,8 @@ Widgets.NavigableFocusScope { navigationUpItem: trackPositionSlider.enabled ? trackPositionSlider : root.navigationUpItem colors: root.colors + + onRequestLockUnlockAutoHide: root.requestLockUnlockAutoHide(lock, source) } } } diff --git a/modules/gui/qt/player/qml/ControlButtons.qml b/modules/gui/qt/player/qml/ControlButtons.qml index 9729bc537f..d961d1f53c 100644 --- a/modules/gui/qt/player/qml/ControlButtons.qml +++ b/modules/gui/qt/player/qml/ControlButtons.qml @@ -33,6 +33,8 @@ Item{ property bool isMiniplayer: false property var parentWindow: undefined + signal requestLockUnlockAutoHide(bool lock, var source) + property var buttonL: [ { id: PlayerControlBarModel.PLAY_BUTTON, label: VLCIcons.play, text: i18n.qtr("Play")}, { id: PlayerControlBarModel.STOP_BUTTON, label: VLCIcons.stop, text: i18n.qtr("Stop")}, @@ -432,10 +434,7 @@ Item{ size: VLCStyle.icon_medium iconText: VLCIcons.audiosub - onClicked: { - root._lockAutoHide += 1 - langMenu.open() - } + onClicked: langMenu.open() text: i18n.qtr("Languages and tracks") @@ -448,9 +447,13 @@ Item{ y: (!!rootPlayer) ? (rootPlayer.positionSliderY - height) : 0 z: 1 - onOpened: rootPlayer._menu = langMenu + onOpened: { + controlButtons.requestLockUnlockAutoHide(true, controlButtons) + rootPlayer._menu = langMenu + } + onMenuClosed: { - root._lockAutoHide -= 1 + controlButtons.requestLockUnlockAutoHide(false, controlButtons) langBtn.forceActiveFocus() rootPlayer._menu = undefined } diff --git a/modules/gui/qt/player/qml/Player.qml b/modules/gui/qt/player/qml/Player.qml index ac8862191b..b98c55bfe2 100644 --- a/modules/gui/qt/player/qml/Player.qml +++ b/modules/gui/qt/player/qml/Player.qml @@ -432,7 +432,6 @@ Widgets.NavigableFocusScope { Widgets.DrawerExt { id: controlBarView - property var autoHide: controlBarView.contentItem.autoHide readonly property int sliderY: contentItem.sliderY anchors { @@ -447,13 +446,14 @@ Widgets.NavigableFocusScope { component: MouseArea { id: controllerMouseArea - property alias autoHide: controllerId.autoHide readonly property alias sliderY: controllerId.sliderY height: controllerId.implicitHeight + controllerId.anchors.bottomMargin width: controlBarView.width hoverEnabled: true + onContainsMouseChanged: rootPlayer.lockUnlockAutoHide(containsMouse, topcontrolView) + ControlBar { id: controllerId focus: true @@ -462,18 +462,10 @@ Widgets.NavigableFocusScope { anchors.rightMargin: VLCStyle.applicationHorizontalMargin anchors.bottomMargin: VLCStyle.applicationVerticalMargin colors: rootPlayer.colors - - lockAutoHide: playlistpopup.state === "visible" - || !player.hasVideoOutput - || !rootPlayer.hasEmbededVideo - || controllerMouseArea.containsMouse - onAutoHideChanged: { - if (autoHide) - toolbarAutoHide.restart() - } - navigationParent: rootPlayer navigationUpItem: playlistpopup.showPlaylist ? playlistpopup : (audioControls.visible ? audioControls : topcontrolView) + + onRequestLockUnlockAutoHide: rootPlayer.lockUnlockAutoHide(lock, source) } } } @@ -549,8 +541,6 @@ Widgets.NavigableFocusScope { { if (!rootPlayer._autoHide) return; - if (!controlBarView.autoHide) - return; controlBarView.state = "hidden" topcontrolView.state = "hidden" videoSurface.forceActiveFocus() diff --git a/modules/gui/qt/player/qml/PlayerButtonsLayout.qml b/modules/gui/qt/player/qml/PlayerButtonsLayout.qml index a4c0dc56b0..ec531b5494 100644 --- a/modules/gui/qt/player/qml/PlayerButtonsLayout.qml +++ b/modules/gui/qt/player/qml/PlayerButtonsLayout.qml @@ -43,6 +43,8 @@ Widgets.NavigableFocusScope { property real spacing: VLCStyle.margin_normal // spacing between controls property real layoutSpacing: VLCStyle.margin_xlarge // spacing between layouts (left, center, and right) + signal requestLockUnlockAutoHide(bool lock, var source) + enum Alignment { Left = 0, Center = 1, @@ -66,6 +68,8 @@ Widgets.NavigableFocusScope { isMiniplayer: false parentWindow: g_root + + onRequestLockUnlockAutoHide: playerButtonsLayout.requestLockUnlockAutoHide(lock, source) } ButtonsLayout { -- 2.11.4.GIT