[Windows] Fix driver version detection of AMD RDNA+ GPU on Windows 10
[xbmc.git] / xbmc / pictures / GUIViewStatePictures.cpp
blob5b9ebfd208e6eea739af93be823ff6638b6a2bda
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 "GUIViewStatePictures.h"
11 #include "FileItem.h"
12 #include "FileItemList.h"
13 #include "ServiceBroker.h"
14 #include "filesystem/Directory.h"
15 #include "guilib/LocalizeStrings.h"
16 #include "guilib/WindowIDs.h"
17 #include "settings/MediaSourceSettings.h"
18 #include "settings/Settings.h"
19 #include "settings/SettingsComponent.h"
20 #include "utils/FileExtensionProvider.h"
21 #include "view/ViewState.h"
22 #include "view/ViewStateSettings.h"
24 using namespace XFILE;
25 using namespace ADDON;
27 CGUIViewStateWindowPictures::CGUIViewStateWindowPictures(const CFileItemList& items) : CGUIViewState(items)
29 if (items.IsVirtualDirectoryRoot())
31 AddSortMethod(SortByLabel, 551, LABEL_MASKS());
32 AddSortMethod(SortByDriveType, 564, LABEL_MASKS());
33 SetSortMethod(SortByLabel);
35 SetViewAsControl(DEFAULT_VIEW_LIST);
37 SetSortOrder(SortOrderAscending);
39 else
41 AddSortMethod(SortByLabel, 551, LABEL_MASKS("%L", "%I", "%L", "")); // Filename, Size | Foldername, empty
42 AddSortMethod(SortBySize, 553, LABEL_MASKS("%L", "%I", "%L", "%I")); // Filename, Size | Foldername, Size
43 AddSortMethod(SortByDate, 552, LABEL_MASKS("%L", "%J", "%L", "%J")); // Filename, Date | Foldername, Date
44 AddSortMethod(SortByDateTaken, 577, LABEL_MASKS("%L", "%t", "%L", "%J")); // Filename, DateTaken | Foldername, Date
45 AddSortMethod(SortByFile, 561, LABEL_MASKS("%L", "%I", "%L", "")); // Filename, Size | FolderName, empty
47 const CViewState *viewState = CViewStateSettings::GetInstance().Get("pictures");
48 SetSortMethod(viewState->m_sortDescription);
49 SetViewAsControl(viewState->m_viewMode);
50 SetSortOrder(viewState->m_sortDescription.sortOrder);
52 LoadViewState(items.GetPath(), WINDOW_PICTURES);
55 void CGUIViewStateWindowPictures::SaveViewState()
57 SaveViewToDb(m_items.GetPath(), WINDOW_PICTURES, CViewStateSettings::GetInstance().Get("pictures"));
60 std::string CGUIViewStateWindowPictures::GetLockType()
62 return "pictures";
65 std::string CGUIViewStateWindowPictures::GetExtensions()
67 std::string extensions = CServiceBroker::GetFileExtensionProvider().GetPictureExtensions();
68 if (CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(CSettings::SETTING_PICTURES_SHOWVIDEOS))
69 extensions += "|" + CServiceBroker::GetFileExtensionProvider().GetVideoExtensions();
71 return extensions;
74 VECSOURCES& CGUIViewStateWindowPictures::GetSources()
76 VECSOURCES *pictureSources = CMediaSourceSettings::GetInstance().GetSources("pictures");
78 // Guard against source type not existing
79 if (pictureSources == nullptr)
81 static VECSOURCES empty;
82 return empty;
85 return *pictureSources;