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
403 results
Show changes
Commits on Source (4)
......@@ -33,6 +33,12 @@ FocusScope {
property var model
property var headerFocusScope
property var enqueueActionBtn
property var playActionBtn
property bool forcePlayActionBtnFocusOnce: false
signal retract()
implicitWidth: layout.implicitWidth
......@@ -51,7 +57,9 @@ FocusScope {
clip: true
function setCurrentItemFocus(reason) {
playActionBtn.forceActiveFocus(reason);
root.playActionBtn.forceActiveFocus(reason);
if (VLCStyle.isScreenSmall)
root.forcePlayActionBtnFocusOnce = true;
}
function _getStringTrack() {
......@@ -98,73 +106,239 @@ FocusScope {
anchors.bottomMargin: VLCStyle.margin_xxsmall
spacing: VLCStyle.margin_large
FocusScope {
id: artAndControl
Component {
id: cover
Layout.preferredHeight: artAndControlLayout.implicitHeight
Layout.preferredWidth: artAndControlLayout.implicitWidth
Layout.alignment: Qt.AlignTop
RoundImage {
id: expand_cover_id
focus: true
property int cover_height: parent.cover_height
property int cover_width: parent.cover_width
Column {
id: artAndControlLayout
height: cover_height
width: cover_width
radius: VLCStyle.expandCover_music_radius
source: (root.model && root.model.cover && root.model.cover !== "")
? root.model.cover
: VLCStyle.noArtAlbumCover
spacing: VLCStyle.margin_normal
bottomPadding: VLCStyle.margin_large
Widgets.ListCoverShadow {
anchors.fill: parent
}
}
}
/* A bigger cover for the album */
Item {
height: VLCStyle.expandCover_music_height
width: VLCStyle.expandCover_music_width
Component {
id: buttons
Widgets.ListCoverShadow {
anchors.fill: parent
Widgets.NavigableRow {
id: actionButtons
property alias enqueueActionBtn: _enqueueActionBtn
property alias playActionBtn: _playActionBtn
focus: true
width: expand_cover_id.width
spacing: VLCStyle.margin_small
Layout.alignment: Qt.AlignCenter
model: ObjectModel {
Widgets.ActionButtonPrimary {
id: _playActionBtn
iconTxt: VLCIcons.play_outline
text: I18n.qtr("Play")
onClicked: MediaLib.addAndPlay( root.model.id )
onActiveFocusChanged: {
// root.setCurrentItemFocus sets active focus to playActionBtn, but it gets stolen
// by the delegate of the first track at initial load when playActionBtn is in the
// header of tracks
if (VLCStyle.isScreenSmall && root.forcePlayActionBtnFocusOnce) {
root.forcePlayActionBtnFocusOnce = false
root.playActionBtn.forceActiveFocus(Qt.TabFocusReason)
}
}
}
RoundImage {
id: expand_cover_id
Widgets.ButtonExt {
id: _enqueueActionBtn
height: VLCStyle.expandCover_music_height
width: VLCStyle.expandCover_music_width
radius: VLCStyle.expandCover_music_radius
source: (model && model.cover && model.cover !== "")
? model.cover
: VLCStyle.noArtAlbumCover
iconTxt: VLCIcons.enqueue
text: I18n.qtr("Enqueue")
onClicked: MediaLib.addToPlaylist( root.model.id )
}
}
Widgets.NavigableRow {
id: actionButtons
Navigation.parentItem: root
Navigation.rightItem: VLCStyle.isScreenSmall ? root.headerFocusScope : tracks
Navigation.upItem: VLCStyle.isScreenSmall ? root.headerFocusScope : null
focus: true
width: expand_cover_id.width
spacing: VLCStyle.margin_small
Navigation.downAction: function () {
if (!VLCStyle.isScreenSmall)
return
Layout.alignment: Qt.AlignCenter
if (tracks.count > 0) {
tracks.setCurrentItemFocus(Qt.TabFocusReason)
} else {
root.Navigation.downAction()
}
}
}
}
Component {
id: header_common
model: ObjectModel {
Widgets.ActionButtonPrimary {
id: playActionBtn
FocusScope {
id: headerFocusScope
property int bottomPadding: parent.bottomPadding
width: parent.width
height: implicitHeight
implicitHeight: col.implicitHeight
iconTxt: VLCIcons.play_outline
text: I18n.qtr("Play")
onClicked: MediaLib.addAndPlay( model.id )
focus: true
Navigation.parentItem: root
Navigation.leftItem: root.enqueueActionBtn
Navigation.downAction: function () {
if (VLCStyle.isScreenSmall) {
root.enqueueActionBtn.forceActiveFocus(Qt.TabFocusReason);
return
}
if (tracks.count > 0) {
tracks.setCurrentItemFocus(Qt.TabFocusReason)
} else {
root.Navigation.downAction()
}
}
Column {
id: col
anchors.fill: parent
bottomPadding: headerFocusScope.bottomPadding
RowLayout {
width: parent.width
/* The title of the albums */
Widgets.SubtitleLabel {
id: expand_infos_title_id
text: Helpers.get(root.model, "title", I18n.qtr("Unknown title"))
Layout.fillWidth: true
}
Widgets.ButtonExt {
id: enqueueActionBtn
Widgets.IconControlButton {
iconText: VLCIcons.close
focus: true
Navigation.parentItem: headerFocusScope
Layout.rightMargin: VLCStyle.margin_small
iconTxt: VLCIcons.enqueue
text: I18n.qtr("Enqueue")
onClicked: MediaLib.addToPlaylist( model.id )
onClicked: root.retract()
}
}
Navigation.parentItem: root
Navigation.rightItem: tracks
Widgets.CaptionLabel {
id: expand_infos_subtitle_id
width: parent.width
text: I18n.qtr("%1 - %2 - %3 - %4")
.arg(Helpers.get(root.model, "main_artist", I18n.qtr("Unknown artist")))
.arg(Helpers.get(root.model, "release_year", ""))
.arg(_getStringTrack())
.arg((root.model && root.model.duration) ? root.model.duration.formatHMS() : 0)
}
}
}
}
Component {
id: header_small
RowLayout {
id: row
width: parent.width
height: implicitHeight
implicitHeight: col.implicitHeight
Loader {
sourceComponent: cover
property int cover_height: VLCStyle.cover_small
property int cover_width: VLCStyle.cover_small
Layout.bottomMargin: VLCStyle.margin_large
Layout.rightMargin: VLCStyle.margin_xxsmall
}
Column {
id: col
Layout.fillWidth: true
Layout.fillHeight: true
Layout.bottomMargin: VLCStyle.margin_large
Loader {
sourceComponent: header_common
width: parent.width
property int bottomPadding: VLCStyle.margin_xsmall
onLoaded: {
root.headerFocusScope = item
}
}
Loader {
sourceComponent: buttons
onLoaded: {
root.enqueueActionBtn = item.enqueueActionBtn
root.playActionBtn = item.playActionBtn
}
}
}
}
}
FocusScope {
id: artAndControl
visible: !VLCStyle.isScreenSmall
focus: !VLCStyle.isScreenSmall
implicitHeight: artAndControlLayout.implicitHeight
implicitWidth: artAndControlLayout.implicitWidth
Layout.alignment: Qt.AlignTop
Column {
id: artAndControlLayout
spacing: VLCStyle.margin_normal
bottomPadding: VLCStyle.margin_large
/* A bigger cover for the album */
Loader {
sourceComponent: !VLCStyle.isScreenSmall ? cover : null
property int cover_height: VLCStyle.expandCover_music_height
property int cover_width: VLCStyle.expandCover_music_width
}
Loader {
sourceComponent: !VLCStyle.isScreenSmall ? buttons : null
onLoaded: {
root.playActionBtn = item.playActionBtn
root.enqueueActionBtn = item.enqueueActionBtn
}
}
}
}
......@@ -212,66 +386,13 @@ FocusScope {
}
}
header: FocusScope {
id: headerFocusScope
header: Loader {
sourceComponent: VLCStyle.isScreenSmall
? header_small
: header_common
width: tracks.width
height: implicitHeight
implicitHeight: col.implicitHeight
focus: true
Navigation.parentItem: root
Navigation.leftItem: enqueueActionBtn
Navigation.downAction: function () {
if (tracks.count > 0) {
tracks.setCurrentItemFocus(Qt.TabFocus)
} else {
root.Navigation.downAction()
}
}
Column {
id: col
anchors.fill: parent
bottomPadding: VLCStyle.margin_large
RowLayout {
width: parent.width
/* The title of the albums */
Widgets.SubtitleLabel {
id: expand_infos_title_id
text: Helpers.get(model, "title", I18n.qtr("Unknown title"))
Layout.fillWidth: true
}
Widgets.IconControlButton {
iconText: VLCIcons.close
focus: true
Navigation.parentItem: headerFocusScope
Layout.rightMargin: VLCStyle.margin_small
onClicked: root.retract()
}
}
Widgets.CaptionLabel {
id: expand_infos_subtitle_id
width: parent.width
text: I18n.qtr("%1 - %2 - %3 - %4")
.arg(Helpers.get(model, "main_artist", I18n.qtr("Unknown artist")))
.arg(Helpers.get(model, "release_year", ""))
.arg(_getStringTrack())
.arg((model && model.duration) ? model.duration.formatHMS() : 0)
}
}
property int bottomPadding: VLCStyle.margin_large //used only by header_common
}
clip: true // content may overflow if not enough space is provided
......@@ -320,7 +441,7 @@ FocusScope {
}]
Navigation.parentItem: root
Navigation.leftItem: actionButtons
Navigation.leftItem: VLCStyle.isScreenSmall ? null : root.enqueueActionBtn
Navigation.upItem: headerItem
Widgets.TableColumns {
......