diff options
author | ksooo <3226626+ksooo@users.noreply.github.com> | 2023-12-27 12:28:51 +0100 |
---|---|---|
committer | ksooo <3226626+ksooo@users.noreply.github.com> | 2023-12-27 12:44:24 +0100 |
commit | 01a6ecbd6480c8c7a06679fcd6556429608e9e69 (patch) | |
tree | 91e490c8e02f7a563d19f0b738e77b49e18f3dbc | |
parent | d697d218e9aaaef52338ca1f8806699f7a65dff7 (diff) |
[video] CGUIDialogVideoManagerVersions::ChooseVideoAndConvertToVideoVersion: Trigger async loading of thumbs before opening video select dialog.
-rw-r--r-- | xbmc/video/dialogs/GUIDialogVideoManagerVersions.cpp | 13 | ||||
-rw-r--r-- | xbmc/video/dialogs/GUIDialogVideoManagerVersions.h | 2 |
2 files changed, 9 insertions, 6 deletions
diff --git a/xbmc/video/dialogs/GUIDialogVideoManagerVersions.cpp b/xbmc/video/dialogs/GUIDialogVideoManagerVersions.cpp index 4e06e59264..e8d20a5867 100644 --- a/xbmc/video/dialogs/GUIDialogVideoManagerVersions.cpp +++ b/xbmc/video/dialogs/GUIDialogVideoManagerVersions.cpp @@ -373,7 +373,7 @@ int CGUIDialogVideoManagerVersions::ManageVideoVersionContextMenu( } bool CGUIDialogVideoManagerVersions::ChooseVideoAndConvertToVideoVersion( - const CFileItemList& items, + CFileItemList& items, VideoDbContentType itemType, const std::string& mediaType, int dbId, @@ -388,12 +388,19 @@ bool CGUIDialogVideoManagerVersions::ChooseVideoAndConvertToVideoVersion( return {}; } + // Load thumbs async + CVideoThumbLoader loader; + loader.Load(items); + dialog->Reset(); dialog->SetItems(items); dialog->SetHeading(CVariant{40002}); dialog->SetUseDetails(true); dialog->Open(); + if (loader.IsLoading()) + loader.StopThread(); + if (!dialog->IsConfirmed()) return false; @@ -467,10 +474,8 @@ bool CGUIDialogVideoManagerVersions::ConvertVideoVersion(const std::shared_ptr<C } // decorate the items - CVideoThumbLoader loader; for (const auto& item : list) { - loader.LoadItem(item.get()); item->SetLabel2(item->GetVideoInfoTag()->m_strFileNameAndPath); } @@ -521,10 +526,8 @@ bool CGUIDialogVideoManagerVersions::ProcessVideoVersion(VideoDbContentType item } // decorate the items - CVideoThumbLoader loader; for (const auto& item : list) { - loader.LoadItem(item.get()); item->SetLabel2(item->GetVideoInfoTag()->m_strFileNameAndPath); } diff --git a/xbmc/video/dialogs/GUIDialogVideoManagerVersions.h b/xbmc/video/dialogs/GUIDialogVideoManagerVersions.h index ff11e2251c..b9b0e0b82b 100644 --- a/xbmc/video/dialogs/GUIDialogVideoManagerVersions.h +++ b/xbmc/video/dialogs/GUIDialogVideoManagerVersions.h @@ -49,7 +49,7 @@ private: void SetDefault(); void UpdateDefaultVideoVersionSelection(); - static bool ChooseVideoAndConvertToVideoVersion(const CFileItemList& items, + static bool ChooseVideoAndConvertToVideoVersion(CFileItemList& items, VideoDbContentType itemType, const std::string& mediaType, int dbId, |