vlc | branch: master | Pierre Lamot <[email protected]> | Mon Sep 14 17:39:33 2020 +0200| [b778d3034d4aa69321bb2205b804a3ee7ebd4ece] | committer: Pierre Lamot
qt: add nodes that are already preparsed when initializing NetworkMediaModel vlc_media_tree_Preparse will only notify about newly found entry. If entries are already in the tree they won't show up. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b778d3034d4aa69321bb2205b804a3ee7ebd4ece --- modules/gui/qt/network/networkmediamodel.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/gui/qt/network/networkmediamodel.cpp b/modules/gui/qt/network/networkmediamodel.cpp index ddb87b5e2b..da145e5758 100644 --- a/modules/gui/qt/network/networkmediamodel.cpp +++ b/modules/gui/qt/network/networkmediamodel.cpp @@ -328,7 +328,22 @@ bool NetworkMediaModel::initializeMediaSources() emit isIndexedChanged(); } - vlc_media_tree_PreparseCancel( libvlc, this ); + { + input_item_node_t* mediaNode = nullptr; + vlc_media_tree_Lock(tree); + vlc_media_tree_PreparseCancel( libvlc, this ); + std::vector<InputItemPtr> itemList; + if (vlc_media_tree_Find( tree, m_treeItem.media.get(), &mediaNode, nullptr)) + { + itemList.reserve(mediaNode->i_children); + for (int i = 0; i < mediaNode->i_children; i++) + itemList.emplace_back(mediaNode->pp_children[i]->p_item); + } + vlc_media_tree_Unlock(tree); + if (!itemList.empty()) + refreshMediaList( m_treeItem.source, std::move( itemList ), true ); + } + m_preparseSem.acquire(); vlc_media_tree_Preparse( tree, libvlc, m_treeItem.media.get(), this ); m_parsingPending = true; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
