From 87f4c493cab4f648ebd7ce4ee10dc6fc593f179f Mon Sep 17 00:00:00 2001 From: Alasdair Campbell Date: Tue, 2 Apr 2013 03:30:19 +0100 Subject: upnp: use a better way to retain original directory ordering, fixes #14235 --- xbmc/filesystem/UPnPDirectory.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xbmc/filesystem/UPnPDirectory.cpp b/xbmc/filesystem/UPnPDirectory.cpp index 2a3c893825..49c844925d 100644 --- a/xbmc/filesystem/UPnPDirectory.cpp +++ b/xbmc/filesystem/UPnPDirectory.cpp @@ -349,7 +349,12 @@ CUPnPDirectory::GetDirectory(const CStdString& strPath, CFileItemList &items) std::string content = GetContentMapping(max_string); items.SetContent(content); if (content == "unknown") - items.AddSortMethod(SORT_METHOD_NONE, 551, LABEL_MASKS("%L", "%I", "%L", "")); + { + items.AddSortMethod(SORT_METHOD_UNSORTED, 571, LABEL_MASKS("%L", "%I", "%L", "")); + items.AddSortMethod(SORT_METHOD_LABEL_IGNORE_FOLDERS, 551, LABEL_MASKS("%L", "%I", "%L", "")); + items.AddSortMethod(SORT_METHOD_SIZE, 553, LABEL_MASKS("%L", "%I", "%L", "%I")); + items.AddSortMethod(SORT_METHOD_DATE, 552, LABEL_MASKS("%L", "%J", "%L", "%J")); + } } cleanup: -- cgit v1.2.3 From ec9129fe58614016d98af521471ff097171ae444 Mon Sep 17 00:00:00 2001 From: Alasdair Campbell Date: Tue, 2 Apr 2013 04:41:48 +0100 Subject: upnp: hide unplayable items in fiels view fixes #13526 --- xbmc/network/upnp/UPnPServer.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/xbmc/network/upnp/UPnPServer.cpp b/xbmc/network/upnp/UPnPServer.cpp index 86f13eb560..0518d14e35 100644 --- a/xbmc/network/upnp/UPnPServer.cpp +++ b/xbmc/network/upnp/UPnPServer.cpp @@ -13,6 +13,7 @@ #include "filesystem/VideoDatabaseDirectory.h" #include "guilib/WindowIDs.h" #include "music/tags/MusicInfoTag.h" +#include "settings/Settings.h" #include "settings/GUISettings.h" #include "utils/log.h" #include "utils/md5.h" @@ -600,7 +601,14 @@ CUPnPServer::OnBrowseDirectChildren(PLT_ActionReference& action, items.Sort(SORT_METHOD_LABEL, SortOrderAscending); } else { - CDirectory::GetDirectory((const char*)parent_id, items); + // this is the only way to hide unplayable items in the 'files' + // view as we cannot tell what context (eg music vs video) the + // request came from + string supported = g_settings.m_pictureExtensions + "|" + + g_settings.m_videoExtensions + "|" + + g_settings.m_musicExtensions + "|" + + g_settings.m_discStubExtensions; + CDirectory::GetDirectory((const char*)parent_id, items, supported); DefaultSortItems(items); } -- cgit v1.2.3