From 59a815b78399729f4591abdd4cf48a83085b7321 Mon Sep 17 00:00:00 2001 From: Benjamin Arnaud <benjamin.arnaud@videolabs.io> Date: Fri, 29 Apr 2022 11:55:08 +0200 Subject: [PATCH] qml: Create TracksPageAudio --- modules/gui/qt/Makefile.am | 1 + modules/gui/qt/player/qml/TracksPageAudio.qml | 127 ++++++++++++++++++ modules/gui/qt/vlc.qrc | 1 + po/POTFILES.in | 1 + 4 files changed, 130 insertions(+) create mode 100644 modules/gui/qt/player/qml/TracksPageAudio.qml diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am index 643d918df9ff..c27dbcfbe2cb 100644 --- a/modules/gui/qt/Makefile.am +++ b/modules/gui/qt/Makefile.am @@ -820,6 +820,7 @@ libqt_plugin_la_QML = \ gui/qt/player/qml/TopBar.qml \ gui/qt/player/qml/TrackInfo.qml \ gui/qt/player/qml/TracksPage.qml \ + gui/qt/player/qml/TracksPageAudio.qml \ gui/qt/player/qml/TracksPageSpeed.qml \ gui/qt/player/qml/TracksPageSubtitle.qml \ gui/qt/player/qml/ControlLayout.qml \ diff --git a/modules/gui/qt/player/qml/TracksPageAudio.qml b/modules/gui/qt/player/qml/TracksPageAudio.qml new file mode 100644 index 000000000000..25302e5dca92 --- /dev/null +++ b/modules/gui/qt/player/qml/TracksPageAudio.qml @@ -0,0 +1,127 @@ +/***************************************************************************** + * Copyright (C) 2022 VLC authors and VideoLAN + * + * Authors: Benjamin Arnaud <bunjee@omega.gg> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * ( at your option ) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +import QtQuick 2.11 +import QtQuick.Layouts 1.11 + +import org.videolan.vlc 0.1 + +import "qrc:///style/" +import "qrc:///widgets/" as Widgets + +TracksPage { + id: root + + // Functions + + function textFromValue(value, locale) { + return I18n.qtr("%1 ms").arg(Number(value).toLocaleString(locale, 'f', 0)) + } + + function valueFromText(text, locale) { + return Number.fromLocaleString(locale, text.substring(0, text.length - 3)) + } + + // Children + + ColumnLayout { + anchors.left: parent.left + anchors.right: parent.right + + spacing: VLCStyle.margin_xxsmall + + Widgets.SubtitleLabel { + Layout.fillWidth: true + + text: I18n.qtr("Audio track synchronization") + + color: "white" + } + + RowLayout { + Layout.fillWidth: true + Layout.topMargin: VLCStyle.margin_large + + spacing: VLCStyle.margin_xsmall + + Widgets.MenuCaption { + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + + text: I18n.qtr("Audio track delay") + + color: "white" + } + + Widgets.TransparentSpinBox { + id: spinBox + + property bool update: false + + Layout.preferredWidth: VLCStyle.dp(128, VLCStyle.scale) + + stepSize: 50 + from: -10000 + + textFromValue: root.textFromValue + valueFromText: root.valueFromText + + Navigation.parentItem: root + Navigation.rightItem: reset + + Component.onCompleted: { + value = Player.audioDelayMS + + update = true + } + + onValueChanged: { + if (update === false) + return + + Player.audioDelayMS = value + } + + Connections { + target: Player + + onAudioDelayChanged: { + spinBox.update = false + + spinBox.value = Player.audioDelayMS + + spinBox.update = true + } + } + } + + Widgets.ActionButtonOverlay { + id: reset + + text: I18n.qtr("Reset") + + onClicked: spinBox.value = 0 + + Navigation.parentItem: root + Navigation.leftItem: spinBox + } + } + } +} diff --git a/modules/gui/qt/vlc.qrc b/modules/gui/qt/vlc.qrc index 1c2d26557eff..654833fca338 100644 --- a/modules/gui/qt/vlc.qrc +++ b/modules/gui/qt/vlc.qrc @@ -348,6 +348,7 @@ <file alias="TrackInfo.qml">player/qml/TrackInfo.qml</file> <file alias="TracksPage.qml">player/qml/TracksPage.qml</file> <file alias="TracksPageSpeed.qml">player/qml/TracksPageSpeed.qml</file> + <file alias="TracksPageAudio.qml">player/qml/TracksPageAudio.qml</file> <file alias="TracksPageSubtitle.qml">player/qml/TracksPageSubtitle.qml</file> <file alias="ControlbarControls.qml">player/qml/ControlbarControls.qml</file> <file alias="MiniPlayer.qml">player/qml/MiniPlayer.qml</file> diff --git a/po/POTFILES.in b/po/POTFILES.in index 21f94ee7ab69..9dc15c38b8c4 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -873,6 +873,7 @@ modules/gui/qt/player/qml/LanguageMenu.qml modules/gui/qt/player/qml/Player.qml modules/gui/qt/player/qml/ResumeDialog.qml modules/gui/qt/player/qml/TopBar.qml +modules/gui/qt/player/qml/TracksPageAudio.qml modules/gui/qt/player/qml/TracksPageSubtitle.qml modules/gui/qt/player/qml/controlbarcontrols/TeletextWidget.qml modules/gui/qt/player/qml/controlbarcontrols/VolumeWidget.qml -- GitLab