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 (7)
Showing
with 83 additions and 82 deletions
......@@ -33,19 +33,21 @@ FocusScope {
id: root
//name and properties of the tab to be initially loaded
property string view: ""
property var viewProperties: ({})
property var view: ({
"name": "",
"properties": {}
})
property alias g_mainDisplay: root
property bool _inhibitMiniPlayer: false
property bool _showMiniPlayer: false
property var _defaultPages: ({}) // saves last page of view
property var _oldViewProperties: ({}) // saves last state of the views
onViewChanged: {
viewProperties = _defaultPages[root.view] !== undefined ? ({"defaultPage": _defaultPages[root.view]}) : ({})
_oldViewProperties[view.name] = view.properties
loadView()
}
onViewPropertiesChanged: loadView()
Component.onCompleted: {
loadView()
if (medialib && !mainInterface.hasFirstrun)
......@@ -54,9 +56,7 @@ FocusScope {
}
function loadView() {
var found = stackView.loadView(root.pageModel, root.view, root.viewProperties)
if (stackView.currentItem.view !== undefined)
_defaultPages[root.view] = stackView.currentItem.view
var found = stackView.loadView(root.pageModel, root.view.name, root.view.properties)
stackView.currentItem.Navigation.parentItem = medialibId
stackView.currentItem.Navigation.upItem = sourcesBanner
......@@ -199,7 +199,10 @@ FocusScope {
onItemClicked: {
var name = root.tabModel.get(index).name
selectedIndex = index
history.push(["mc", name])
if (_oldViewProperties[name] === undefined)
history.push(["mc", name])
else
history.push(["mc", name, _oldViewProperties[name]])
}
Navigation.parentItem: medialibId
......
......@@ -34,7 +34,7 @@ Rectangle {
property bool _playlistReady: false
property alias g_root: root
property variant g_dialogs: dialogsLoader.item
property var g_dialogs: dialogsLoader.item
Binding {
target: VLCStyle.self
......@@ -79,11 +79,11 @@ Rectangle {
function loadCurrentHistoryView() {
var current = history.current
if ( !current || !current.view ) {
if ( !current || !current.name || !current.properties ) {
console.warn("unable to load requested view, undefined")
return
}
stackView.loadView(root.pageModel, current.view, current.viewProperties)
stackView.loadView(root.pageModel, current.name, current.properties)
}
Connections {
......@@ -135,7 +135,7 @@ Rectangle {
target: player
onPlayingStateChanged: {
if (player.playingState === PlayerController.PLAYING_STATE_STOPPED
&& history.current.view === "player") {
&& history.current.name === "player") {
if (history.previousEmpty)
{
if (medialib)
......
......@@ -59,7 +59,7 @@ FocusScope {
// Signals
//---------------------------------------------------------------------------------------------
signal showList(variant model, int reason)
signal showList(var model, int reason)
//---------------------------------------------------------------------------------------------
// Events
......
......@@ -39,7 +39,7 @@ FocusScope {
property alias _currentView: view.currentItem
signal showAlbumView(variant id, string name, int reason)
signal showAlbumView(var id, string name, int reason)
onInitialIndexChanged: resetFocus()
......
......@@ -35,8 +35,8 @@ Widgets.PageLoader {
property bool isViewMultiView: true
property variant model
property variant sortModel
property var model
property var sortModel
//---------------------------------------------------------------------------------------------
// Settings
......
......@@ -39,7 +39,7 @@ MainInterface.MainTableView {
//---------------------------------------------------------------------------------------------
// Private
property variant _item: null
property var _item: null
property bool _before: true
......
......@@ -39,7 +39,7 @@ FocusScope {
readonly property int currentIndex: view.currentIndex
property int initialIndex: 0
property variant initialId
property var initialId
property string initialName
// NOTE: Specify an optionnal header for the view.
......
......@@ -71,7 +71,7 @@ FocusScope {
// Signals
//---------------------------------------------------------------------------------------------
signal showList(variant model, int reason)
signal showList(var model, int reason)
//---------------------------------------------------------------------------------------------
// Events
......
......@@ -37,8 +37,8 @@ Widgets.PageLoader {
property bool isViewMultiView: true
property variant model
property variant sortModel
property var model
property var sortModel
//---------------------------------------------------------------------------------------------
// Settings
......
......@@ -35,8 +35,8 @@ Widgets.PageLoader {
property bool isViewMultiView: true
property variant model
property variant sortModel
property var model
property var sortModel
//---------------------------------------------------------------------------------------------
// Settings
......
......@@ -34,8 +34,6 @@ Widgets.PageLoader {
property var contentModel
property bool isViewMultiView: true
property var tree: undefined
property Component localMenuDelegate
// Settings
......@@ -47,11 +45,11 @@ Widgets.PageLoader {
url: "qrc:///network/NetworkHomeDisplay.qml"
}, {
name: "browse",
component: browseComponent
component: browseComponent,
guard: function (prop) { return !!prop.tree }
}]
// Events
onCurrentItemChanged: {
sortModel = currentItem.sortModel;
contentModel = currentItem.model;
......@@ -60,29 +58,10 @@ Widgets.PageLoader {
||
currentItem.isViewMultiView);
if (tree) {
if (view == "home")
localMenuDelegate = null;
else
localMenuDelegate = componentBar;
} else {
localMenuDelegate = null;
}
}
// Functions
// PageLoader reimplementation
// FIXME: Maybe this could be done with a 'guard' mechanism on the pageModel.
function loadView() {
if (tree)
stackView.loadView(pageModel, view, viewProperties);
if (view.name === "browse")
localMenuDelegate = componentBar
else
stackView.loadView(pageModel, "home", viewProperties);
stackView.currentItem.Navigation.parentItem = root;
currentItemChanged(stackView.currentItem);
localMenuDelegate = null
}
// Connections
......@@ -91,10 +70,7 @@ Widgets.PageLoader {
target: stackView.currentItem
onBrowse: {
root.tree = tree;
history.push(["mc", "network", "browse", { tree: tree }]);
stackView.currentItem.setCurrentItemFocus(reason);
}
}
......@@ -119,7 +95,7 @@ Widgets.PageLoader {
id: componentBar
NetworkAddressbar {
path: view === "browse" ? root.stackView.currentItem.providerModel.path : []
path: view.name === "browse" ? root.stackView.currentItem.providerModel.path : []
onHomeButtonClicked: {
history.push(["mc", "network", "home"])
......
......@@ -37,7 +37,7 @@ FocusScope {
property int _currentIndex: -1
signal browse(variant tree, int reason)
signal browse(var tree, int reason)
on_CurrentIndexChanged: {
deviceListView.currentIndex = _currentIndex
......
......@@ -33,7 +33,7 @@ FocusScope {
readonly property bool isViewMultiView: false
signal browse(variant tree, int reason)
signal browse(var tree, int reason)
Component.onCompleted: resetFocus()
onActiveFocusChanged: resetFocus()
......
......@@ -48,7 +48,8 @@ Widgets.PageLoader {
component: sourceRootComponent
}, {
name: "source_browse",
component: sourceBrowseComponent
component: sourceBrowseComponent,
guard: function (prop) { return !!prop.tree }
}]
onCurrentItemChanged: {
......
......@@ -32,10 +32,12 @@ static void pushListRec(QVariantMap& itemMap, QVariantList::const_iterator it, Q
return;
if(it->canConvert<QString>())
{
itemMap["view"] = it->toString();
QVariantMap subMap;
pushListRec(subMap, ++it, end);
itemMap["viewProperties"] = subMap;
QVariantMap subViewMap;
subViewMap["name"] = it->toString();
QVariantMap subViewProperties;
pushListRec(subViewProperties, ++it, end);
subViewMap["properties"] = subViewProperties;
itemMap["view"] = subViewMap;
}
else if ( it->canConvert<QVariantMap>() )
{
......@@ -97,7 +99,12 @@ void NavigationHistory::push(QVariantList itemList, NavigationHistory::PostActio
{
QVariantMap itemMap;
pushListRec(itemMap, itemList.cbegin(), itemList.cend());
push(itemMap, postAction);
if (!itemMap.contains("view"))
return;
QVariant rootView = itemMap["view"];
if (!rootView.canConvert(QVariant::Map))
return;
push(rootView.toMap(), postAction);
}
......@@ -112,7 +119,12 @@ void NavigationHistory::update(QVariantList itemList)
{
QVariantMap itemMap;
pushListRec(itemMap, itemList.cbegin(), itemList.cend());
update(itemMap);
if (!itemMap.contains("view"))
return;
QVariant rootView = itemMap["view"];
if (!rootView.canConvert(QVariant::Map))
return;
update(rootView.toMap());
}
void NavigationHistory::previous(PostAction postAction)
......
......@@ -34,11 +34,13 @@ public slots:
*
* \code
* push({
* view: "foo", //push the view foo
* viewProperties: {
* view : "bar", //the sub view "bar"
* viewProperties: {
* baz: "plop" //the property baz will be set in the view "bar"
* name: "foo", //push the view foo
* properties: {
* view: { //the sub view "bar"
* name: "bar",
* properties: {
* baz: "plop" //the property baz will be set in the view "bar"
* }
* }
* }
* }, History.Go)
......
......@@ -24,8 +24,8 @@ import "qrc:///style/"
Rectangle {
id: effect
property variant source
property variant sourceRect: undefined
property var source
property var sourceRect: undefined
property bool active: true
......@@ -59,7 +59,7 @@ Rectangle {
ShaderEffect {
id: effect2
property variant source: ShaderEffectSource {
property var source: ShaderEffectSource {
sourceItem: effect1
visible: true
}
......
......@@ -21,9 +21,10 @@ import org.videolan.vlc 0.1
FocusScope {
id: root
property string view: defaultPage
property var viewProperties: ({})
property var view: ({
"name": defaultPage,
"properties": {}
})
property string defaultPage: ""
property var pageModel: []
......@@ -35,18 +36,18 @@ FocusScope {
Component.onCompleted: loadView()
onViewChanged: {
viewProperties = {}
loadView()
}
onViewPropertiesChanged: loadView()
function loadDefaultView() {
root.view = defaultPage
root.viewProperties = ({})
root.view = {
"name": defaultPage,
"properties": {}
}
}
function loadView() {
if (view === "") {
if (view.name === "") {
console.error("view is not defined")
return
}
......@@ -54,9 +55,11 @@ FocusScope {
console.error("pageModel is not defined")
return
}
var found = stackView.loadView(root.pageModel, view, viewProperties)
if (!found)
stackView.replace(root.pageModel[0].component)
var found = stackView.loadView(root.pageModel, view.name, view.properties)
if (!found) {
loadDefaultView()
return
}
stackView.currentItem.Navigation.parentItem = root
root.currentItemChanged(stackView.currentItem)
......
......@@ -79,6 +79,10 @@ StackView {
{
var model = viewModel[tab]
if (model.name === view) {
if (model.guard !== undefined && typeof model.guard === "function" && !model.guard(viewProperties)) {
continue //we're not allowed to load this page
}
//we can't use push(url, properties) as Qt interprets viewProperties
//as a second component to load
var component = undefined
......