Fix callback invocation in H264 codec download context

This commit is contained in:
Christophe Deschamps 2024-11-14 08:47:05 +01:00
parent 2e8f237d65
commit 6742f35e5d
2 changed files with 11 additions and 3 deletions

View file

@ -684,25 +684,29 @@ function computeAvatarSize (container, maxSize, ratio) {
// -----------------------------------------------------------------------------
function openCodecOnlineInstallerDialog (mainWindow, coreObject, cancelCallBack, successCallBack) {
function openCodecOnlineInstallerDialog (mainWindow, coreObject, cancelCallBack, successCallBack, errorCallBack) {
mainWindow.showConfirmationLambdaPopup("",
qsTr("Installation de codec"),
qsTr("Télécharger le codec ") + capitalizeFirstLetter(coreObject.mimeType) + " ("+coreObject.encoderDescription+")"+" ?",
function (confirmed) {
if (confirmed) {
coreObject.success.connect(function() {
if (successCallBack)
successCallBack()
mainWindow.closeLoadingPopup()
mainWindow.showInformationPopup(qsTr("Succès"), qsTr("Le codec a été téléchargé avec succès."), true)
if (successCallBack)
successCallBack()
})
coreObject.extractError.connect(function() {
mainWindow.closeLoadingPopup()
mainWindow.showInformationPopup(qsTr("Erreur"), qsTr("Le codec n'a pas pu être sauvegardé."), true)
if (errorCallBack)
errorCallBack()
})
coreObject.downloadError.connect(function() {
mainWindow.closeLoadingPopup()
mainWindow.showInformationPopup(qsTr("Erreur"), qsTr("Le codec n'a pas pu être téléchargé."), true)
if (errorCallBack)
errorCallBack()
})
mainWindow.showLoadingPopup(qsTr("Téléchargement en cours ..."))
coreObject.downloadAndExtract()

View file

@ -90,6 +90,7 @@ AbstractSettingsLayout {
spacing: 20 * DefaultStyle.dp
Repeater {
model: PayloadTypeProxy {
id: videoPayloadTypeProxy
filterType: PayloadTypeProxy.Video | PayloadTypeProxy.NotDownloadable
}
SwitchSetting {
@ -118,6 +119,9 @@ AbstractSettingsLayout {
function successCallBack() {
videoPayloadTypeProxy.reload()
downloadableVideoPayloadTypeProxy.reload()
},
function errorCallBack() {
setChecked(false)
})
}
}