#763 allow setting any filtered collection as home page

This commit is contained in:
Thibault Deckers 2024-01-07 01:04:59 +01:00
parent 694c5941cb
commit 58e12d147d
15 changed files with 152 additions and 10 deletions

View file

@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file.
### Added ### Added
- Collection: allow hiding thumbnail overlay HDR icon - Collection: allow hiding thumbnail overlay HDR icon
- Collection: allow setting any filtered collection as home page
### Changed ### Changed

View file

@ -570,6 +570,7 @@
"collectionActionShowTitleSearch": "Show title filter", "collectionActionShowTitleSearch": "Show title filter",
"collectionActionHideTitleSearch": "Hide title filter", "collectionActionHideTitleSearch": "Hide title filter",
"collectionActionAddShortcut": "Add shortcut", "collectionActionAddShortcut": "Add shortcut",
"collectionActionSetHome": "Set as home",
"collectionActionEmptyBin": "Empty bin", "collectionActionEmptyBin": "Empty bin",
"collectionActionCopy": "Copy to album", "collectionActionCopy": "Copy to album",
"collectionActionMove": "Move to album", "collectionActionMove": "Move to album",
@ -757,6 +758,7 @@
"settingsNavigationSectionTitle": "Navigation", "settingsNavigationSectionTitle": "Navigation",
"settingsHomeTile": "Home", "settingsHomeTile": "Home",
"settingsHomeDialogTitle": "Home", "settingsHomeDialogTitle": "Home",
"setHomeCustomCollection": "Custom collection",
"settingsShowBottomNavigationBar": "Show bottom navigation bar", "settingsShowBottomNavigationBar": "Show bottom navigation bar",
"settingsKeepScreenOnTile": "Keep screen on", "settingsKeepScreenOnTile": "Keep screen on",
"settingsKeepScreenOnDialogTitle": "Keep Screen On", "settingsKeepScreenOnDialogTitle": "Keep Screen On",

View file

@ -1,6 +1,7 @@
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/settings/defaults.dart'; import 'package:aves/model/settings/defaults.dart';
import 'package:aves_model/aves_model.dart'; import 'package:aves_model/aves_model.dart';
import 'package:collection/collection.dart';
mixin NavigationSettings on SettingsAccess { mixin NavigationSettings on SettingsAccess {
bool get mustBackTwiceToExit => getBool(SettingKeys.mustBackTwiceToExitKey) ?? SettingsDefaults.mustBackTwiceToExit; bool get mustBackTwiceToExit => getBool(SettingKeys.mustBackTwiceToExitKey) ?? SettingsDefaults.mustBackTwiceToExit;
@ -15,6 +16,10 @@ mixin NavigationSettings on SettingsAccess {
set homePage(HomePageSetting newValue) => set(SettingKeys.homePageKey, newValue.toString()); set homePage(HomePageSetting newValue) => set(SettingKeys.homePageKey, newValue.toString());
Set<CollectionFilter> get homeCustomCollection => (getStringList(SettingKeys.homeCustomCollectionKey) ?? []).map(CollectionFilter.fromJson).whereNotNull().toSet();
set homeCustomCollection(Set<CollectionFilter> newValue) => set(SettingKeys.homeCustomCollectionKey, newValue.map((filter) => filter.toJson()).toList());
bool get enableBottomNavigationBar => getBool(SettingKeys.enableBottomNavigationBarKey) ?? SettingsDefaults.enableBottomNavigationBar; bool get enableBottomNavigationBar => getBool(SettingKeys.enableBottomNavigationBarKey) ?? SettingsDefaults.enableBottomNavigationBar;
set enableBottomNavigationBar(bool newValue) => set(SettingKeys.enableBottomNavigationBarKey, newValue); set enableBottomNavigationBar(bool newValue) => set(SettingKeys.enableBottomNavigationBarKey, newValue);

View file

@ -472,6 +472,7 @@ class Settings with ChangeNotifier, SettingsAccess, AppSettings, DisplaySettings
} else { } else {
debugPrint('failed to import key=$key, value=$newValue is not a string'); debugPrint('failed to import key=$key, value=$newValue is not a string');
} }
case SettingKeys.homeCustomCollectionKey:
case SettingKeys.drawerTypeBookmarksKey: case SettingKeys.drawerTypeBookmarksKey:
case SettingKeys.drawerAlbumBookmarksKey: case SettingKeys.drawerAlbumBookmarksKey:
case SettingKeys.drawerPageBookmarksKey: case SettingKeys.drawerPageBookmarksKey:

View file

@ -17,6 +17,7 @@ extension ExtraEntrySetActionView on EntrySetAction {
// different data depending on toggle state // different data depending on toggle state
context.l10n.collectionActionShowTitleSearch, context.l10n.collectionActionShowTitleSearch,
EntrySetAction.addShortcut => context.l10n.collectionActionAddShortcut, EntrySetAction.addShortcut => context.l10n.collectionActionAddShortcut,
EntrySetAction.setHome => context.l10n.collectionActionSetHome,
EntrySetAction.emptyBin => context.l10n.collectionActionEmptyBin, EntrySetAction.emptyBin => context.l10n.collectionActionEmptyBin,
// browsing or selecting // browsing or selecting
EntrySetAction.map => context.l10n.menuActionMap, EntrySetAction.map => context.l10n.menuActionMap,
@ -61,6 +62,7 @@ extension ExtraEntrySetActionView on EntrySetAction {
// different data depending on toggle state // different data depending on toggle state
AIcons.filter, AIcons.filter,
EntrySetAction.addShortcut => AIcons.addShortcut, EntrySetAction.addShortcut => AIcons.addShortcut,
EntrySetAction.setHome => AIcons.home,
EntrySetAction.emptyBin => AIcons.emptyBin, EntrySetAction.emptyBin => AIcons.emptyBin,
// browsing or selecting // browsing or selecting
EntrySetAction.map => AIcons.map, EntrySetAction.map => AIcons.map,

View file

@ -618,6 +618,7 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
case EntrySetAction.searchCollection: case EntrySetAction.searchCollection:
case EntrySetAction.toggleTitleSearch: case EntrySetAction.toggleTitleSearch:
case EntrySetAction.addShortcut: case EntrySetAction.addShortcut:
case EntrySetAction.setHome:
// browsing or selecting // browsing or selecting
case EntrySetAction.map: case EntrySetAction.map:
case EntrySetAction.slideshow: case EntrySetAction.slideshow:

View file

@ -75,7 +75,9 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware
case EntrySetAction.toggleTitleSearch: case EntrySetAction.toggleTitleSearch:
return !useTvLayout && !isSelecting; return !useTvLayout && !isSelecting;
case EntrySetAction.addShortcut: case EntrySetAction.addShortcut:
return isMain && !isSelecting && device.canPinShortcut && !isTrash; return isMain && !isSelecting && !isTrash && device.canPinShortcut;
case EntrySetAction.setHome:
return isMain && !isSelecting && !isTrash && !useTvLayout;
case EntrySetAction.emptyBin: case EntrySetAction.emptyBin:
return canWrite && isMain && isTrash; return canWrite && isMain && isTrash;
// browsing or selecting // browsing or selecting
@ -131,6 +133,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware
case EntrySetAction.searchCollection: case EntrySetAction.searchCollection:
case EntrySetAction.toggleTitleSearch: case EntrySetAction.toggleTitleSearch:
case EntrySetAction.addShortcut: case EntrySetAction.addShortcut:
case EntrySetAction.setHome:
return true; return true;
case EntrySetAction.emptyBin: case EntrySetAction.emptyBin:
return !isSelecting && hasItems; return !isSelecting && hasItems;
@ -177,6 +180,8 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware
context.read<Query>().toggle(); context.read<Query>().toggle();
case EntrySetAction.addShortcut: case EntrySetAction.addShortcut:
_addShortcut(context); _addShortcut(context);
case EntrySetAction.setHome:
_setHome(context);
// browsing or selecting // browsing or selecting
case EntrySetAction.map: case EntrySetAction.map:
_goToMap(context); _goToMap(context);
@ -727,4 +732,10 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware
showFeedback(context, FeedbackType.info, context.l10n.genericSuccessFeedback); showFeedback(context, FeedbackType.info, context.l10n.genericSuccessFeedback);
} }
} }
void _setHome(BuildContext context) async {
settings.homeCustomCollection = context.read<CollectionLens>().filters;
settings.homePage = HomePageSetting.collection;
showFeedback(context, FeedbackType.info, context.l10n.genericSuccessFeedback);
}
} }

View file

@ -3,6 +3,8 @@ import 'package:aves/widgets/dialogs/selection_dialogs/common.dart';
import 'package:aves/widgets/dialogs/selection_dialogs/radio_list_tile.dart'; import 'package:aves/widgets/dialogs/selection_dialogs/radio_list_tile.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// do not use as `T` a record containing a collection
// because radio value comparison will fail without deep equality
class AvesSingleSelectionDialog<T> extends StatefulWidget { class AvesSingleSelectionDialog<T> extends StatefulWidget {
static const routeName = '/dialog/selection'; static const routeName = '/dialog/selection';

View file

@ -196,7 +196,7 @@ class _HomePageState extends State<HomePage> {
unawaited(AnalysisService.registerCallback()); unawaited(AnalysisService.registerCallback());
final source = context.read<CollectionSource>(); final source = context.read<CollectionSource>();
await source.init( await source.init(
loadTopEntriesFirst: settings.homePage == HomePageSetting.collection, loadTopEntriesFirst: settings.homePage == HomePageSetting.collection && settings.homeCustomCollection.isEmpty,
canAnalyze: !safeMode, canAnalyze: !safeMode,
); );
case AppMode.screenSaver: case AppMode.screenSaver:
@ -338,7 +338,7 @@ class _HomePageState extends State<HomePage> {
case AppMode.screenSaver: case AppMode.screenSaver:
case AppMode.slideshow: case AppMode.slideshow:
routeName = _initialRouteName ?? settings.homePage.routeName; routeName = _initialRouteName ?? settings.homePage.routeName;
filters = _initialFilters ?? {}; filters = _initialFilters ?? (settings.homePage == HomePageSetting.collection ? settings.homeCustomCollection : {});
} }
Route buildRoute(WidgetBuilder builder) => DirectMaterialPageRoute( Route buildRoute(WidgetBuilder builder) => DirectMaterialPageRoute(
settings: RouteSettings(name: routeName), settings: RouteSettings(name: routeName),

View file

@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/settings/settings.dart';
import 'package:aves/theme/colors.dart'; import 'package:aves/theme/colors.dart';
import 'package:aves/theme/icons.dart'; import 'package:aves/theme/icons.dart';
@ -11,6 +12,7 @@ import 'package:aves/widgets/settings/navigation/confirmation_dialogs.dart';
import 'package:aves/widgets/settings/navigation/drawer.dart'; import 'package:aves/widgets/settings/navigation/drawer.dart';
import 'package:aves/widgets/settings/settings_definition.dart'; import 'package:aves/widgets/settings/settings_definition.dart';
import 'package:aves_model/aves_model.dart'; import 'package:aves_model/aves_model.dart';
import 'package:collection/collection.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -38,16 +40,47 @@ class NavigationSection extends SettingsSection {
]; ];
} }
class _HomeOption {
final HomePageSetting page;
final Set<CollectionFilter> customCollection;
const _HomeOption(
this.page, {
this.customCollection = const {},
});
String getName(BuildContext context) {
if (page == HomePageSetting.collection && customCollection.isNotEmpty) {
return context.l10n.setHomeCustomCollection;
}
return page.getName(context);
}
@override
bool operator ==(Object other) => identical(this, other) || other is _HomeOption && runtimeType == other.runtimeType && page == other.page && const DeepCollectionEquality().equals(customCollection, other.customCollection);
@override
int get hashCode => page.hashCode ^ customCollection.hashCode;
}
class SettingsTileNavigationHomePage extends SettingsTile { class SettingsTileNavigationHomePage extends SettingsTile {
@override @override
String title(BuildContext context) => context.l10n.settingsHomeTile; String title(BuildContext context) => context.l10n.settingsHomeTile;
@override @override
Widget build(BuildContext context) => SettingsSelectionListTile<HomePageSetting>( Widget build(BuildContext context) => SettingsSelectionListTile<_HomeOption>(
values: HomePageSetting.values, values: [
const _HomeOption(HomePageSetting.collection),
const _HomeOption(HomePageSetting.albums),
const _HomeOption(HomePageSetting.tags),
if (settings.homeCustomCollection.isNotEmpty) _HomeOption(HomePageSetting.collection, customCollection: settings.homeCustomCollection),
],
getName: (context, v) => v.getName(context), getName: (context, v) => v.getName(context),
selector: (context, s) => s.homePage, selector: (context, s) => _HomeOption(s.homePage, customCollection: s.homeCustomCollection),
onSelection: (v) => settings.homePage = v, onSelection: (v) {
settings.homePage = v.page;
settings.homeCustomCollection = v.customCollection;
},
tileTitle: title(context), tileTitle: title(context),
dialogTitle: context.l10n.settingsHomeDialogTitle, dialogTitle: context.l10n.settingsHomeDialogTitle,
); );

View file

@ -8,6 +8,7 @@ enum EntrySetAction {
searchCollection, searchCollection,
toggleTitleSearch, toggleTitleSearch,
addShortcut, addShortcut,
setHome,
emptyBin, emptyBin,
// browsing or selecting // browsing or selecting
map, map,
@ -47,6 +48,7 @@ class EntrySetActions {
EntrySetAction.searchCollection, EntrySetAction.searchCollection,
EntrySetAction.toggleTitleSearch, EntrySetAction.toggleTitleSearch,
EntrySetAction.addShortcut, EntrySetAction.addShortcut,
EntrySetAction.setHome,
null, null,
EntrySetAction.map, EntrySetAction.map,
EntrySetAction.slideshow, EntrySetAction.slideshow,
@ -60,11 +62,9 @@ class EntrySetActions {
static const collectionEditorBrowsing = [ static const collectionEditorBrowsing = [
EntrySetAction.searchCollection, EntrySetAction.searchCollection,
EntrySetAction.toggleTitleSearch, EntrySetAction.toggleTitleSearch,
EntrySetAction.addShortcut,
EntrySetAction.map, EntrySetAction.map,
EntrySetAction.slideshow, EntrySetAction.slideshow,
EntrySetAction.stats, EntrySetAction.stats,
EntrySetAction.rescan,
]; ];
// `null` items are converted to dividers // `null` items are converted to dividers
@ -98,7 +98,6 @@ class EntrySetActions {
EntrySetAction.map, EntrySetAction.map,
EntrySetAction.slideshow, EntrySetAction.slideshow,
EntrySetAction.stats, EntrySetAction.stats,
EntrySetAction.rescan,
// editing actions are in their subsection // editing actions are in their subsection
]; ];

View file

@ -41,6 +41,7 @@ class SettingKeys {
static const mustBackTwiceToExitKey = 'must_back_twice_to_exit'; static const mustBackTwiceToExitKey = 'must_back_twice_to_exit';
static const keepScreenOnKey = 'keep_screen_on'; static const keepScreenOnKey = 'keep_screen_on';
static const homePageKey = 'home_page'; static const homePageKey = 'home_page';
static const homeCustomCollectionKey = 'home_custom_collection';
static const enableBottomNavigationBarKey = 'show_bottom_navigation_bar'; static const enableBottomNavigationBarKey = 'show_bottom_navigation_bar';
static const confirmCreateVaultKey = 'confirm_create_vault'; static const confirmCreateVaultKey = 'confirm_create_vault';
static const confirmDeleteForeverKey = 'confirm_delete_forever'; static const confirmDeleteForeverKey = 'confirm_delete_forever';

View file

@ -31,6 +31,7 @@ Future<void> configureAndLaunch() async {
// navigation // navigation
..keepScreenOn = KeepScreenOn.always ..keepScreenOn = KeepScreenOn.always
..homePage = HomePageSetting.collection ..homePage = HomePageSetting.collection
..homeCustomCollection = {}
..enableBottomNavigationBar = true ..enableBottomNavigationBar = true
..drawerTypeBookmarks = [null, FavouriteFilter.instance] ..drawerTypeBookmarks = [null, FavouriteFilter.instance]
// collection // collection

View file

@ -27,6 +27,7 @@ Future<void> configureAndLaunch() async {
// navigation // navigation
..keepScreenOn = KeepScreenOn.always ..keepScreenOn = KeepScreenOn.always
..homePage = HomePageSetting.collection ..homePage = HomePageSetting.collection
..homeCustomCollection = {}
..enableBottomNavigationBar = true ..enableBottomNavigationBar = true
// collection // collection
..collectionSectionFactor = EntryGroupFactor.album ..collectionSectionFactor = EntryGroupFactor.album

View file

@ -1,9 +1,13 @@
{ {
"ar": [ "ar": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"be": [ "be": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -333,6 +337,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -447,6 +452,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -870,6 +876,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -984,6 +991,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -1203,6 +1211,8 @@
], ],
"cs": [ "cs": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -1210,6 +1220,8 @@
"entryActionCast", "entryActionCast",
"overlayHistogramNone", "overlayHistogramNone",
"castDialogTitle", "castDialogTitle",
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -1227,15 +1239,21 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsViewerShowHistogram" "settingsViewerShowHistogram"
], ],
"es": [ "es": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"eu": [ "eu": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -1370,6 +1388,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -1476,6 +1495,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -1902,6 +1922,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -2016,6 +2037,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -2235,6 +2257,8 @@
], ],
"fr": [ "fr": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -2457,6 +2481,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -2571,6 +2596,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -3136,6 +3162,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -3250,6 +3277,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -3795,6 +3823,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -3909,6 +3938,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -4128,20 +4158,28 @@
], ],
"hu": [ "hu": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"id": [ "id": [
"entryActionCast", "entryActionCast",
"castDialogTitle", "castDialogTitle",
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"is": [ "is": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"it": [ "it": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -4185,11 +4223,13 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"stateEmpty", "stateEmpty",
"placeEmpty", "placeEmpty",
"searchStatesSectionTitle", "searchStatesSectionTitle",
"settingsAskEverytime", "settingsAskEverytime",
"settingsModificationWarningDialogMessage", "settingsModificationWarningDialogMessage",
"setHomeCustomCollection",
"settingsConfirmationVaultDataLoss", "settingsConfirmationVaultDataLoss",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsCollectionBurstPatternsTile", "settingsCollectionBurstPatternsTile",
@ -4531,6 +4571,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -4645,6 +4686,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -4864,6 +4906,8 @@
], ],
"ko": [ "ko": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -4929,6 +4973,7 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"drawerPlacePage", "drawerPlacePage",
"statePageTitle", "statePageTitle",
"stateEmpty", "stateEmpty",
@ -4937,6 +4982,7 @@
"searchStatesSectionTitle", "searchStatesSectionTitle",
"settingsAskEverytime", "settingsAskEverytime",
"settingsModificationWarningDialogMessage", "settingsModificationWarningDialogMessage",
"setHomeCustomCollection",
"settingsConfirmationVaultDataLoss", "settingsConfirmationVaultDataLoss",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsCollectionBurstPatternsTile", "settingsCollectionBurstPatternsTile",
@ -5309,6 +5355,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -5423,6 +5470,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -5652,8 +5700,10 @@
"menuActionConfigureView", "menuActionConfigureView",
"castDialogTitle", "castDialogTitle",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"newFilterBanner", "newFilterBanner",
"settingsDefault", "settingsDefault",
"setHomeCustomCollection",
"settingsNavigationDrawerTile", "settingsNavigationDrawerTile",
"settingsNavigationDrawerEditorPageTitle", "settingsNavigationDrawerEditorPageTitle",
"settingsThumbnailSectionTitle", "settingsThumbnailSectionTitle",
@ -5771,6 +5821,8 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsCollectionBurstPatternsTile", "settingsCollectionBurstPatternsTile",
"settingsCollectionBurstPatternsNone", "settingsCollectionBurstPatternsNone",
@ -5833,6 +5885,7 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"drawerPlacePage", "drawerPlacePage",
"statePageTitle", "statePageTitle",
"stateEmpty", "stateEmpty",
@ -5841,6 +5894,7 @@
"searchStatesSectionTitle", "searchStatesSectionTitle",
"settingsAskEverytime", "settingsAskEverytime",
"settingsModificationWarningDialogMessage", "settingsModificationWarningDialogMessage",
"setHomeCustomCollection",
"settingsConfirmationVaultDataLoss", "settingsConfirmationVaultDataLoss",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsCollectionBurstPatternsTile", "settingsCollectionBurstPatternsTile",
@ -5892,7 +5946,9 @@
"aboutLicensesAndroidLibrariesSectionTitle", "aboutLicensesAndroidLibrariesSectionTitle",
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionSetHome",
"drawerCollectionAnimated", "drawerCollectionAnimated",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsViewerShowHistogram", "settingsViewerShowHistogram",
"settingsSlideshowAnimatedZoomEffect", "settingsSlideshowAnimatedZoomEffect",
@ -6210,6 +6266,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -6301,6 +6358,7 @@
"appExportCovers", "appExportCovers",
"appExportFavourites", "appExportFavourites",
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -6517,10 +6575,14 @@
], ],
"pl": [ "pl": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"pt": [ "pt": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -6552,7 +6614,9 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"settingsAskEverytime", "settingsAskEverytime",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsViewerShowHistogram", "settingsViewerShowHistogram",
"settingsVideoPlaybackTile", "settingsVideoPlaybackTile",
@ -6563,10 +6627,14 @@
], ],
"ru": [ "ru": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"sk": [ "sk": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -6917,6 +6985,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -7031,6 +7100,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -7320,6 +7390,7 @@
"collectionActionShowTitleSearch", "collectionActionShowTitleSearch",
"collectionActionHideTitleSearch", "collectionActionHideTitleSearch",
"collectionActionAddShortcut", "collectionActionAddShortcut",
"collectionActionSetHome",
"collectionActionEmptyBin", "collectionActionEmptyBin",
"collectionActionCopy", "collectionActionCopy",
"collectionActionMove", "collectionActionMove",
@ -7434,6 +7505,7 @@
"settingsNavigationSectionTitle", "settingsNavigationSectionTitle",
"settingsHomeTile", "settingsHomeTile",
"settingsHomeDialogTitle", "settingsHomeDialogTitle",
"setHomeCustomCollection",
"settingsShowBottomNavigationBar", "settingsShowBottomNavigationBar",
"settingsKeepScreenOnTile", "settingsKeepScreenOnTile",
"settingsKeepScreenOnDialogTitle", "settingsKeepScreenOnDialogTitle",
@ -7709,6 +7781,7 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"drawerPlacePage", "drawerPlacePage",
"statePageTitle", "statePageTitle",
"stateEmpty", "stateEmpty",
@ -7716,6 +7789,7 @@
"placeEmpty", "placeEmpty",
"searchStatesSectionTitle", "searchStatesSectionTitle",
"settingsAskEverytime", "settingsAskEverytime",
"setHomeCustomCollection",
"settingsConfirmationVaultDataLoss", "settingsConfirmationVaultDataLoss",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsCollectionBurstPatternsTile", "settingsCollectionBurstPatternsTile",
@ -7734,14 +7808,20 @@
], ],
"uk": [ "uk": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"vi": [ "vi": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
"zh": [ "zh": [
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon" "settingsThumbnailShowHdrIcon"
], ],
@ -7758,6 +7838,8 @@
"aboutDataUsageInternal", "aboutDataUsageInternal",
"aboutDataUsageExternal", "aboutDataUsageExternal",
"aboutDataUsageClearCache", "aboutDataUsageClearCache",
"collectionActionSetHome",
"setHomeCustomCollection",
"settingsThumbnailShowHdrIcon", "settingsThumbnailShowHdrIcon",
"settingsViewerShowHistogram" "settingsViewerShowHistogram"
] ]