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
  • Thrillseekr/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
400 results
Show changes
Commits on Source (8)
......@@ -50,6 +50,15 @@ FocusScope {
property int displayMargin: (loaderProgress.active) ? miniPlayer.height + loaderProgress.height
: miniPlayer.height
readonly property int positionSliderY: {
var size = miniPlayer.y + miniPlayer.sliderY
if (MainCtx.pinVideoControls)
return size - VLCStyle.margin_xxxsmall
else
return size
}
property bool _inhibitMiniPlayer: false
property bool _showMiniPlayer: false
property var _oldViewProperties: ({}) // saves last state of the views
......
......@@ -44,6 +44,8 @@ Control {
property alias sliderHeight: trackPositionSlider.barHeight
property real bookmarksHeight: VLCStyle.controlBarBookmarksHeight
property var menu: undefined
signal requestLockUnlockAutoHide(bool lock)
enabled: visible
......@@ -68,6 +70,25 @@ Control {
trackPositionSlider.showChapterMarks()
}
function applyMenu(menu) {
if (root.menu === menu)
return
// NOTE: When applying a new menu we hide the previous one.
if (menu)
dismiss()
root.menu = menu
}
function dismiss() {
if ((typeof menu === undefined) || !menu)
return
if (menu.hasOwnProperty("dismiss"))
menu.dismiss()
else if (menu.hasOwnProperty("close"))
menu.close()
}
function _layout() {
switch (textPosition) {
......@@ -152,6 +173,8 @@ Control {
Navigation.upItem: trackPositionSlider.enabled ? trackPositionSlider : root.Navigation.upItem
onRequestLockUnlockAutoHide: root.requestLockUnlockAutoHide(lock)
onMenuOpened: root.applyMenu(menu)
}
}
......
......@@ -53,6 +53,8 @@ FocusScope {
signal requestLockUnlockAutoHide(bool lock)
signal menuOpened(var menu)
// Settings
implicitWidth: {
......@@ -242,6 +244,12 @@ FocusScope {
controlLayout.requestLockUnlockAutoHide(lock)
})
}
if (item.menuOpened) {
item.menuOpened.connect(function(menu) {
controlLayout.menuOpened(menu)
})
}
}
// Connections
......
......@@ -29,6 +29,8 @@ import "qrc:///style/"
T.Pane {
id: root
readonly property alias sliderY: controlBar.sliderY
height: 0
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
......@@ -82,6 +84,8 @@ T.Pane {
}
contentItem: ControlBar {
id: controlBar
focus: true
// NOTE: When controls are pinned we keep the same slider in both views. Otherwise we make
......
......@@ -36,9 +36,6 @@ FocusScope {
// Properties
//menu/overlay to dismiss
property var menu: undefined
property bool hasEmbededVideo: MainCtx.hasEmbededVideo
readonly property int positionSliderY: controlBarView.y + controlBarView.sliderY
......@@ -121,26 +118,6 @@ FocusScope {
// Functions
function applyMenu(menu) {
if (rootPlayer.menu === menu)
return
// NOTE: When applying a new menu we hide the previous one.
if (menu)
dismiss()
rootPlayer.menu = menu
}
function dismiss() {
if ((typeof menu === undefined) || !menu)
return
if (menu.hasOwnProperty("dismiss"))
menu.dismiss()
else if (menu.hasOwnProperty("close"))
menu.close()
}
function lockUnlockAutoHide(lock) {
_lockAutoHide += lock ? 1 : -1;
console.assert(_lockAutoHide >= 0)
......
......@@ -57,6 +57,8 @@ FocusScope {
signal requestLockUnlockAutoHide(bool lock)
signal menuOpened(var menu)
// Settings
// NOTE: We want a smaller ControlBar when the controls are pinned.
......@@ -178,6 +180,8 @@ FocusScope {
onCountChanged: playerControlLayout._updateLayout()
onRequestLockUnlockAutoHide: playerControlLayout.requestLockUnlockAutoHide(lock)
onMenuOpened: playerControlLayout.menuOpened(menu)
}
}
......@@ -212,6 +216,8 @@ FocusScope {
onCountChanged: playerControlLayout._updateLayout()
onRequestLockUnlockAutoHide: playerControlLayout.requestLockUnlockAutoHide(lock)
onMenuOpened: playerControlLayout.menuOpened(menu)
}
}
......@@ -246,6 +252,8 @@ FocusScope {
onCountChanged: playerControlLayout._updateLayout()
onRequestLockUnlockAutoHide: playerControlLayout.requestLockUnlockAutoHide(lock)
onMenuOpened: playerControlLayout.menuOpened(menu)
}
}
}
......@@ -35,7 +35,6 @@ T.Popup {
// Settings
height: VLCStyle.dp(296, VLCStyle.scale)
width: rootPlayer.width
// Popup.CloseOnPressOutside doesn't work with non-model Popup on Qt < 5.15
closePolicy: Popup.CloseOnPressOutside | Popup.CloseOnEscape
......@@ -60,8 +59,19 @@ T.Popup {
T.Overlay.modal: null
background: Rectangle {
opacity: 0.8
color: popupTheme.bg.primary
// NOTE: The opacity should be stronger on a light background for readability.
color: (popupTheme.palette.isDark)
? VLCStyle.setColorAlpha(popupTheme.bg.primary, 0.8)
: VLCStyle.setColorAlpha(popupTheme.bg.primary, 0.96)
Rectangle {
anchors.left: parent.left
anchors.right: parent.right
height: VLCStyle.margin_xxxsmall
color: popupTheme.border
}
}
contentItem: StackView {
......@@ -134,10 +144,10 @@ T.Popup {
onCurrentItemChanged: {
if (currentItem instanceof TracksPage)
root.width = Qt.binding(function () {
return Math.min(currentItem.preferredWidth, rootPlayer.width)
return Math.min(currentItem.preferredWidth, root.parent.width)
})
else
root.width = Qt.binding(function () { return rootPlayer.width })
root.width = Qt.binding(function () { return root.parent.width })
}
}
......
......@@ -45,6 +45,8 @@ Widgets.IconControlButton {
signal requestLockUnlockAutoHide(bool lock)
signal menuOpened(var menu)
// Settings
color: (popup.visible) ? control.colorContext.accent : control.colorContext.fg.primary
......@@ -124,8 +126,7 @@ Widgets.IconControlButton {
root.requestLockUnlockAutoHide(true)
if (root._isCurrentViewPlayer)
rootPlayer.applyMenu(popup)
root.menuOpened(popup)
}
onClosed: {
......@@ -133,8 +134,7 @@ Widgets.IconControlButton {
root.forceActiveFocus()
if (root._isCurrentViewPlayer)
rootPlayer.applyMenu(null)
root.menuOpened(null)
}
onWidthChanged: if (visible) root._updatePosition()
......@@ -149,9 +149,10 @@ Widgets.IconControlButton {
radius: VLCStyle.dp(8, VLCStyle.scale)
opacity: 0.85
color: popupTheme.bg.primary
// NOTE: The opacity should be stronger on a light background for readability.
color: (popupTheme.palette.isDark)
? VLCStyle.setColorAlpha(popupTheme.bg.primary, 0.8)
: VLCStyle.setColorAlpha(popupTheme.bg.primary, 0.96)
}
}
}
......@@ -15,6 +15,7 @@
* 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.12
import org.videolan.vlc 0.1
......@@ -23,45 +24,67 @@ import "qrc:///widgets/" as Widgets
import "qrc:///style/"
import "qrc:///player/" as Player
Widgets.IconControlButton {
id: langBtn
iconText: VLCIcons.audiosub
id: root
enabled: menuLoader.status === Loader.Ready
onClicked: menuLoader.item.open()
// Proprerties
readonly property var _parentItem: {
if ((typeof rootPlayer !== 'undefined') && (rootPlayer !== null))
return rootPlayer
else
return g_mainDisplay
}
// Signals
signal requestLockUnlockAutoHide(bool lock)
signal menuOpened(var menu)
// Settings
iconText: VLCIcons.audiosub
enabled: menuLoader.status === Loader.Ready
text: I18n.qtr("Languages and tracks")
// Events
onClicked: menuLoader.item.open()
// Children
Loader {
id: menuLoader
active: (typeof rootPlayer !== 'undefined') && (rootPlayer !== null)
sourceComponent: Player.TracksMenu {
id: menu
parent: rootPlayer
focus: true
parent: root._parentItem
width: parent.width
x: 0
y: (rootPlayer.positionSliderY - height)
y: (parent.positionSliderY - height)
z: 1
colorContext.palette: langBtn.colorContext.palette
focus: true
colorContext.palette: root.colorContext.palette
onOpened: {
langBtn.requestLockUnlockAutoHide(true)
if (!!rootPlayer)
rootPlayer.applyMenu(menu)
root.requestLockUnlockAutoHide(true)
root.menuOpened(menu)
}
onClosed: {
langBtn.requestLockUnlockAutoHide(false)
langBtn.forceActiveFocus()
if (!!rootPlayer)
rootPlayer.applyMenu(null)
root.requestLockUnlockAutoHide(false)
root.forceActiveFocus()
root.menuOpened(null)
}
}
}
......