[Windows] Fix driver version detection of AMD RDNA+ GPU on Windows 10
[xbmc.git] / xbmc / pvr / windows / GUIViewStatePVR.cpp
bloba5004d8ba95fb66952467636608100e0d16f4842
1 /*
2 * Copyright (C) 2012-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 "GUIViewStatePVR.h"
11 #include "FileItem.h"
12 #include "FileItemList.h"
13 #include "ServiceBroker.h"
14 #include "pvr/PVRManager.h"
15 #include "pvr/addons/PVRClients.h"
16 #include "pvr/epg/EpgSearchPath.h"
17 #include "pvr/recordings/PVRRecordingsPath.h"
18 #include "pvr/timers/PVRTimersPath.h"
19 #include "settings/AdvancedSettings.h"
20 #include "settings/Settings.h"
21 #include "settings/SettingsComponent.h"
22 #include "view/ViewStateSettings.h"
24 using namespace PVR;
26 CGUIViewStateWindowPVRChannels::CGUIViewStateWindowPVRChannels(const int windowId,
27 const CFileItemList& items)
28 : CGUIViewStatePVR(windowId, items)
30 AddSortMethod(SortByChannelNumber, 549, // "Number"
31 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
32 AddSortMethod(SortByChannel, 551, // "Name"
33 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
34 AddSortMethod(
35 SortByLastPlayed, 568, // "Last played"
36 LABEL_MASKS("%L", "%p", "%L", "%p")); // Filename, LastPlayed | Foldername, LastPlayed
37 AddSortMethod(SortByClientChannelOrder, 19315, // "Backend number"
38 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
39 AddSortMethod(SortByProvider, 19348, // "Provider"
40 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
42 // Default sorting
43 SetSortMethod(SortByChannelNumber);
45 LoadViewState("pvr://channels/", m_windowId);
48 void CGUIViewStateWindowPVRChannels::SaveViewState()
50 SaveViewToDb("pvr://channels/", m_windowId, CViewStateSettings::GetInstance().Get("pvrchannels"));
53 CGUIViewStateWindowPVRRecordings::CGUIViewStateWindowPVRRecordings(const int windowId,
54 const CFileItemList& items)
55 : CGUIViewStatePVR(windowId, items)
57 AddSortMethod(SortByLabel, 551, // "Name"
58 LABEL_MASKS("%L", "%d", "%L", ""), // Filename, DateTime | Foldername, empty
59 CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(
60 CSettings::SETTING_FILELISTS_IGNORETHEWHENSORTING)
61 ? SortAttributeIgnoreArticle
62 : SortAttributeNone);
63 AddSortMethod(SortByDate, 552, // "Date"
64 LABEL_MASKS("%L", "%d", "%L", "%d")); // Filename, DateTime | Foldername, DateTime
65 AddSortMethod(SortByTime, 180, // "Duration"
66 LABEL_MASKS("%L", "%D", "%L", "")); // Filename, Duration | Foldername, empty
67 AddSortMethod(SortByFile, 561, // "File"
68 LABEL_MASKS("%L", "%d", "%L", "")); // Filename, DateTime | Foldername, empty
70 if (CServiceBroker::GetPVRManager().Clients()->AnyClientSupportingRecordingsSize())
72 // "Size" : Filename, Size | Foldername, Size
73 AddSortMethod(SortBySize, 553, LABEL_MASKS("%L", "%I", "%L", "%I"));
76 AddSortMethod(SortByEpisodeNumber, 20359, // "Episode"
77 LABEL_MASKS("%L", "%d", "%L", "")); // Filename, DateTime | Foldername, empty
78 AddSortMethod(SortByProvider, 19348, // "Provider"
79 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
81 SetSortMethod(
82 CServiceBroker::GetSettingsComponent()->GetAdvancedSettings()->m_PVRDefaultSortOrder);
84 LoadViewState(items.GetPath(), m_windowId);
87 void CGUIViewStateWindowPVRRecordings::SaveViewState()
89 SaveViewToDb(m_items.GetPath(), m_windowId,
90 CViewStateSettings::GetInstance().Get("pvrrecordings"));
93 bool CGUIViewStateWindowPVRRecordings::HideParentDirItems()
95 return (CGUIViewState::HideParentDirItems() ||
96 CPVRRecordingsPath(m_items.GetPath()).IsRecordingsRoot());
99 CGUIViewStateWindowPVRGuide::CGUIViewStateWindowPVRGuide(const int windowId,
100 const CFileItemList& items)
101 : CGUIViewStatePVR(windowId, items)
103 AddSortMethod(SortByChannelNumber, 549, // "Number"
104 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
105 AddSortMethod(SortByChannel, 551, // "Name"
106 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
107 AddSortMethod(
108 SortByLastPlayed, SortAttributeIgnoreLabel, 568, // "Last played"
109 LABEL_MASKS("%L", "%p", "%L", "%p")); // Filename, LastPlayed | Foldername, LastPlayed
110 AddSortMethod(SortByClientChannelOrder, 19315, // "Backend number"
111 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
112 AddSortMethod(SortByProvider, 19348, // "Provider"
113 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
115 // Default sorting
116 SetSortMethod(SortByChannelNumber);
118 LoadViewState("pvr://guide/", m_windowId);
121 void CGUIViewStateWindowPVRGuide::SaveViewState()
123 SaveViewToDb("pvr://guide/", m_windowId, CViewStateSettings::GetInstance().Get("pvrguide"));
126 CGUIViewStateWindowPVRTimers::CGUIViewStateWindowPVRTimers(const int windowId,
127 const CFileItemList& items)
128 : CGUIViewStatePVR(windowId, items)
130 int sortAttributes(CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(
131 CSettings::SETTING_FILELISTS_IGNORETHEWHENSORTING)
132 ? SortAttributeIgnoreArticle
133 : SortAttributeNone);
134 sortAttributes |= SortAttributeIgnoreFolders;
135 AddSortMethod(SortByLabel, static_cast<SortAttribute>(sortAttributes), 551, // "Name"
136 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
137 AddSortMethod(SortByDate, static_cast<SortAttribute>(sortAttributes), 552, // "Date"
138 LABEL_MASKS("%L", "%d", "%L", "%d")); // Filename, DateTime | Foldername, DateTime
140 // Default sorting
141 SetSortMethod(SortByDate);
143 LoadViewState("pvr://timers/", m_windowId);
146 void CGUIViewStateWindowPVRTimers::SaveViewState()
148 SaveViewToDb("pvr://timers/", m_windowId, CViewStateSettings::GetInstance().Get("pvrtimers"));
151 bool CGUIViewStateWindowPVRTimers::HideParentDirItems()
153 return (CGUIViewState::HideParentDirItems() || CPVRTimersPath(m_items.GetPath()).IsTimersRoot());
156 CGUIViewStateWindowPVRSearch::CGUIViewStateWindowPVRSearch(const int windowId,
157 const CFileItemList& items)
158 : CGUIViewStatePVR(windowId, items)
160 AddSortMethod(SortByLabel, 551, // "Name"
161 LABEL_MASKS("%L", "", "%L", "")); // Filename, empty | Foldername, empty
162 AddSortMethod(SortByDate, 552, // "Date"
163 LABEL_MASKS("%L", "%d", "%L", "%d")); // Filename, DateTime | Foldername, DateTime
165 // Default sorting
166 if (CPVREpgSearchPath(m_items.GetPath()).IsSavedSearchesRoot())
167 SetSortMethod(SortByDate, SortOrderDescending);
168 else
169 SetSortMethod(SortByDate, SortOrderAscending);
171 LoadViewState(m_items.GetPath(), m_windowId);
174 void CGUIViewStateWindowPVRSearch::SaveViewState()
176 SaveViewToDb(m_items.GetPath(), m_windowId, CViewStateSettings::GetInstance().Get("pvrsearch"));
179 bool CGUIViewStateWindowPVRSearch::HideParentDirItems()
181 return (CGUIViewState::HideParentDirItems() ||
182 CPVREpgSearchPath(m_items.GetPath()).IsSearchRoot());