[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / filesystem / MusicDatabaseDirectory / DirectoryNodeGrouped.cpp
blob65875f70fb28c1b5ab7ba394dc36be559dd3e3ff
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #include "DirectoryNodeGrouped.h"
11 #include "music/MusicDatabase.h"
13 using namespace XFILE::MUSICDATABASEDIRECTORY;
15 CDirectoryNodeGrouped::CDirectoryNodeGrouped(NODE_TYPE type, const std::string& strName, CDirectoryNode* pParent)
16 : CDirectoryNode(type, strName, pParent)
17 { }
19 NODE_TYPE CDirectoryNodeGrouped::GetChildType() const
21 if (GetType() == NODE_TYPE_YEAR)
22 return NODE_TYPE_ALBUM;
24 return NODE_TYPE_ARTIST;
27 std::string CDirectoryNodeGrouped::GetLocalizedName() const
29 CMusicDatabase db;
30 if (db.Open())
31 return db.GetItemById(GetContentType(), GetID());
32 return "";
35 bool CDirectoryNodeGrouped::GetContent(CFileItemList& items) const
37 CMusicDatabase musicdatabase;
38 if (!musicdatabase.Open())
39 return false;
41 return musicdatabase.GetItems(BuildPath(), GetContentType(), items);
44 std::string CDirectoryNodeGrouped::GetContentType() const
46 switch (GetType())
48 case NODE_TYPE_GENRE:
49 return "genres";
50 case NODE_TYPE_SOURCE:
51 return "sources";
52 case NODE_TYPE_ROLE:
53 return "roles";
54 case NODE_TYPE_YEAR:
55 return "years";
56 default:
57 break;
60 return "";