diff --git a/CHANGELOG.md b/CHANGELOG.md index ad150379a..3c27b5109 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - Viewer: overlay details expand/collapse on tap - Viewer: export actions available as quick actions +- Slideshow: added settings quick action - TV: improved support for Info ### Changed diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index a71ed9f5b..ef6c8405d 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -168,7 +168,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Rychlost přehrávání", "@videoActionSetSpeed": {}, - "videoActionSettings": "Nastavení", + "viewerActionSettings": "Nastavení", "@videoActionSettings": {}, "slideshowActionResume": "Pokračovat", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 3e93771d4..850f08333 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Wiedergabegeschwindigkeit", "@videoActionSetSpeed": {}, - "videoActionSettings": "Einstellungen", + "viewerActionSettings": "Einstellungen", "@videoActionSettings": {}, "slideshowActionResume": "Wiedergabe", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_el.arb b/lib/l10n/app_el.arb index 6214117be..e5cd50c77 100644 --- a/lib/l10n/app_el.arb +++ b/lib/l10n/app_el.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Ταχύτητα αναπαραγωγής", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ρυθμίσεις", + "viewerActionSettings": "Ρυθμίσεις", "@videoActionSettings": {}, "slideshowActionResume": "Συνέχιση", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 1141b9bfb..cabefa0be 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -119,7 +119,8 @@ "videoActionSkip10": "Seek forward 10 seconds", "videoActionSelectStreams": "Select tracks", "videoActionSetSpeed": "Playback speed", - "videoActionSettings": "Settings", + + "viewerActionSettings": "Settings", "slideshowActionResume": "Resume", "slideshowActionShowInCollection": "Show in Collection", diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index e4609e5fd..14779c3c9 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocidad de reproducción", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ajustes", + "viewerActionSettings": "Ajustes", "@videoActionSettings": {}, "slideshowActionResume": "Reanudar", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 2582ed635..752a6cf37 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -393,7 +393,7 @@ "@videoActionPlay": {}, "videoActionReplay10": "10 segundu atzera egin", "@videoActionReplay10": {}, - "videoActionSettings": "Ezarpenak", + "viewerActionSettings": "Ezarpenak", "@videoActionSettings": {}, "entryInfoActionEditDate": "Data eta ordua editatu", "@entryInfoActionEditDate": {}, diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 9c1c2e9a3..81da9fdb4 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -161,7 +161,7 @@ "@videoActionUnmute": {}, "videoActionSkip10": "جلو رفتن 10 ثانیه", "@videoActionSkip10": {}, - "videoActionSettings": "تنظیمات", + "viewerActionSettings": "تنظیمات", "@videoActionSettings": {}, "entryInfoActionEditRating": "ویرایش رتبه", "@entryInfoActionEditRating": {}, diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index c62ac6bb8..3932636d0 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Vitesse de lecture", "@videoActionSetSpeed": {}, - "videoActionSettings": "Préférences", + "viewerActionSettings": "Préférences", "@videoActionSettings": {}, "slideshowActionResume": "Reprendre", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_gl.arb b/lib/l10n/app_gl.arb index 19cb3e1ed..5cb9f7131 100644 --- a/lib/l10n/app_gl.arb +++ b/lib/l10n/app_gl.arb @@ -119,7 +119,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocidade de reprodución", "@videoActionSetSpeed": {}, - "videoActionSettings": "Configuración", + "viewerActionSettings": "Configuración", "@videoActionSettings": {}, "slideshowActionResume": "Resumo", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 1d9639b19..c2b23a731 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Kecepatan pemutaran", "@videoActionSetSpeed": {}, - "videoActionSettings": "Pengaturan", + "viewerActionSettings": "Pengaturan", "@videoActionSettings": {}, "slideshowActionResume": "Lanjutkan", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index ef917a0ab..eb95d8a80 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocità di riproduzione", "@videoActionSetSpeed": {}, - "videoActionSettings": "Impostazioni", + "viewerActionSettings": "Impostazioni", "@videoActionSettings": {}, "slideshowActionResume": "Riprendi", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 3c0255923..3e042b44d 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "再生速度", "@videoActionSetSpeed": {}, - "videoActionSettings": "設定", + "viewerActionSettings": "設定", "@videoActionSettings": {}, "slideshowActionResume": "再開", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index 4a3c0ee2a..14366a476 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "재생 배속", "@videoActionSetSpeed": {}, - "videoActionSettings": "설정", + "viewerActionSettings": "설정", "@videoActionSettings": {}, "slideshowActionResume": "이어서", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_lt.arb b/lib/l10n/app_lt.arb index 753348ed7..70b40b769 100644 --- a/lib/l10n/app_lt.arb +++ b/lib/l10n/app_lt.arb @@ -97,7 +97,7 @@ "@videoActionSkip10": {}, "videoActionSetSpeed": "Atkūrimo greitis", "@videoActionSetSpeed": {}, - "videoActionSettings": "Nustatymai", + "viewerActionSettings": "Nustatymai", "@videoActionSettings": {}, "slideshowActionResume": "Tęsti", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_nb.arb b/lib/l10n/app_nb.arb index ecd127a82..29c74a4f8 100644 --- a/lib/l10n/app_nb.arb +++ b/lib/l10n/app_nb.arb @@ -76,7 +76,7 @@ "@videoActionSkip10": {}, "videoActionSetSpeed": "Avspillingshastighet", "@videoActionSetSpeed": {}, - "videoActionSettings": "Innstillinger", + "viewerActionSettings": "Innstillinger", "@videoActionSettings": {}, "entryInfoActionEditTitleDescription": "Rediger navn og beskrivelse", "@entryInfoActionEditTitleDescription": {}, diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index d1cc8730f..5543820a9 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Afspeelsnelheid", "@videoActionSetSpeed": {}, - "videoActionSettings": "Instellingen", + "viewerActionSettings": "Instellingen", "@videoActionSettings": {}, "slideshowActionResume": "Hervatten", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_nn.arb b/lib/l10n/app_nn.arb index d4bd4a9a3..16954c140 100644 --- a/lib/l10n/app_nn.arb +++ b/lib/l10n/app_nn.arb @@ -170,7 +170,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Avspelingssnøggleik", "@videoActionSetSpeed": {}, - "videoActionSettings": "Innstillingar", + "viewerActionSettings": "Innstillingar", "@videoActionSettings": {}, "slideshowActionResume": "Hald fram", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 94c91822e..a4f8fdb9c 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -85,7 +85,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Prędkość odtwarzania", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ustawienia", + "viewerActionSettings": "Ustawienia", "@videoActionSettings": {}, "slideshowActionResume": "Wznów", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 075bb96f4..f9d564f2b 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Velocidade de reprodução", "@videoActionSetSpeed": {}, - "videoActionSettings": "Configurações", + "viewerActionSettings": "Configurações", "@videoActionSettings": {}, "slideshowActionResume": "Retomar", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 3a4a363a5..70501c96e 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -152,7 +152,7 @@ "@videoActionSkip10": {}, "videoActionSelectStreams": "Selectați piese", "@videoActionSelectStreams": {}, - "videoActionSettings": "Setări", + "viewerActionSettings": "Setări", "@videoActionSettings": {}, "slideshowActionResume": "Reluare", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 3cd48cd05..ac49dbd93 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Скорость вопспроизведения", "@videoActionSetSpeed": {}, - "videoActionSettings": "Настройки", + "viewerActionSettings": "Настройки", "@videoActionSettings": {}, "slideshowActionResume": "Продолжить", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_th.arb b/lib/l10n/app_th.arb index 25e93a4c7..d3be8ab38 100644 --- a/lib/l10n/app_th.arb +++ b/lib/l10n/app_th.arb @@ -121,7 +121,7 @@ "@videoActionSkip10": {}, "slideshowActionShowInCollection": "แสดงคอลเลกชัน", "@slideshowActionShowInCollection": {}, - "videoActionSettings": "ตั้งค่า", + "viewerActionSettings": "ตั้งค่า", "@videoActionSettings": {}, "slideshowActionResume": "เล่นต่อ", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index 4f1945b97..8dbff6a11 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -147,7 +147,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "Oynatma hızı", "@videoActionSetSpeed": {}, - "videoActionSettings": "Ayarlar", + "viewerActionSettings": "Ayarlar", "@videoActionSettings": {}, "entryInfoActionEditDate": "Tarih ve saati düzenle", "@entryInfoActionEditDate": {}, diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 3f0f8c3d4..7439e796e 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -126,7 +126,7 @@ "@videoActionSkip10": {}, "videoActionSelectStreams": "Вибрати доріжку", "@videoActionSelectStreams": {}, - "videoActionSettings": "Налаштування", + "viewerActionSettings": "Налаштування", "@videoActionSettings": {}, "slideshowActionResume": "Продовжити", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 40ad3fa1b..9678abe2e 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -151,7 +151,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "播放速度", "@videoActionSetSpeed": {}, - "videoActionSettings": "设置", + "viewerActionSettings": "设置", "@videoActionSettings": {}, "slideshowActionResume": "继续", "@slideshowActionResume": {}, diff --git a/lib/l10n/app_zh_Hant.arb b/lib/l10n/app_zh_Hant.arb index 2bd8c6010..1fc9ee5cd 100644 --- a/lib/l10n/app_zh_Hant.arb +++ b/lib/l10n/app_zh_Hant.arb @@ -124,7 +124,7 @@ "@videoActionSelectStreams": {}, "videoActionSetSpeed": "播放速度", "@videoActionSetSpeed": {}, - "videoActionSettings": "設定", + "viewerActionSettings": "設定", "@videoActionSettings": {}, "slideshowActionResume": "繼續", "@slideshowActionResume": {}, diff --git a/lib/model/actions/entry_actions.dart b/lib/model/actions/entry_actions.dart index bbb10638b..880142a25 100644 --- a/lib/model/actions/entry_actions.dart +++ b/lib/model/actions/entry_actions.dart @@ -188,7 +188,7 @@ extension ExtraEntryAction on EntryAction { case EntryAction.videoSetSpeed: return context.l10n.videoActionSetSpeed; case EntryAction.videoSettings: - return context.l10n.videoActionSettings; + return context.l10n.viewerActionSettings; case EntryAction.videoTogglePlay: // different data depending on toggle state return context.l10n.videoActionPlay; diff --git a/lib/model/actions/slideshow_actions.dart b/lib/model/actions/slideshow_actions.dart index 6e0b51fd8..55d40847f 100644 --- a/lib/model/actions/slideshow_actions.dart +++ b/lib/model/actions/slideshow_actions.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; enum SlideshowAction { resume, showInCollection, + settings, } extension ExtraSlideshowAction on SlideshowAction { @@ -14,6 +15,8 @@ extension ExtraSlideshowAction on SlideshowAction { return context.l10n.slideshowActionResume; case SlideshowAction.showInCollection: return context.l10n.slideshowActionShowInCollection; + case SlideshowAction.settings: + return context.l10n.viewerActionSettings; } } @@ -25,6 +28,8 @@ extension ExtraSlideshowAction on SlideshowAction { return AIcons.play; case SlideshowAction.showInCollection: return AIcons.allCollection; + case SlideshowAction.settings: + return AIcons.settings; } } } diff --git a/lib/widgets/viewer/entry_viewer_stack.dart b/lib/widgets/viewer/entry_viewer_stack.dart index 3dfb0f3dc..c157b1ae8 100644 --- a/lib/widgets/viewer/entry_viewer_stack.dart +++ b/lib/widgets/viewer/entry_viewer_stack.dart @@ -260,6 +260,7 @@ class _EntryViewerStackState extends State with EntryViewContr return []; case AppMode.slideshow: return [ + _buildViewerTopOverlay(availableSize), _buildSlideshowBottomOverlay(availableSize), ]; default: diff --git a/lib/widgets/viewer/overlay/slideshow_buttons.dart b/lib/widgets/viewer/overlay/slideshow_buttons.dart index d7d282d4a..ee630d502 100644 --- a/lib/widgets/viewer/overlay/slideshow_buttons.dart +++ b/lib/widgets/viewer/overlay/slideshow_buttons.dart @@ -29,6 +29,7 @@ class _SlideshowButtonsState extends State { static const List _actions = [ SlideshowAction.resume, SlideshowAction.showInCollection, + SlideshowAction.settings, ]; static const double _padding = ViewerButtonRowContent.padding; diff --git a/lib/widgets/viewer/slideshow_page.dart b/lib/widgets/viewer/slideshow_page.dart index 1592cd69f..e070459f5 100644 --- a/lib/widgets/viewer/slideshow_page.dart +++ b/lib/widgets/viewer/slideshow_page.dart @@ -1,21 +1,26 @@ import 'package:aves/app_mode.dart'; import 'package:aves/model/actions/slideshow_actions.dart'; +import 'package:aves/model/entry.dart'; import 'package:aves/model/filters/album.dart'; import 'package:aves/model/filters/mime.dart'; import 'package:aves/model/settings/enums/enums.dart'; import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; +import 'package:aves/model/source/collection_source.dart'; import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/collection/collection_page.dart'; import 'package:aves/widgets/common/basic/scaffold.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:aves/widgets/common/identity/empty.dart'; +import 'package:aves/widgets/settings/viewer/slideshow.dart'; import 'package:aves/widgets/viewer/controller.dart'; import 'package:aves/widgets/viewer/entry_viewer_page.dart'; import 'package:aves/widgets/viewer/entry_viewer_stack.dart'; import 'package:aves_magnifier/aves_magnifier.dart'; +import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:tuple/tuple.dart'; class SlideshowPage extends StatefulWidget { static const routeName = '/collection/slideshow'; @@ -32,36 +37,33 @@ class SlideshowPage extends StatefulWidget { } class _SlideshowPageState extends State { - late final ViewerController _viewerController; - late final CollectionLens _slideshowCollection; + late ViewerController _viewerController; + late CollectionLens _slideshowCollection; + AvesEntry? _initialEntry; + + CollectionSource get source => widget.collection.source; @override void initState() { super.initState(); - _viewerController = ViewerController( - initialScale: ScaleLevel(ref: settings.slideshowFillScreen ? ScaleReference.covered : ScaleReference.contained), - transition: settings.slideshowTransition, - repeat: settings.slideshowRepeat, - autopilot: true, - autopilotInterval: Duration(seconds: settings.slideshowInterval), - autopilotAnimatedZoom: settings.slideshowAnimatedZoomEffect, - ); + _initViewerController(autopilot: true); _initSlideshowCollection(); + _initialEntry = _slideshowCollection.sortedEntries.firstOrNull; } @override void dispose() { - _viewerController.dispose(); + _disposeViewerController(); super.dispose(); } @override Widget build(BuildContext context) { - final entries = _slideshowCollection.sortedEntries; + final initialEntry = _initialEntry; return ListenableProvider>.value( value: ValueNotifier(AppMode.slideshow), child: AvesScaffold( - body: entries.isEmpty + body: initialEntry == null ? EmptyContent( icon: AIcons.image, text: context.l10n.collectionEmptyImages, @@ -76,8 +78,9 @@ class _SlideshowPageState extends State { return true; }, child: EntryViewerStack( + key: ValueKey(_viewerController), collection: _slideshowCollection, - initialEntry: entries.first, + initialEntry: initialEntry, viewerController: _viewerController, ), ), @@ -88,9 +91,21 @@ class _SlideshowPageState extends State { ); } + void _initViewerController({required bool autopilot}) { + _viewerController = ViewerController( + initialScale: ScaleLevel(ref: settings.slideshowFillScreen ? ScaleReference.covered : ScaleReference.contained), + transition: settings.slideshowTransition, + repeat: settings.slideshowRepeat, + autopilot: autopilot, + autopilotInterval: Duration(seconds: settings.slideshowInterval), + autopilotAnimatedZoom: settings.slideshowAnimatedZoomEffect, + ); + } + + void _disposeViewerController() => _viewerController.dispose(); + void _initSlideshowCollection() { - final originalCollection = widget.collection; - var entries = originalCollection.sortedEntries; + var entries = List.of(widget.collection.sortedEntries); if (settings.slideshowVideoPlayback == SlideshowVideoPlayback.skip) { entries = entries.where((entry) => !MimeFilter.video.test(entry)).toList(); } @@ -98,7 +113,7 @@ class _SlideshowPageState extends State { entries.shuffle(); } _slideshowCollection = CollectionLens( - source: originalCollection.source, + source: source, listenToSource: false, fixedSort: true, fixedSelection: entries, @@ -113,16 +128,18 @@ class _SlideshowPageState extends State { case SlideshowAction.showInCollection: _showInCollection(); break; + case SlideshowAction.settings: + _showSettings(context); + break; } } void _showInCollection() { - final entry = _viewerController.entryNotifier.value; - if (entry == null) return; + final currentEntry = _viewerController.entryNotifier.value; + if (currentEntry == null) return; - final source = _slideshowCollection.source; - final album = entry.directory; - final uri = entry.uri; + final album = currentEntry.directory; + final uri = currentEntry.uri; Navigator.maybeOf(context)?.pushAndRemoveUntil( MaterialPageRoute( @@ -136,6 +153,29 @@ class _SlideshowPageState extends State { (route) => false, ); } + + Tuple2 get collectionSettings => Tuple2(settings.slideshowShuffle, settings.slideshowVideoPlayback == SlideshowVideoPlayback.skip); + + Future _showSettings(BuildContext context) async { + final oldCollectionSettings = collectionSettings; + final currentEntry = _viewerController.entryNotifier.value; + + await Navigator.maybeOf(context)?.push( + MaterialPageRoute( + settings: const RouteSettings(name: ViewerSlideshowPage.routeName), + builder: (context) => const ViewerSlideshowPage(), + ), + ); + + _disposeViewerController(); + _initViewerController(autopilot: false); + if (oldCollectionSettings != collectionSettings) { + _initSlideshowCollection(); + } + final slideshowEntries = _slideshowCollection.sortedEntries; + _initialEntry = slideshowEntries.contains(currentEntry) ? currentEntry : slideshowEntries.firstOrNull; + setState(() {}); + } } class SlideshowActionNotification extends Notification { diff --git a/untranslated.json b/untranslated.json index ffc6638a6..40bb90f6e 100644 --- a/untranslated.json +++ b/untranslated.json @@ -57,7 +57,7 @@ "videoActionSkip10", "videoActionSelectStreams", "videoActionSetSpeed", - "videoActionSettings", + "viewerActionSettings", "slideshowActionResume", "slideshowActionShowInCollection", "entryInfoActionEditDate", @@ -1822,7 +1822,7 @@ "videoActionSkip10", "videoActionSelectStreams", "videoActionSetSpeed", - "videoActionSettings", + "viewerActionSettings", "slideshowActionResume", "slideshowActionShowInCollection", "entryInfoActionEditDate", @@ -2755,7 +2755,7 @@ "videoActionSkip10", "videoActionSelectStreams", "videoActionSetSpeed", - "videoActionSettings", + "viewerActionSettings", "slideshowActionResume", "slideshowActionShowInCollection", "entryInfoActionEditDate",