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
  • falbrechtskirchinger/vlc
  • b.sullender/vlc
  • hulxv/vlc
  • zyad-ayad/vlc
  • shocknovaa/vlc
  • gremlinflat/vlc
  • Pratham24D/vlc
411 results
Show changes
Commits on Source (7)
......@@ -53,6 +53,7 @@ Widgets.StackViewExt {
property var pagePrefix: []
// optional, loaded when isLoading is true
// only loaded on initial load, when count is less then 1
property Component loadingComponent: null
// NOTE: Sometimes the model has no 'loading' property.
......@@ -85,9 +86,10 @@ Widgets.StackViewExt {
// NOTE: We have to use a Component here. When using a var the onCurrentComponentChanged event
// gets called multiple times even when the currentComponent stays the same.
property Component currentComponent: {
if (isLoading) {
if (isLoading && count < 1) {
if (loadingComponent)
return loadingComponent
// fall through to load 'grid' or 'list' view
} else if (count === 0)
return emptyLabel
......@@ -119,7 +121,7 @@ Widgets.StackViewExt {
_updateView()
// NOTE: This call is useful to avoid a binding loop on currentComponent.
currentComponentChanged.connect(function() { _updateView() })
currentComponentChanged.connect(_updateView)
}
onModelChanged: resetFocus()
......@@ -169,16 +171,17 @@ Widgets.StackViewExt {
function _updateView() {
// NOTE: When the currentItem is null we default to the StackView focusReason.
if (currentItem && currentItem.activeFocus)
_applyView(currentItem.focusReason)
_loadView(currentItem.focusReason)
else if (activeFocus)
_applyView(focusReason)
_loadView(focusReason)
else
replace(null, currentComponent)
_loadView()
}
function _applyView(reason) {
function _loadView(reason) {
replace(null, currentComponent)
setCurrentItemFocus(reason)
if (typeof reason !== "undefined")
setCurrentItemFocus(reason)
}
}
......@@ -164,7 +164,6 @@ public:
inline ItemType getType() const { return m_type; }
inline bool isIndexed() const { return m_indexed; }
inline bool canBeIndexed() const { return m_canBeIndexed; }
int getCount() const;
Q_INVOKABLE bool insertIntoPlaylist( const QModelIndexList& itemIdList, ssize_t playlistIndex );
Q_INVOKABLE bool addToPlaylist( int index );
......
......@@ -38,9 +38,6 @@ MainInterface.MainViewLoader {
readonly property int contentLeftMargin: currentItem?.contentLeftMargin ?? 0
readonly property int contentRightMargin: currentItem?.contentRightMargin ?? 0
// 'loading' property is not available with NetworkDevicesModel
readonly property bool loading: model?.loading ?? false
// fixme remove this
property Item _currentView: currentItem
......@@ -60,7 +57,7 @@ MainInterface.MainViewLoader {
grid: gridComponent
list: tableComponent
loadingComponent: emptyLabelComponent
loadingComponent: busyIndicatorComponent
emptyLabel: emptyLabelComponent
......@@ -316,98 +313,113 @@ MainInterface.MainViewLoader {
Component {
id: emptyLabelComponent
FocusScope {
id: focusScope
StandardView {
view: Widgets.EmptyLabelButton {
id: emptyLabel
// NOTE: This is required to pass the focusReason when the current view changes in
// MainViewLoader.
property int focusReason: (header.activeFocus) ? header.focusReason
: emptyLabel.focusReason
visible: !root.isLoading
Navigation.navigable: layout.Navigation.navigable || (emptyLabel.visible && emptyLabel.button.enabled)
// FIXME: find better cover
cover: VLCStyle.noArtVideoCover
coverWidth : VLCStyle.dp(182, VLCStyle.scale)
coverHeight: VLCStyle.dp(114, VLCStyle.scale)
// used by MainDisplay to transfer focus
function setCurrentItemFocus(reason) {
if (!Navigation.navigable)
return
text: qsTr("Nothing to see here, go back.")
if (header.Navigation.navigable)
Helpers.enforceFocus(header, reason)
else
Helpers.enforceFocus(emptyLabel, reason)
}
button.iconTxt: VLCIcons.back
button.text: qsTr("Back")
button.enabled: !History.previousEmpty
button.width: button.implicitWidth
function onNavigate(reason) {
History.previous(reason)
}
Layout.fillHeight: true
Layout.fillWidth: true
ColumnLayout {
id: layout
Navigation.parentItem: root
}
}
}
anchors.fill: parent
Component {
id: busyIndicatorComponent
BrowseTreeHeader {
id: header
StandardView {
view: Item {
Navigation.navigable: false
focus: true
visible: root.isLoading
providerModel: root.model
Layout.fillHeight: true
Layout.fillWidth: true
Layout.fillWidth: true
Widgets.BusyIndicatorExt {
id: busyIndicator
Navigation.parentItem: root
Navigation.downItem: emptyLabel
runningDelayed: root.isLoading
anchors.centerIn: parent
z: 1
}
}
}
}
Widgets.EmptyLabelButton {
id: emptyLabel
// Helper view i.e a ColumnLayout with BrowseHeader
component StandardView : FocusScope {
required property Item view
visible: !root.loading
// NOTE: This is required to pass the focusReason when the current view changes in
// MainViewLoader.
property int focusReason: (header.activeFocus) ? header.focusReason
: view?.focusReason ?? Qt.NoFocusReason
// FIXME: find better cover
cover: VLCStyle.noArtVideoCover
coverWidth : VLCStyle.dp(182, VLCStyle.scale)
coverHeight: VLCStyle.dp(114, VLCStyle.scale)
// used by MainDisplay to transfer focus
function setCurrentItemFocus(reason) {
if (!Navigation.navigable)
return
text: qsTr("Nothing to see here, go back.")
if (header.Navigation.navigable)
Helpers.enforceFocus(header, reason)
else
Helpers.enforceFocus(view, reason)
}
button.iconTxt: VLCIcons.back
button.text: qsTr("Back")
button.enabled: !History.previousEmpty
button.width: button.implicitWidth
onViewChanged: {
if (layout.children.length === 2)
layout.children.pop()
function onNavigate(reason) {
History.previous(reason)
}
layout.children.push(view)
view.Navigation.upAction = function () {
// FIXME: for some reason default navigation flow doesn't work
// i.e setting Navigtaion.upItem doesn't fallthrough to parent's
// action if it's navigable is false
Layout.fillHeight: true
Layout.fillWidth: true
if (header.Navigation.navigable)
header.forceActiveFocus(Qt.BacktabFocusReason)
else
return false // fallthrough default action
}
}
Navigation.parentItem: root
Navigation.upAction: function () {
// FIXME: for some reason default navigation flow doesn't work
// i.e setting Navigtaion.upItem doesn't fallthrough to parent's
// action if Navigtaion.upItem.Navigtaion.navigble is false
ColumnLayout {
id: layout
if (header.Navigation.navigable)
header.forceActiveFocus(Qt.TabFocusReason)
else
return false // fallthrough default action
}
}
anchors.fill: parent
Item {
visible: root.loading
BrowseTreeHeader {
id: header
Layout.fillHeight: true
Layout.fillWidth: true
focus: true
Widgets.BusyIndicatorExt {
id: busyIndicator
providerModel: root.model
runningDelayed: root.loading
anchors.centerIn: parent
z: 1
}
}
Layout.fillWidth: true
Navigation.parentItem: root
Navigation.downItem: (view.Navigation.navigable) ? view : null
}
}
}
}
......@@ -28,7 +28,7 @@ import "qrc:///util/Helpers.js" as Helpers
import "qrc:///widgets/" as Widgets
import "qrc:///style/"
T.Control {
T.Pane {
id: root
// Network* model
......@@ -40,28 +40,20 @@ T.Control {
colorSet: ColorContext.View
}
height: implicitHeight
implicitHeight: layout.implicitHeight + topPadding + bottomPadding
topPadding: VLCStyle.layoutTitle_top_padding
bottomPadding: VLCStyle.layoutTitle_bottom_padding
focus: medialibraryBtn.visible
height: implicitHeight
implicitHeight: layout.implicitHeight + topPadding + bottomPadding
implicitWidth: layout.implicitWidth + leftPadding + rightPadding
focus: medialibraryBtn.visible
Navigation.navigable: medialibraryBtn.visible
RowLayout {
id: layout
anchors {
fill: parent
leftMargin: root.leftPadding
rightMargin: root.rightPadding
topMargin: root.topPadding
bottomMargin: root.bottomPadding
}
anchors.fill: parent
Widgets.SubtitleLabel {
text: providerModel.name
......