diff options
author | Alasdair Campbell <alcoheca@gmail.com> | 2013-04-02 11:32:03 -0700 |
---|---|---|
committer | Alasdair Campbell <alcoheca@gmail.com> | 2013-04-02 11:32:03 -0700 |
commit | 5476b0911b6f4a21c0fcb0a69a88c73e8c26dc7f (patch) | |
tree | 653bb428c496696aa0a4ef838f2bfbb94c53c5fe | |
parent | 4ee5de266e393f1cfddc0f6ce6f705b0d2d10943 (diff) | |
parent | ec9129fe58614016d98af521471ff097171ae444 (diff) |
Merge pull request #2527 from alcoheca/upnp-fixes
Upnp fixes
-rw-r--r-- | xbmc/filesystem/UPnPDirectory.cpp | 7 | ||||
-rw-r--r-- | xbmc/network/upnp/UPnPServer.cpp | 10 |
2 files changed, 15 insertions, 2 deletions
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: 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); } |