Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
  • abdsaber000/vlc
404 results
Show changes
Commits on Source (9)
......@@ -913,6 +913,7 @@ libqt_plugin_la_QML = \
gui/qt/player/qml/controlbarcontrols/SnapshotButton.qml \
gui/qt/player/qml/controlbarcontrols/SpacerWidget.qml \
gui/qt/player/qml/controlbarcontrols/StopButton.qml \
gui/qt/player/qml/controlbarcontrols/TeletextButton.qml \
gui/qt/player/qml/controlbarcontrols/TeletextWidget.qml \
gui/qt/player/qml/controlbarcontrols/VolumeWidget.qml \
gui/qt/player/qml/controlbarcontrols/Fallback.qml \
......
......@@ -69,6 +69,10 @@ bool ControlListFilter::filterAcceptsRow(int source_row, const QModelIndex &) co
{
return m_player->hasPrograms();
}
else if (type == ControlListModel::TELETEXT_BUTTONS)
{
return m_player->isTeletextAvailable();
}
return true;
}
......
......@@ -58,8 +58,8 @@ QtObject {
{ id: ControlListModel.VOLUME, file: "VolumeWidget.qml", label: VLCIcons.volume_high, text: I18n.qtr("Volume Widget") },
{ id: ControlListModel.NAVIGATION_BUTTONS, file: "NavigationWidget.qml", label: VLCIcons.dvd_menu, text: I18n.qtr("Navigation") },
{ id: ControlListModel.DVD_MENUS_BUTTON, file: "DvdMenuButton.qml", label: VLCIcons.dvd_menu, text: I18n.qtr("DVD menus") },
{ id: ControlListModel.TELETEXT_BUTTONS, file: "TeletextWidget.qml", label: VLCIcons.tvtelx, text: I18n.qtr("Teletext") },
{ id: ControlListModel.PROGRAM_BUTTON, file: "ProgramButton.qml", label: VLCIcons.bookmark, text: I18n.qtr("Program Button") },
{ id: ControlListModel.TELETEXT_BUTTONS, file: "TeletextButton.qml", label: VLCIcons.tvtelx, text: I18n.qtr("Teletext") },
{ id: ControlListModel.RENDERER_BUTTON, file: "RendererButton.qml", label: VLCIcons.renderer, text: I18n.qtr("Renderer Button") },
{ id: ControlListModel.ASPECT_RATIO_COMBOBOX, file: "AspectRatioWidget.qml", label: VLCIcons.aspect_ratio, text: I18n.qtr("Aspect Ratio") },
{ id: ControlListModel.WIDGET_SPACER, file: "SpacerWidget.qml", label: VLCIcons.space, text: I18n.qtr("Spacer") },
......
......@@ -202,7 +202,7 @@ ColumnLayout {
focus: true
Navigation.parentItem: rowB
Navigation.parentItem: rowA
Navigation.downItem: slider
onClicked: slider.value = 0
......@@ -333,12 +333,10 @@ ColumnLayout {
bgColor: root.colors.button
borderColor: root.colors.buttonBorder
// NOTE: Applying the right theme to the ComboBox.
Navigation.parentItem: rowB
// NOTE: This makes the navigation convenient since 'up' is changing the comboBox value.
// NOTE: This makes the navigation possible since 'up' is changing the comboBox value.
Navigation.leftItem: slider
Navigation.rightItem: slider
Component.onCompleted: {
for (var i = 0; i < _model.length; i++) {
......
......@@ -41,6 +41,10 @@ Templates.Pane {
readonly property string _controlPath : "qrc:///player/controlbarcontrols/"
// Signals
signal requestLockUnlockAutoHide(bool lock)
// Settings
implicitWidth: contentWidth + leftPadding + rightPadding
......@@ -65,6 +69,16 @@ Templates.Pane {
item.Navigation.parentItem = Qt.binding(function() { return loader })
}
function _applyItemLock(loader, item) {
if (item === null) return
_applyItem(loader, item)
item.requestLockUnlockAutoHide.connect(function(lock) {
controlLayout.requestLockUnlockAutoHide(lock)
})
}
// Children
Row {
......@@ -77,6 +91,9 @@ Templates.Pane {
anchors.verticalCenter: parent.verticalCenter
// NOTE: This is required for the implicitWidth.
visible: (source != "")
focus: (item && item.enabled)
// NOTE: We display the 'menu button' as a placeholder for the customize dialog.
......@@ -102,6 +119,9 @@ Templates.Pane {
anchors.verticalCenter: parent.verticalCenter
// NOTE: This is required for the implicitWidth.
visible: (source != "")
focus: (item && item.enabled && loaderA.focus === false)
source: (Player.hasPrograms
......@@ -113,15 +133,7 @@ Templates.Pane {
Navigation.leftItem: loaderA.item
Navigation.rightItem: loaderC.item
onLoaded: {
if (item === null) return
_applyItem(loaderB, item)
item.requestLockUnlockAutoHide.connect(function(lock) {
controlLayout.requestLockUnlockAutoHide(lock)
})
}
onLoaded: _applyItemLock(loaderB, item)
}
Loader {
......@@ -129,18 +141,21 @@ Templates.Pane {
anchors.verticalCenter: parent.verticalCenter
// NOTE: This is required for the implicitWidth.
visible: (source != "")
focus: (item && item.enabled && (loaderA.focus === false && loaderB.focus === false))
source: (Player.isTeletextAvailable
&&
root.paintOnly === false) ? root._controlPath + "TeletextWidget.qml" : ""
root.paintOnly == false) ? _controlPath + "TeletextButton.qml" : ""
Navigation.parentItem: root
Navigation.leftItem: (loaderB.item) ? loaderB.item
: loaderA.item
onLoaded: if (item) _applyItem(loaderC, item)
onLoaded: _applyItemLock(loaderC, item)
}
}
}
......@@ -38,6 +38,20 @@ Widgets.IconControlButton {
color: (popup.visible) ? colors.accent : colors.playerControlBarFg
// FIXME: We can't use upItem because a Popup is not an Item.
Navigation.upAction: function() {
if (popup.visible) {
popup.forceActiveFocus(Qt.TabFocusReason)
return
}
var parent = Navigation.parentItem;
if (parent)
parent.Navigation.defaultNavigationUp()
}
onClicked: popup.open()
Popup {
......@@ -115,6 +129,9 @@ Widgets.IconControlButton {
colors: root.colors
Navigation.parentItem: root
// NOTE: Mapping the right direction because the down action triggers the ComboBox.
Navigation.rightItem: root
}
}
......
/*****************************************************************************
* Copyright (C) 2019 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.Controls 2.4
import org.videolan.vlc 0.1
import "qrc:///style/"
import "qrc:///widgets/" as Widgets
import "qrc:///util/Helpers.js" as Helpers
Widgets.IconControlButton {
id: root
// Signals
signal requestLockUnlockAutoHide(bool lock)
// Properties
// Private
readonly property bool _isCurrentViewPlayer: (paintOnly === false
&&
History.current.name === "player")
// Settings
enabled: Player.isTeletextAvailable
iconText: VLCIcons.tv
text: I18n.qtr("Teletext")
color: (popup.visible) ? colors.accent : colors.playerControlBarFg
// FIXME: We can't use upItem because a Popup is not an Item.
Navigation.upAction: function() {
if (popup.visible) {
popup.forceActiveFocus(Qt.TabFocusReason)
return
}
var parent = Navigation.parentItem;
if (parent)
parent.Navigation.defaultNavigationUp()
}
// Events
onClicked: popup.open()
// Connections
Connections {
target: (popup.visible) ? popup.parent : null
onWidthChanged: _updatePosition()
onHeightChanged: _updatePosition()
}
// Functions
// Private
function _updatePosition() {
var parent = popup.parent
var position = parent.mapFromItem(root, x, y)
var popupX = Math.round(position.x - ((popup.width - width) / 2))
var minimum = VLCStyle.applicationHorizontalMargin + VLCStyle.margin_xxsmall
var maximum = parent.width - popup.width - minimum
popup.x = Helpers.clamp(popupX, minimum, maximum)
popup.y = position.y - popup.height - VLCStyle.margin_xxsmall
}
// Children
Popup {
id: popup
parent: (root._isCurrentViewPlayer) ? rootPlayer : g_root
width: VLCStyle.dp(256, VLCStyle.scale)
height: implicitHeight
padding: VLCStyle.margin_small
z: 1
focus: true
modal: true
// NOTE: Popup.CloseOnPressOutside doesn't work with non-model Popup on Qt < 5.15.
closePolicy: (Popup.CloseOnPressOutside | Popup.CloseOnEscape)
Overlay.modal: null
onOpened: {
root._updatePosition()
root.requestLockUnlockAutoHide(true)
if (root._isCurrentViewPlayer)
rootPlayer.menu = popup
}
onClosed: {
root.requestLockUnlockAutoHide(false)
root.forceActiveFocus()
if (root._isCurrentViewPlayer)
rootPlayer.menu = undefined
}
onWidthChanged: if (visible) root._updatePosition()
onHeightChanged: if (visible) root._updatePosition()
background: Rectangle {
opacity: 0.85
color: colors.bg
}
contentItem: TeletextWidget {
colors: root.colors
Navigation.parentItem: root
Navigation.downItem: root
}
}
}
......@@ -29,230 +29,225 @@ T.Pane {
id: root
property VLCColors colors: VLCStyle.colors
property bool paintOnly: false
enabled: Player.isTeletextAvailable
implicitWidth: Math.max(background ? background.implicitWidth : 0,
contentWidth + leftPadding + rightPadding)
implicitWidth: Math.max(background ? background.implicitWidth : 0, contentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0, contentHeight + topPadding + bottomPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0,
contentHeight + topPadding + bottomPadding)
contentWidth: teleWidget.implicitWidth
contentHeight: teleWidget.implicitHeight
contentWidth: column.implicitWidth
contentHeight: column.implicitHeight
Keys.priority: Keys.AfterItem
Keys.onPressed: Navigation.defaultKeyAction(event)
Row {
id: teleWidget
anchors.fill: parent
Column {
id: column
Widgets.IconControlButton{
id: teleActivateBtn
spacing: VLCStyle.margin_small
paintOnly: root.paintOnly
Widgets.SubtitleLabel {
text: I18n.qtr("Teletext")
checked: Player.teletextEnabled
focus: true
iconText: VLCIcons.tv
text: I18n.qtr("Teletext activate")
colors: root.colors
color: colors.text
T.ToolTip.visible: hovered || visualFocus
color: root.colors.text
}
Navigation.parentItem: root
Navigation.rightItem: teleTransparencyBtn
Row {
Widgets.IconControlButton{
id: teleActivateBtn
onClicked: Player.teletextEnabled = !Player.teletextEnabled
}
checked: Player.teletextEnabled
Widgets.IconControlButton{
id: teleTransparencyBtn
focus: true
paintOnly: root.paintOnly
iconText: VLCIcons.tv
text: I18n.qtr("Teletext activate")
enabled: teleActivateBtn.checked
colors: root.colors
color: colors.text
opacity: 0.5
T.ToolTip.visible: hovered || visualFocus
iconText: VLCIcons.tvtelx
text: I18n.qtr("Teletext transparency")
Navigation.parentItem: root
Navigation.rightItem: teleTransparencyBtn
colors: root.colors
color: colors.text
onClicked: Player.teletextEnabled = !Player.teletextEnabled
}
T.ToolTip.visible: hovered || visualFocus
Widgets.IconControlButton{
id: teleTransparencyBtn
Navigation.parentItem: root
Navigation.leftItem: teleActivateBtn
Navigation.rightItem: telePageNumber
enabled: teleActivateBtn.checked
onClicked: Player.teletextTransparency = !Player.teletextTransparency
}
opacity: 0.5
Widgets.SpinBoxExt{
id: telePageNumber
iconText: VLCIcons.tvtelx
text: I18n.qtr("Teletext transparency")
// NOTE: We want a fixed size for the TextInput.
width: VLCStyle.dp(64, VLCStyle.scale)
colors: root.colors
color: colors.text
enabled: teleActivateBtn.checked
T.ToolTip.visible: hovered || visualFocus
from: 100
to: 899
Navigation.parentItem: root
Navigation.leftItem: teleActivateBtn
Navigation.rightItem: telePageNumber
validator: IntValidator {
bottom: telePageNumber.from
top: telePageNumber.to
onClicked: Player.teletextTransparency = !Player.teletextTransparency
}
editable: true
textColor: colors.text
bgColor: colors.bg
Navigation.parentItem: root
Navigation.leftItem: teleTransparencyBtn
Navigation.rightItem: indexKeyBtn
Widgets.SpinBoxExt{
id: telePageNumber
//only update the player teletext page when the user change the value manually
property bool inhibitPageUpdate: true
// NOTE: We want a fixed size for the TextInput.
width: VLCStyle.dp(64, VLCStyle.scale)
onValueChanged: {
if (inhibitPageUpdate)
return
Player.teletextPage = value
}
enabled: teleActivateBtn.checked
Component.onCompleted: {
value = Player.teletextPage
inhibitPageUpdate = false
}
from: 100
to: 899
Connections {
target: Player
onTeletextPageChanged: {
telePageNumber.inhibitPageUpdate = true
telePageNumber.value = Player.teletextPage
telePageNumber.inhibitPageUpdate = false
validator: IntValidator {
bottom: telePageNumber.from
top: telePageNumber.to
}
}
}
Widgets.IconControlButton{
id: indexKeyBtn
editable: true
textColor: colors.text
bgColor: colors.bg
paintOnly: root.paintOnly
Navigation.parentItem: root
Navigation.leftItem: teleTransparencyBtn
Navigation.rightItem: indexKeyBtn
enabled: teleActivateBtn.checked
//only update the player teletext page when the user change the value manually
property bool inhibitPageUpdate: true
iconText: VLCIcons.record
text: I18n.qtr("Index key")
onValueChanged: {
if (inhibitPageUpdate)
return
Player.teletextPage = value
}
colors: root.colors
color: "grey"
colorDisabled: "grey"
Component.onCompleted: {
value = Player.teletextPage
inhibitPageUpdate = false
}
T.ToolTip.visible: hovered || visualFocus
Connections {
target: Player
onTeletextPageChanged: {
telePageNumber.inhibitPageUpdate = true
telePageNumber.value = Player.teletextPage
telePageNumber.inhibitPageUpdate = false
}
}
}
Navigation.parentItem: root
Navigation.leftItem: telePageNumber
Navigation.rightItem: redKeyBtn
Widgets.IconControlButton{
id: indexKeyBtn
onClicked: Player.teletextPage = Player.TELE_INDEX
}
enabled: teleActivateBtn.checked
Widgets.IconControlButton{
id: redKeyBtn
iconText: VLCIcons.record
text: I18n.qtr("Index key")
paintOnly: root.paintOnly
colors: root.colors
color: "grey"
colorDisabled: "grey"
enabled: teleActivateBtn.checked
T.ToolTip.visible: hovered || visualFocus
iconText: VLCIcons.record
text: I18n.qtr("Red key")
Navigation.parentItem: root
Navigation.leftItem: telePageNumber
Navigation.rightItem: redKeyBtn
colors: root.colors
color: "red"
colorDisabled: "grey"
onClicked: Player.teletextPage = Player.TELE_INDEX
}
T.ToolTip.visible: hovered || visualFocus
Widgets.IconControlButton{
id: redKeyBtn
Navigation.parentItem: root
Navigation.leftItem: indexKeyBtn
Navigation.rightItem: greenKeyBtn
enabled: teleActivateBtn.checked
onClicked: Player.teletextPage = Player.TELE_RED
}
iconText: VLCIcons.record
text: I18n.qtr("Red key")
Widgets.IconControlButton{
id: greenKeyBtn
colors: root.colors
color: "red"
colorDisabled: "grey"
paintOnly: root.paintOnly
T.ToolTip.visible: hovered || visualFocus
enabled: teleActivateBtn.checked
Navigation.parentItem: root
Navigation.leftItem: indexKeyBtn
Navigation.rightItem: greenKeyBtn
iconText: VLCIcons.record
text: I18n.qtr("Green key")
onClicked: Player.teletextPage = Player.TELE_RED
}
colors: root.colors
color: "green"
colorDisabled: "grey"
Widgets.IconControlButton{
id: greenKeyBtn
T.ToolTip.visible: hovered || visualFocus
enabled: teleActivateBtn.checked
Navigation.parentItem: root
Navigation.leftItem: redKeyBtn
Navigation.rightItem: yellowKeyBtn
iconText: VLCIcons.record
text: I18n.qtr("Green key")
onClicked: Player.teletextPage = Player.TELE_GREEN
}
colors: root.colors
color: "green"
colorDisabled: "grey"
Widgets.IconControlButton{
id: yellowKeyBtn
T.ToolTip.visible: hovered || visualFocus
paintOnly: root.paintOnly
Navigation.parentItem: root
Navigation.leftItem: redKeyBtn
Navigation.rightItem: yellowKeyBtn
enabled: teleActivateBtn.checked
onClicked: Player.teletextPage = Player.TELE_GREEN
}
iconText: VLCIcons.record
text: I18n.qtr("Yellow key")
Widgets.IconControlButton{
id: yellowKeyBtn
colors: root.colors
color: "yellow"
colorDisabled: "grey"
enabled: teleActivateBtn.checked
T.ToolTip.visible: hovered || visualFocus
iconText: VLCIcons.record
text: I18n.qtr("Yellow key")
Navigation.parentItem: root
Navigation.leftItem: greenKeyBtn
Navigation.rightItem: blueKeyBtn
colors: root.colors
color: "yellow"
colorDisabled: "grey"
onClicked: Player.teletextPage = Player.TELE_YELLOW
}
T.ToolTip.visible: hovered || visualFocus
Widgets.IconControlButton{
id: blueKeyBtn
Navigation.parentItem: root
Navigation.leftItem: greenKeyBtn
Navigation.rightItem: blueKeyBtn
paintOnly: root.paintOnly
onClicked: Player.teletextPage = Player.TELE_YELLOW
}
Widgets.IconControlButton{
id: blueKeyBtn
enabled: teleActivateBtn.checked
enabled: teleActivateBtn.checked
iconText: VLCIcons.record
text: I18n.qtr("Blue key")
iconText: VLCIcons.record
text: I18n.qtr("Blue key")
colors: root.colors
color: "blue"
colorDisabled: "grey"
colors: root.colors
color: "blue"
colorDisabled: "grey"
T.ToolTip.visible: hovered || visualFocus
T.ToolTip.visible: hovered || visualFocus
Navigation.parentItem: root
Navigation.leftItem: yellowKeyBtn
Navigation.parentItem: root
Navigation.leftItem: yellowKeyBtn
onClicked: Player.teletextPage = Player.TELE_BLUE
onClicked: Player.teletextPage = Player.TELE_BLUE
}
}
}
}
......@@ -345,6 +345,7 @@
<file alias="SnapshotButton.qml">player/qml/controlbarcontrols/SnapshotButton.qml</file>
<file alias="SpacerWidget.qml">player/qml/controlbarcontrols/SpacerWidget.qml</file>
<file alias="StopButton.qml">player/qml/controlbarcontrols/StopButton.qml</file>
<file alias="TeletextButton.qml">player/qml/controlbarcontrols/TeletextButton.qml</file>
<file alias="TeletextWidget.qml">player/qml/controlbarcontrols/TeletextWidget.qml</file>
<file alias="VolumeWidget.qml">player/qml/controlbarcontrols/VolumeWidget.qml</file>
<file alias="Fallback.qml">player/qml/controlbarcontrols/Fallback.qml</file>
......
......@@ -887,6 +887,7 @@ modules/gui/qt/player/qml/controlbarcontrols/SlowerButton.qml
modules/gui/qt/player/qml/controlbarcontrols/SnapshotButton.qml
modules/gui/qt/player/qml/controlbarcontrols/SpacerWidget.qml
modules/gui/qt/player/qml/controlbarcontrols/StopButton.qml
modules/gui/qt/player/qml/controlbarcontrols/TeletextButton.qml
modules/gui/qt/player/qml/controlbarcontrols/TeletextWidget.qml
modules/gui/qt/player/qml/controlbarcontrols/VolumeWidget.qml
modules/gui/qt/playlist/qml/PlaylistDelegate.qml
......