#414 search: missing address filter
This commit is contained in:
parent
e30efc7ddf
commit
638ddd0a21
5 changed files with 56 additions and 0 deletions
|
@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file.
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Viewer: long press on rating quick action for quicker rating
|
- Viewer: long press on rating quick action for quicker rating
|
||||||
|
- Search: missing address filter
|
||||||
- Lithuanian translation (thanks Gediminas Murauskas)
|
- Lithuanian translation (thanks Gediminas Murauskas)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
@ -127,6 +127,7 @@
|
||||||
"filterBinLabel": "Recycle bin",
|
"filterBinLabel": "Recycle bin",
|
||||||
"filterFavouriteLabel": "Favorite",
|
"filterFavouriteLabel": "Favorite",
|
||||||
"filterNoDateLabel": "Undated",
|
"filterNoDateLabel": "Undated",
|
||||||
|
"filterNoAddressLabel": "No address",
|
||||||
"filterNoLocationLabel": "Unlocated",
|
"filterNoLocationLabel": "Unlocated",
|
||||||
"filterNoRatingLabel": "Unrated",
|
"filterNoRatingLabel": "Unrated",
|
||||||
"filterNoTagLabel": "Untagged",
|
"filterNoTagLabel": "Untagged",
|
||||||
|
|
|
@ -7,6 +7,7 @@ class MissingFilter extends CollectionFilter {
|
||||||
static const type = 'missing';
|
static const type = 'missing';
|
||||||
|
|
||||||
static const _date = 'date';
|
static const _date = 'date';
|
||||||
|
static const _fineAddress = 'fine_address';
|
||||||
static const _title = 'title';
|
static const _title = 'title';
|
||||||
|
|
||||||
final String metadataType;
|
final String metadataType;
|
||||||
|
@ -14,6 +15,7 @@ class MissingFilter extends CollectionFilter {
|
||||||
late final EntryFilter _test;
|
late final EntryFilter _test;
|
||||||
|
|
||||||
static final date = MissingFilter._private(_date);
|
static final date = MissingFilter._private(_date);
|
||||||
|
static final fineAddress = MissingFilter._private(_fineAddress);
|
||||||
static final title = MissingFilter._private(_title);
|
static final title = MissingFilter._private(_title);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -25,6 +27,10 @@ class MissingFilter extends CollectionFilter {
|
||||||
_test = (entry) => (entry.catalogMetadata?.dateMillis ?? 0) == 0;
|
_test = (entry) => (entry.catalogMetadata?.dateMillis ?? 0) == 0;
|
||||||
_icon = AIcons.dateUndated;
|
_icon = AIcons.dateUndated;
|
||||||
break;
|
break;
|
||||||
|
case _fineAddress:
|
||||||
|
_test = (entry) => entry.hasGps && !entry.hasFineAddress;
|
||||||
|
_icon = AIcons.locationUnlocated;
|
||||||
|
break;
|
||||||
case _title:
|
case _title:
|
||||||
_test = (entry) => (entry.catalogMetadata?.xmpTitle ?? '').isEmpty;
|
_test = (entry) => (entry.catalogMetadata?.xmpTitle ?? '').isEmpty;
|
||||||
_icon = AIcons.descriptionUntitled;
|
_icon = AIcons.descriptionUntitled;
|
||||||
|
@ -60,6 +66,8 @@ class MissingFilter extends CollectionFilter {
|
||||||
switch (metadataType) {
|
switch (metadataType) {
|
||||||
case _date:
|
case _date:
|
||||||
return context.l10n.filterNoDateLabel;
|
return context.l10n.filterNoDateLabel;
|
||||||
|
case _fineAddress:
|
||||||
|
return context.l10n.filterNoAddressLabel;
|
||||||
case _title:
|
case _title:
|
||||||
return context.l10n.filterNoTitleLabel;
|
return context.l10n.filterNoTitleLabel;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -227,6 +227,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate {
|
||||||
filters: [
|
filters: [
|
||||||
MissingFilter.date,
|
MissingFilter.date,
|
||||||
LocationFilter(LocationLevel.place, ''),
|
LocationFilter(LocationLevel.place, ''),
|
||||||
|
MissingFilter.fineAddress,
|
||||||
TagFilter(''),
|
TagFilter(''),
|
||||||
RatingFilter(0),
|
RatingFilter(0),
|
||||||
MissingFilter.title,
|
MissingFilter.title,
|
||||||
|
|
|
@ -89,6 +89,7 @@
|
||||||
"filterBinLabel",
|
"filterBinLabel",
|
||||||
"filterFavouriteLabel",
|
"filterFavouriteLabel",
|
||||||
"filterNoDateLabel",
|
"filterNoDateLabel",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"filterNoLocationLabel",
|
"filterNoLocationLabel",
|
||||||
"filterNoRatingLabel",
|
"filterNoRatingLabel",
|
||||||
"filterNoTagLabel",
|
"filterNoTagLabel",
|
||||||
|
@ -590,6 +591,7 @@
|
||||||
],
|
],
|
||||||
|
|
||||||
"de": [
|
"de": [
|
||||||
|
"filterNoAddressLabel",
|
||||||
"subtitlePositionTop",
|
"subtitlePositionTop",
|
||||||
"subtitlePositionBottom",
|
"subtitlePositionBottom",
|
||||||
"widgetDisplayedItemRandom",
|
"widgetDisplayedItemRandom",
|
||||||
|
@ -599,6 +601,14 @@
|
||||||
"settingsWidgetDisplayedItem"
|
"settingsWidgetDisplayedItem"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"el": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
|
"es": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
"fa": [
|
"fa": [
|
||||||
"appName",
|
"appName",
|
||||||
"welcomeMessage",
|
"welcomeMessage",
|
||||||
|
@ -689,6 +699,7 @@
|
||||||
"filterBinLabel",
|
"filterBinLabel",
|
||||||
"filterFavouriteLabel",
|
"filterFavouriteLabel",
|
||||||
"filterNoDateLabel",
|
"filterNoDateLabel",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"filterNoLocationLabel",
|
"filterNoLocationLabel",
|
||||||
"filterNoRatingLabel",
|
"filterNoRatingLabel",
|
||||||
"filterNoTagLabel",
|
"filterNoTagLabel",
|
||||||
|
@ -1189,8 +1200,13 @@
|
||||||
"filePickerUseThisFolder"
|
"filePickerUseThisFolder"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"fr": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
"gl": [
|
"gl": [
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"accessibilityAnimationsRemove",
|
"accessibilityAnimationsRemove",
|
||||||
"accessibilityAnimationsKeep",
|
"accessibilityAnimationsKeep",
|
||||||
"displayRefreshRatePreferHighest",
|
"displayRefreshRatePreferHighest",
|
||||||
|
@ -1648,6 +1664,7 @@
|
||||||
|
|
||||||
"id": [
|
"id": [
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"subtitlePositionTop",
|
"subtitlePositionTop",
|
||||||
"subtitlePositionBottom",
|
"subtitlePositionBottom",
|
||||||
"widgetDisplayedItemRandom",
|
"widgetDisplayedItemRandom",
|
||||||
|
@ -1657,9 +1674,14 @@
|
||||||
"settingsWidgetDisplayedItem"
|
"settingsWidgetDisplayedItem"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"it": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
"ja": [
|
"ja": [
|
||||||
"chipActionFilterIn",
|
"chipActionFilterIn",
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"subtitlePositionTop",
|
"subtitlePositionTop",
|
||||||
"subtitlePositionBottom",
|
"subtitlePositionBottom",
|
||||||
"widgetDisplayedItemRandom",
|
"widgetDisplayedItemRandom",
|
||||||
|
@ -1669,11 +1691,20 @@
|
||||||
"settingsWidgetDisplayedItem"
|
"settingsWidgetDisplayedItem"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"ko": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
|
"lt": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
"nb": [
|
"nb": [
|
||||||
"videoActionCaptureFrame",
|
"videoActionCaptureFrame",
|
||||||
"videoActionSelectStreams",
|
"videoActionSelectStreams",
|
||||||
"entryInfoActionEditLocation",
|
"entryInfoActionEditLocation",
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"coordinateFormatDms",
|
"coordinateFormatDms",
|
||||||
"mapStyleHuaweiNormal",
|
"mapStyleHuaweiNormal",
|
||||||
"mapStyleHuaweiTerrain",
|
"mapStyleHuaweiTerrain",
|
||||||
|
@ -1792,6 +1823,7 @@
|
||||||
|
|
||||||
"nl": [
|
"nl": [
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"subtitlePositionTop",
|
"subtitlePositionTop",
|
||||||
"subtitlePositionBottom",
|
"subtitlePositionBottom",
|
||||||
"widgetDisplayedItemRandom",
|
"widgetDisplayedItemRandom",
|
||||||
|
@ -1808,6 +1840,7 @@
|
||||||
"timeDays",
|
"timeDays",
|
||||||
"focalLength",
|
"focalLength",
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"filterTypeRawLabel",
|
"filterTypeRawLabel",
|
||||||
"filterTypeSphericalVideoLabel",
|
"filterTypeSphericalVideoLabel",
|
||||||
"filterTypeGeotiffLabel",
|
"filterTypeGeotiffLabel",
|
||||||
|
@ -2300,6 +2333,7 @@
|
||||||
|
|
||||||
"pt": [
|
"pt": [
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"subtitlePositionTop",
|
"subtitlePositionTop",
|
||||||
"subtitlePositionBottom",
|
"subtitlePositionBottom",
|
||||||
"widgetDisplayedItemRandom",
|
"widgetDisplayedItemRandom",
|
||||||
|
@ -2309,6 +2343,14 @@
|
||||||
"settingsWidgetDisplayedItem"
|
"settingsWidgetDisplayedItem"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"ro": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
|
"ru": [
|
||||||
|
"filterNoAddressLabel"
|
||||||
|
],
|
||||||
|
|
||||||
"th": [
|
"th": [
|
||||||
"itemCount",
|
"itemCount",
|
||||||
"timeSeconds",
|
"timeSeconds",
|
||||||
|
@ -2318,6 +2360,7 @@
|
||||||
"applyButtonLabel",
|
"applyButtonLabel",
|
||||||
"entryActionShowGeoTiffOnMap",
|
"entryActionShowGeoTiffOnMap",
|
||||||
"videoActionCaptureFrame",
|
"videoActionCaptureFrame",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"coordinateDms",
|
"coordinateDms",
|
||||||
"keepScreenOnViewerOnly",
|
"keepScreenOnViewerOnly",
|
||||||
"accessibilityAnimationsRemove",
|
"accessibilityAnimationsRemove",
|
||||||
|
@ -2681,6 +2724,7 @@
|
||||||
|
|
||||||
"tr": [
|
"tr": [
|
||||||
"entryInfoActionExportMetadata",
|
"entryInfoActionExportMetadata",
|
||||||
|
"filterNoAddressLabel",
|
||||||
"subtitlePositionTop",
|
"subtitlePositionTop",
|
||||||
"subtitlePositionBottom",
|
"subtitlePositionBottom",
|
||||||
"widgetDisplayedItemRandom",
|
"widgetDisplayedItemRandom",
|
||||||
|
@ -2691,6 +2735,7 @@
|
||||||
],
|
],
|
||||||
|
|
||||||
"zh": [
|
"zh": [
|
||||||
|
"filterNoAddressLabel",
|
||||||
"aboutLicensesFlutterPackagesSectionTitle",
|
"aboutLicensesFlutterPackagesSectionTitle",
|
||||||
"aboutLicensesDartPackagesSectionTitle"
|
"aboutLicensesDartPackagesSectionTitle"
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue