aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorksooo <3226626+ksooo@users.noreply.github.com>2023-12-27 12:28:51 +0100
committerksooo <3226626+ksooo@users.noreply.github.com>2023-12-27 12:44:24 +0100
commit01a6ecbd6480c8c7a06679fcd6556429608e9e69 (patch)
tree91e490c8e02f7a563d19f0b738e77b49e18f3dbc
parentd697d218e9aaaef52338ca1f8806699f7a65dff7 (diff)
[video] CGUIDialogVideoManagerVersions::ChooseVideoAndConvertToVideoVersion: Trigger async loading of thumbs before opening video select dialog.
-rw-r--r--xbmc/video/dialogs/GUIDialogVideoManagerVersions.cpp13
-rw-r--r--xbmc/video/dialogs/GUIDialogVideoManagerVersions.h2
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,