diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.js b/src/components/libraryoptionseditor/libraryoptionseditor.js index fd726d4150..b282697cb4 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.js +++ b/src/components/libraryoptionseditor/libraryoptionseditor.js @@ -530,6 +530,7 @@ export function getLibraryOptions(parent) { EnableRealtimeMonitor: parent.querySelector('.chkEnableRealtimeMonitor').checked, EnableLUFSScan: parent.querySelector('.chkEnableLUFSScan').checked, ExtractTrickplayImagesDuringLibraryScan: parent.querySelector('.chkExtractTrickplayDuringLibraryScan').checked, + SaveTrickplayWithMedia: parent.querySelector('.chkSaveTrickplayLocally').checked, EnableTrickplayImageExtraction: parent.querySelector('.chkExtractTrickplayImages').checked, ExtractChapterImagesDuringLibraryScan: parent.querySelector('.chkExtractChaptersDuringLibraryScan').checked, EnableChapterImageExtraction: parent.querySelector('.chkExtractChapterImages').checked, @@ -597,6 +598,7 @@ export function setLibraryOptions(parent, options) { parent.querySelector('.chkEnableLUFSScan').checked = options.EnableLUFSScan; parent.querySelector('.chkExtractTrickplayDuringLibraryScan').checked = options.ExtractTrickplayImagesDuringLibraryScan; parent.querySelector('.chkExtractTrickplayImages').checked = options.EnableTrickplayImageExtraction; + parent.querySelector('.chkSaveTrickplayLocally').checked = options.SaveTrickplayWithMedia; parent.querySelector('.chkExtractChaptersDuringLibraryScan').checked = options.ExtractChapterImagesDuringLibraryScan; parent.querySelector('.chkExtractChapterImages').checked = options.EnableChapterImageExtraction; parent.querySelector('#chkSaveLocal').checked = options.SaveLocalMetadata; diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.template.html b/src/components/libraryoptionseditor/libraryoptionseditor.template.html index b1d358cc02..6f6cbb918c 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.template.html +++ b/src/components/libraryoptionseditor/libraryoptionseditor.template.html @@ -129,6 +129,14 @@
${LabelExtractTrickplayDuringLibraryScanHelp}
+ +
+ +
${LabelSaveTrickplayLocallyHelp}
+
diff --git a/src/components/refreshdialog/refreshdialog.js b/src/components/refreshdialog/refreshdialog.js index 3a17208d7a..65997a31a1 100644 --- a/src/components/refreshdialog/refreshdialog.js +++ b/src/components/refreshdialog/refreshdialog.js @@ -33,6 +33,11 @@ function getEditorHtml() { html += '' + globalize.translate('ReplaceExistingImages') + ''; html += ''; + html += ''; + html += '
'; html += globalize.translate('RefreshDialogHelp'); html += '
'; @@ -71,14 +76,15 @@ function onSubmit(e) { const mode = dlg.querySelector('#selectMetadataRefreshMode').value === 'scan' ? 'Default' : 'FullRefresh'; const replaceAllImages = mode === 'FullRefresh' && dlg.querySelector('.chkReplaceImages').checked; + const replaceTrickplayImages = mode === 'FullRefresh' && dlg.querySelector('.chkReplaceTrickplayImages').checked; options.itemIds.forEach(function (itemId) { apiClient.refreshItem(itemId, { - Recursive: true, ImageRefreshMode: mode, MetadataRefreshMode: mode, ReplaceAllImages: replaceAllImages, + RegenerateTrickplay: replaceTrickplayImages, ReplaceAllMetadata: replaceAllMetadata }); }); @@ -134,8 +140,10 @@ class RefreshDialog { dlg.querySelector('#selectMetadataRefreshMode').addEventListener('change', function () { if (this.value === 'scan') { dlg.querySelector('.fldReplaceExistingImages').classList.add('hide'); + dlg.querySelector('.fldReplaceTrickplayImages').classList.add('hide'); } else { dlg.querySelector('.fldReplaceExistingImages').classList.remove('hide'); + dlg.querySelector('.fldReplaceTrickplayImages').classList.remove('hide'); } }); diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 642d082cc7..7cf956c5f7 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -844,6 +844,8 @@ "LabelRuntimeMinutes": "Runtime", "LabelSaveLocalMetadata": "Save artwork into media folders", "LabelSaveLocalMetadataHelp": "Saving artwork into media folders will put them in a place where they can be easily edited.", + "LabelSaveTrickplayLocally": "Save trickplay images next to media", + "LabelSaveTrickplayLocallyHelp": "Saving trickplay images into media folders will put them next to your media for easy migration and access.", "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.", "LabelScreensaver": "Screensaver", "LabelSeasonNumber": "Season number", @@ -1390,6 +1392,7 @@ "RepeatOne": "Repeat one", "ReplaceAllMetadata": "Replace all metadata", "ReplaceExistingImages": "Replace existing images", + "ReplaceTrickplayImages": "Replace existing trickplay images", "Reset": "Reset", "ResetPassword": "Reset Password", "ResolutionMatchSource": "Match Source",